diff options
author | Aaron Griffin <aaron@archlinux.org> | 2006-09-28 04:36:34 +0000 |
---|---|---|
committer | Aaron Griffin <aaron@archlinux.org> | 2006-09-28 04:36:34 +0000 |
commit | 2b5cd0819fdf0d3f408f3e9d72060b90f4320c38 (patch) | |
tree | f1372a7675d1379185c83192cfcee22b03ed4799 /archlive_hook | |
parent | c464db595165a847e5fc81a57133f68a9c2e0ef8 (diff) |
Broke out boot-device locator for usb and cd booting seperatly.
git-svn-id: http://phraktured.net/archiso@14 00a9fe69-e71b-0410-bb23-df0e5024db41
Diffstat (limited to 'archlive_hook')
-rw-r--r-- | archlive_hook | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/archlive_hook b/archlive_hook deleted file mode 100644 index 0b3ea1b..0000000 --- a/archlive_hook +++ /dev/null @@ -1,68 +0,0 @@ -# vim: set ft=sh: -run_hook () -{ - if [ "x${ramdisk_size}" = "x" ]; then - ramdisk_size="75%" - fi - msg -n ":: Mounting tmpfs, size=${ramdisk_size}..." - mount -t tmpfs -o "size=${ramdisk_size}" tmpfs /tmpfs - mkdir /tmpfs/bootcd - msg "done." - - squashfound=0 - #TODO check for usb devices as well... - msg -n ":: Scanning for boot cdrom device..." - squashimg="/tmpfs/bootcd/archlive.sqfs" - - /bin/modprobe -q isofs >/dev/null 2>&1 - for cdrom in /dev/cd/*; do - if mount -r -t iso9660 "${cdrom}" /tmpfs/bootcd >/dev/null 2>&1; then - if [ -e "${squashimg}" ]; then - squashfound=1 - msg "${cdrom}" - break - fi - else - echo "Failed to mount ${cdrom}" - fi - [ ${squashfound} -eq 0 ] && umount /tmpfs/bootcd >/dev/null 2>&1 - done - - if [ ${squashfound} -eq 0 ]; then - echo "ERROR: cannot find booted cdrom device, cannot continue..." - exit 1 - fi - - if [ "${copytoram}" = "y" ]; then - /bin/cat /tmpfs/bootcd/archlive.sqfs > /tmpfs/archlive.sqfs - squashimg="/tmpfs/archlive.sqfs" - fi - - msg ":: Mounting squashfs image" - /bin/modprobe -q squashfs >/dev/null 2>&1 - /bin/mkdir -p /tmpfs/squashfs_root - if ! /bin/losetup /dev/loop0 "${squashimg}" >/dev/null 2>&1; then - echo "ERROR: Cannot mount loop device /dev/loop0...aborting" - exit 1 - fi - - /bin/mount -r -t squashfs /dev/loop0 /tmpfs/squashfs_root - - msg ":: Mounting root (union) filesystem" - /bin/modprobe -q unionfs >/dev/null 2>&1 - /bin/mount -t unionfs -o dirs=/tmpfs=rw:/tmpfs/squashfs_root=ro none /real_root - - if [ -d /proc/sys/dev/cdrom ]; then - echo 0 > /proc/sys/dev/cdrom/lock - echo 1 > /proc/sys/dev/cdrom/autoeject - 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. - msg ":: Passing control to Archlinux Initscripts...Please Wait" - /bin/umount /sys - /bin/umount /proc - /bin/umount /dev - exec /bin/run-init -c /dev/console /real_root /sbin/init ${CMDLINE} -} |