summaryrefslogtreecommitdiff
path: root/archiso/hooks
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 /archiso/hooks
parenta2f6841ce3e007b32255d28a4421b5102f63ed6b (diff)
downloadarchiso32-1baefc75a6bfe252c9f5b0014a73574afa4fc177.tar.xz
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>
Diffstat (limited to 'archiso/hooks')
-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
}