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

Aaron Konstam akonstam at sbcglobal.net
Thu Dec 17 14:39:43 UTC 2009


This has to be posted in Bugzilla Request for Improvement (RFI think) if
you want developers to know about the problem and accept your changes.
I know I top posted again but it seemed appropriate.

n Thu, 2009-12-17 at 11:55 +0900, haro at kgt.co.jp wrote: 
> 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.
>  /|\ |_|  |_|_|
> 
--
=======================================================================
Nobody ever forgets where he buried the hatchet. -- Kin Hubbard
=======================================================================
Aaron Konstam telephone: (210) 656-0355 e-mail: akonstam at sbcglobal.net




More information about the fedora-list mailing list