Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Jan 2004 12:21:29 +0100
From:      Adrian Steinmann <ast@marabu.ch>
To:        freebsd-hackers@freebsd.org
Subject:   Remote installs without FD/CD
Message-ID:  <200401101121.MAA16839@marabu.marabu.ch>

next in thread | raw e-mail | index | archive | help
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
loader to:

    unload
    load /boot/maint/k.HW
    load -t md_image /boot/maint/fs.HW_m
    set vfs.root.mountfrom=ufs:/dev/md0c
    autoboot 10

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

    http://www.styx.ch/workshop.html

which is a step-by-step description on how we do remote upgrades.

Adrian



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401101121.MAA16839>