Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2010-02-04 18:48:55 -0300
committerAaron Griffin <aaronmgriffin@gmail.com>2010-02-06 19:27:16 -0600
commitb3e53643c5b738f44c861a11458199be628c546c (patch)
tree217ed5cf65d5293cde27a8d9aafdd4a20f114025
parent206c3b114ea4e350c20acc5a176e76b4eaddfbe2 (diff)
Update archiso hooks to work with next mkinitcpio 0.6
Some basic changes to make archiso hooks work with the next mkinitcpio 0.6 Tested under KVM, a ""2010.02"" and works fine with it. NOTE: current mkinitcpio-0.5.99.2-2 does not include "losetup", maybe will be included in next version, see #[1]. For now must be added manually. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rw-r--r--archiso/hooks/archiso22
-rw-r--r--archiso/hooks/archiso-early2
2 files changed, 13 insertions, 11 deletions
diff --git a/archiso/hooks/archiso b/archiso/hooks/archiso
index bed8f7a..5b102d7 100644
--- a/archiso/hooks/archiso
+++ b/archiso/hooks/archiso
@@ -9,7 +9,7 @@ _mnt_bind()
# args: /path/to/image_file
_mnt_squashfs()
{
- /bin/modprobe -q loop >/dev/null 2>&1
+ /sbin/modprobe -q loop >/dev/null 2>&1
img="${1}"
base_img="${img##*/}";
@@ -27,7 +27,7 @@ _mnt_squashfs()
while [ ! -e "/dev/loop${LOOP_NUM}" ]; do
sleep 1
done
- if ! /bin/losetup "/dev/loop${LOOP_NUM}" ${img}; then
+ if ! /sbin/losetup "/dev/loop${LOOP_NUM}" ${img}; then
echo "ERROR: Cannot mount loop device /dev/loop${LOOP_NUM}"
break
fi
@@ -70,7 +70,7 @@ run_hook ()
PS1="ramfs$ " /bin/sh -i
done
- eval $(fstype < /dev/archiso 2>/dev/null)
+ FSTYPE=$(blkid -o value -s TYPE /dev/archiso 2>/dev/null)
if [ -n "${FSTYPE}" ]; then
if [ "${FSTYPE}" = "unknown" ]; then
# First try mounting then with vfat, maybe someone put the image on
@@ -98,8 +98,8 @@ run_hook ()
echo "ERROR: /dev/archiso found, but the filesystem type is unknown."
fi
- /bin/modprobe -q squashfs >/dev/null 2>&1
- /bin/modprobe -q aufs >/dev/null 2>&1
+ /sbin/modprobe -q squashfs >/dev/null 2>&1
+ /sbin/modprobe -q aufs >/dev/null 2>&1
msg ":: Mounting root (aufs) filesystem"
/bin/mount -t aufs -o dirs=/tmpfs=rw none /real_root
@@ -137,17 +137,19 @@ run_hook ()
if [ "${break}" = "y" ]; then
echo ":: Break requested, type 'exit' to resume operation"
- echo " NOTE: klibc contains no 'ls' binary, use 'echo *' instead"
PS1="ramfs$ " /bin/sh -i
fi
- udevpid=$(/bin/minips -C udevd -o pid=)
- [ "x${udevpid}" != "x" ] && /bin/kill -9 $udevpid 2>&1 >/dev/null
- #Yep, we're bailing out here. We don't need kinit.
+ #Special handling if udev is running
+ udevpid=$(/bin/pidof udevd)
+ if [ -n "${udevpid}" ]; then
+ /bin/kill -9 ${udevpid} > /dev/null 2>&1
+ /bin/sleep 0.01
+ fi
msg ":: Passing control to Arch Linux Initscripts...Please Wait"
/bin/umount /sys
/bin/umount /proc
- exec /bin/run-init -c /dev/console /real_root /sbin/init ${CMDLINE}
+ exec /sbin/switch_root -c /dev/console /real_root /sbin/init ${CMDLINE}
}
# vim:ft=sh:ts=4:sw=4:et:
diff --git a/archiso/hooks/archiso-early b/archiso/hooks/archiso-early
index d57b73b..edd554b 100644
--- a/archiso/hooks/archiso-early
+++ b/archiso/hooks/archiso-early
@@ -2,7 +2,7 @@
run_hook ()
{
if [ -n "${archisolabel}" ]; then
- echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", IMPORT{program}=\"vol_id --export \$tempnode\"" > /lib/udev/rules.d/00-archiso-device.rules
+ echo "ACTION==\"add|change\", SUBSYSTEM==\"block\", IMPORT{program}=\"/sbin/blkid -o udev \$tempnode\"" > /lib/udev/rules.d/00-archiso-device.rules
echo "ENV{ID_FS_LABEL_ENC}==\"${archisolabel}\", SYMLINK+=\"archiso\"" >> /lib/udev/rules.d/00-archiso-device.rules
fi
}