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

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

 



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-2.6.31.6-162.fc12.i686.img 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,
  Haro

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 @@
 	root="${root#live:}"
 	root="live:/dev/disk/by-uuid/${root#UUID=}"
         rootok=1 ;;
+    live:/*.[Ii][Ss][Oo]|/*.[Ii][Ss][Oo])
+	root="${root#live:}"
+	root="liveiso:${root}"
+        rootok=1 ;;
     /dev/*)
 	root="live:${root}"
         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
+fi


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

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux