[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[Patch] Fix PXE booting for livecd-iso-to-pxeboot created images

Hello list,

This is my first post here, and if this mail is not correct for this list,
please redirect it where appropriate.

So here goes my problem and a fix....
I've been using /usr/bin/livecd-creator and /usr/bin/livecd-iso-to-pxeboot
to setup my PXE booting environment on Fedora10, with success.

Recently I moved to Fedora12, and PXE booting fails with following error:

  dracut: root was live:/LiveCD.iso. liveroot is now /LiveCD.iso
  dracut: FATAL: Don't know how to handle 'root=live:/LiveCD.iso'
  dracut: Refusing to continue

I've looked into the issue and found that "root=live:/LiveCD.iso" setting
is not correctly handled in /cmdline/30parse-dmsquash-live.sh for the
initrd0.img, or the /boot/initramfs- file.
Also udev handling changes in /init script does not seem to handle the
ISO image settings.

So, I hacked up a patch to fix the issue.
The patch adds new "liveiso:" directive for the root image, and adds
udev rule file accordingly.

Please review and let the fix get into the Fedora repo?

Thanks in advance,

diff -ruN initrd0.old/cmdline/30parse-dmsquash-live.sh initrd0/cmdline/30parse-dmsquash-live.sh
--- initrd0.old/cmdline/30parse-dmsquash-live.sh	2009-12-17 10:17:17.249609539 +0900
+++ initrd0/cmdline/30parse-dmsquash-live.sh	2009-12-17 10:17:19.605473872 +0900
@@ -29,6 +29,10 @@
         rootok=1 ;;
+    live:/*.[Ii][Ss][Oo]|/*.[Ii][Ss][Oo])
+	root="${root#live:}"
+	root="liveiso:${root}"
+        rootok=1 ;;
         rootok=1 ;;
diff -ruN initrd0.old/pre-udev/30dmsquash-liveiso-genrules.sh initrd0/pre-udev/30dmsquash-liveiso-genrules.sh
--- initrd0.old/pre-udev/30dmsquash-liveiso-genrules.sh	1970-01-01 09:00:00.000000000 +0900
+++ initrd0/pre-udev/30dmsquash-liveiso-genrules.sh	2009-12-17 10:17:19.612128090 +0900
@@ -0,0 +1,7 @@
+if [ "${root%%:*}" = "liveiso" ]; then
+    (
+     printf 'KERNEL=="loop0", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root `/sbin/losetup -f --show %s`"\n' \
+	  ${root#liveiso:}
+    ) >> /etc/udev/rules.d/99-liveiso-mount.rules
+    echo '[ -e /dev/root ]' > /initqueue-finished/dmsquash.sh

Thank you,
           _ _    Munehiro (haro) Matsuda
 -|- /_\  |_|_|   KGT Inc.
 /|\ |_|  |_|_|

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]