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
commit1baefc75a6bfe252c9f5b0014a73574afa4fc177 (patch)
tree4751fd38df9346e80ddb75416256bb36e6debf2e
parenta2f6841ce3e007b32255d28a4421b5102f63ed6b (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
}