I thought some today about how to make d-i support installing nfsroot systems, as I set one up manually. While there are plenty of other tools (LTSP, lessdisks, etc) I think there's still a use case here for d-i. Sometimes you want to customise an NFS root setup for one system, or don't want to learn a lot of new stuff, and the easiest way would be to boot d-i on that system and install over NFS. There seem to be two peices: First, partman would need to support NFS mounts. This is probably not very hard, and seems straightforward enough. Secondly, we'd need some kind of nfsroot bootloader installer. This is the tricky part, but it's getting better. Two things would need to be done in base-installer: It's easy to create an initramfs for NFS booting, just edit initramfs.conf and set MODULES=netboot, BOOT=nfs. I found it was also useful to edit /etc/kernel-img.conf and set link_in_boot = yes. This way the /boot directory can be used as the tftp boot directory, with vmlinuz and initrd.img pointing to the most recent kernel. (IMHO link_in_boot = yes would be a nice default in general..) Other things the nfsroot bootloader installer would need to do include setting up a file in /boot/pxelinux.cfg/, either "default" or a file tuned to the NFS client's MAC address (better), and maybe installing syslinux so that pxelinux.0 is available. Finally, it would need to probably display a big nasty message to the user, since there are some things they'll have to set up on their server: - tftp server setup - next-server setup in the dhcp server - /etc/exports - copy or bind mount (symlink won't usually work) the newly installed system's /boot into /var/lib/tftpboot/. Note that the location it's put in needs to match what d-i writes to the pxelinux.cfg file. - Copy /var/lib/tftpboot/pxelinux.0 into place. - symlink or otherwise setup /var/lib/tftpboot/pxelinux.cfg/ It seems like it would suck to put all this detail on a debconf screen, especially since you can't even test it properly w/o rebooting. (Unless we wanted to put a tftp client in d-i. ;-) Best thing would probably be to give a simple url to a web page somewhere that explains the server-side setup in detail. -- see shy jo
Attachment:
signature.asc
Description: Digital signature