work needed for network booting Debian Live
On 4/27/06, Jason D. Clinton <email@example.com> wrote:
> As promised, though late, I am joining the project to add support for network
> booting to Debian Live. My company, Safedesk Solutions, employs myself and
> also Mike Angelo (who posted to this list previously) to make this happen.
> Presently we are distributing a modified version of Knoppix to our customers.
> This modified version uses exactly the same SquahsFS file "KNOPPIX/KNOPPIX"
> that is found on the Knoppix ISO but we are using a combination four things
> to make it network boot to clients:
Knoppix already has a similar feature built in. Go to Menu -> KNOPPIX
-> Services -> KNOPPIX Terminal Server (I think). Although I can see
you're probably trying to serve a flat directory structure.
> * DHCP config file modifications
> * TFTP to serve out pxelinux, the knoppix kernel, and the initrd
> * A Samba server w/ CIFS extentions to serve the root filesystem
> * An initrd with mount.cifs added and a custom linuxrc which causes it to
> mount the filesystem from the server (getting the IP from a boot param.)
> However, there are a few headaches with Knoppix:
> * The init/boot process is so dissimilar from that of any other distro that
> it is difficult to work with (take 45xsession for example)
Yes, I've had to remaster Knoppix too :(
> * Making changes to the SquashFS filesystem requires an inordinate amount of
> time (this is what you would do to make changes to the root filesystem)
So because it's netbooting, you can serve off a directory (as you
> From my perspective, Debian Live can solve these problems for us (or anyone
> else who wishes to try).
> Here is what needs to be done so that a "make-live net" option can exist:
> 1. A mechanism to change the values in $CHROOT/etc/mkinitramfs/initramfs.conf
> of MODULES= to "netboot" and BOOT= to "net".
Easy. Could be done with the GNU coreutils or relatively easily with a
line of Perl (BTW I hate Perl.)
> 2. A new script in $CHROOT/usr/share/initramfs-tools/scripts/ that is very
> similar to "casper" but instead of searching for a cdrom to mount, it
> attempts to mount the root file system to from the server.
Probably involves only changing a few lines. I don't know how hard it
will be because I haven't really looked at casper closely yet.
> 3. A new script that, when using 'make-live net', is used instead of
> of iso.sh in /usr/share/make-live/scripts/. In a network environment, there is
> no compelling need for a SquashFS image of the root filesystem; a flat
> directory structure will do. This new script will neither create a SquashFS
> NOR an ISO. Instead, it will generate "recommended" changes to the server's
> dhcpd.conf and also create/copy the files that need to go in /tftpboot/
> including a copy of the pxelinux loader and a recommended boot config file
> called pxelinux.cfg/default. pxelinux.cfg/default will contain a
> boot=casper-net instead of the boot=casper used in the existing "make-live
Would make-live net also generate a booting ISO? (i.e. an ISO to burn
so that computers without net boot can boot)
> 4. And finally, a slightly more difficult part, a hack to the existing
> initramfs-tools to make it include mount.cifs and the cifs kernel module. We
> use cifs+Unix extentions because, after years of having problems with NFS's
> fragmented packet reassembly protocol and certain switch vendors (Cisco and
> 3COM), we have found that Samba+CIFS+Unix extentions outperforms, is more
> reliable, and has all the required features needed for a root filesystem.
> As you can see the changes needed are very small and shouldn't adversely
> affect any work going on on the ISO aspect.
> Not having the rootfs stored in a SquashFS file has the added benefit of
> allowing the system administrator on the server the ability to chroot in to
> the client's root FS and install and configure packages as they desire.
> What are your thoughts? What do we need to do to get these changes
> incorporated in to debian-live?
> live mailing list
Jabber - firstname.lastname@example.org
Member of Linux Australia - http://linux.org.au
Debian user - http://debian.org
Get free rewards - http://ezyrewards.com/?id=23484
OpenNIC user - http://www.opennic.unrated.net