Remote installs without FD/CD
ast at marabu.ch
Sat Jan 10 03:24:14 PST 2004
The "Discussion on the future of floppies in 5.x and 6.x" thread
prompts me to report how we have been upgrading FreeBSD remotely
since FreeBSD 3.x. First, we build:
. custom minimal kernels for each HW type in the field;
we store this kernel in /boot/maint/k.HW.gz
. custom MD image for each machine with networking and SSH;
we store this MD image in /boot/maint/fs.HW_m.gz
when we want to go into "maintenance mode", we simply tell the boot
load -t md_image /boot/maint/fs.HW_m
which brings up the machine in ramdisk yet networked, ready to be
upgraded. It is reassuring but not necessary to have console access,
since the above loader commands can be put into /boot/loader.rc in
anticipation of the maintenance boot.
The MD image employs a crunchgen which includes /bin/sh, SSHv1,
atacontrol, camcontrol, fdisk, disklabel, newfs, tunefs, and tar
among other utilities to partition/label/populate ESDI, SCSI, and
DOC2K "mass" storage. We prepare stripped down 32MB and 64MB "Styx
distributions" (FreeBSD plus selected ports minus lots of stuff)
as tarballs for the population.
Until now (4.x, i.e., -stable), we have been able to make single
bootfloppies containing the boot loader, k.HW.gz, and fs.HW_m.gz
for all our hardware types. We create 2 floppies for "GENERIC"
hardware (i.e., with fs.GENERIC_m.gz on the 2nd floppy). However,
we rarely use such floppies and hence will probably drop them
altogether as we go to 5.x. This will remove the space restriction
on the MD image, opening up many new possibilities.
As a spin off, we make a special ISO image which is a stock
miniinst.iso including the GENERIC Styx MD image and tarballs so
an "offline Styx install" can be done by booting from that CD and
choosing "Fixit from Live CD" in sysinstall.
If there is interest, I can furnish a src snapshot of our extensible
build system mentioned in
which is a step-by-step description on how we do remote upgrades.
More information about the freebsd-hackers