[Fedora-livecd-list] Boot over NFS/PXE

Francesco Frassinelli fraph24 at gmail.com
Tue Nov 22 12:03:09 UTC 2011


2011/11/21 Phil Meyer <pmeyer at themeyerfarm.com>

> On 11/20/2011 05:21 PM, Francesco Frassinelli wrote:
> > Hi all,
> > I need to boot a livecd on some hard disk less clients. I tried to use
> > livecd-iso-to-pxe, but in my case it unacceptable to load the whole
> > iso into initrd (the iso is not small).
> > I made a custom livecd adding dracut-network package, I mounted
> > squashfs/root image, exported with nfs, and I've tried to boot the
> > clients with root=nfs:192.168.1.50:/home/frafra/root/ selinux=0, but
> > Fedora gives me many errors because it can't write on it.
> > I found this old thread
> > http://comments.gmane.org/gmane.linux.redhat.fedora.livecd/4261 but it
> > doesn't work for me.
> > Is there a way to get a livecd behaviour with this nfs directory? Or
> > can I combine the isolinux.cfg livecd options with
> > root=nfs:192.168.1.50:/home/frafra/ (where it could found the iso or
> > the mounted iso)?
> > I'm using dnsmasq with its internal tftp server, which gives vmlinuz0
> > and initrd0.img (copied from livecd), pxelinux.0 and a configuration
> > file with the above root=nfs:[...] selinux=0 options.
>
> The real issue is not the size of the iso, but using tftp protocol to
> load it.
>
> TFTP needs to ack each segment before the next is sent, thus severely
> throttling throughput.
>
> On a 100BT interface, tfpt maxes out at about 2MB/sec.
> On a 1000BT interface, tftp maxes out at about 15MB/sec
>
>
> I would propose using a different method for identifying the initrd to
> dracut during the PXE boot process.
>
> Current:
>     KERNEL /images/centos_server_kvm/vmlinuz0
>     APPEND rootflags=loop initrd=/images/centos_server_kvm/initrd0.img
> root=live:/centos_server_kvm.iso rootfstype=auto ro liveimg quiet  rhgb
> rd.luks=0 rd.md=0 rd.dm=0
>
> Proposed:
>     KERNEL /images/centos_server_kvm/vmlinuz0
>    APPEND rootflags=loop
> initrd=http://mymirror.mycompany.com/images/centos_server_kvm/initrd0.imgroot=live:/centos_server_kvm.iso
> rootfstype=auto ro liveimg quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0
>
> That would literally shave minutes off of boot times by increasing
> throughput of the large image by a factor of 10 or more.
>
> This is somewhat of a paradox issue, because many of the network and
> protocol drivers are within the initrd images.  Surely there must be a
> way ...
>

I agree with you but keep in mind that loading initrd is a slow process
because it could be big, and it could be big if you load into it the whole
iso. As Alan said before, you could transfer the iso into ram using http(s)
or ftp, so initrd loading is a minor issue.

In my opinion is that if you have a big iso and many clients, it has no
sense to load the whole image, so I would like to adopt a solution where
everything could be fetched only when you need it.

I thought about a possible workaround for this issue: does exist a way to
use a nfsroot as liveimage?
Livecd process mounts iso rootsfs and then writes on ram, so, it could be
easy to get this behaviour with an another root filesystem, right?


Francesco Frassinelli
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.fedoraproject.org/pipermail/livecd/attachments/20111122/ce0beb77/attachment.html 


More information about the livecd mailing list