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

work needed for network booting Debian Live

On 4/27/06, Jason D. Clinton <me@jasonclinton.com> wrote:
> Greetings,
> 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
mention later).

> 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
> iso".

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.

More difficult.

> 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
> live@lists.debian-unofficial.org
> http://lists.debian-unofficial.org/cgi-bin/mailman/listinfo/live

Andrew Donnellan
Jabber - ajdlinux@jabber.org.au
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

Reply to: