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

d-i nfsroot



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


Reply to: