Is there a way to install DragonFly via network (w/o CD) ?
Adrian Bocaniciu
a.bocaniciu at computer.org
Wed Oct 13 03:57:36 PDT 2004
Hi,
Even if there is some progress in usability for personal workstations,
the main application for *BSD operating systems remains as operating
systems for servers.
For many servers, it is very important to be able to install the
operating system on a computer without CD drives or floppy drives.
With FreeBSD, that is very simple, you just set up a TFTP server in
whose chroot directory you put four files:
1. pxeboot, unfortunately you must have an already working FreeBSD to
recompile it with TFTP support as the one included in the release works
with NFS, which does not make sense since pxeboot itself can be loaded
only via TFTP so even in the (rare) cases when a NFS server already
exists and is available for such use, it does not save you anything, so
why bother with it :-(
2. an appropriate boot/loader.rc that will load kernel and mfsroot
3. any generic or custom kernel that will run on the target system
4. the mfsroot file taken from the release you want to install, where it
can be found both in /boot and in /floppies/mfsroot.flp (also in
/floppies/boot.flp)
After configuring the TFTP server and a DHCP server, you can boot the
target computer via Ethernet and then you are able to install the
desired FreeBSD release by running manually or automatically, from a
script, the programs contained in mfsroot.
In the existing DragonFly snapshots, at least in 20040913, I have not
seen any equivalent of the FreeBSD mfsroot, so I presume that someone
who wants to do a network installation must build a mfs image file by
reading the instructions for the manual installation and copying all the
files listed there as required (boot0cfg, fdisk, disklabel, newfs, dd,
mount etc.) together with a shell in which to boot and ftp and tar in
order to substitute the copying from CD with copying of archives from an
FTP server and extracting them on the target computer.
This is quite tedious, moreover, the required executables are
dynamically linked in the DragonFly snapshot, so I must also identify
and copy all the needed libraries and if I do this on a non-BSD computer
I cannot just run ldd on them but I must look in the binary files with a
hex editor or else do many cycles of trial and error. I could certainly
do that, but someone with less experience in *BSD, who would just want
to try DragonFly to see how it compares with other alternatives, might
not be able to do it. Also, the resulting mfs image file might be quite
large compared to the internal memory available in the target system,
unlike the 4.5 MB (uncompressed) of the FreeBSD installation mfsroot.
There is also the problem of pxeboot, the DragonFly snapshot has a
pxeboot, but it probably uses the same uninspired default NFS protocol
inherited from FreeBSD. I believe that, in order to be more useful for
those that do not have an already working DragonFly system and thus are
unable to recompile pxeboot, a release should include either both a
pxeboot.nfs and a pxeboot.tftp or just the TFTP pxeboot, which, unlike
the NFS pxeboot, does not impose any additional resource requirement
(like a NFS server) on the installer.
Can a FreeBSD pxeboot (e.g. a TFTP one) replace the DragonFly pxeboot,
i.e. can it boot the DragonFly kernel with a mfs root file system and
transmit parameters like vfs.root.mountfrom to the kernel or the
loader-kernel interface has already diverged in DragonFly ?
Are there any plans to prepare something equivalent with the FreeBSD
installation mfsroot for a network installation in future releases ?
I understand that there is a plan to do a headless installer using
bootable USB media. That is very good and useful, but there is also a
need to be able to do Ethernet-only installations for servers that have
difficult access, as FreeBSD can do, so this should be taken into
consideration for future releases.
Best regards !
More information about the Users
mailing list