remote binary upgrade from 4.10 to 6.2
erik at cederstrand.dk
Fri Nov 2 02:01:30 PDT 2007
David Yeske wrote:
> I have a lot of appliances in the field running FreeBSD. These
> machines do not have a working compiler. They need to be upgraded
> from FreeBSD 4.10 to FreeBSD 6.2. Has anyone gone through this
> successfully? Does anyone have pointers on a clean way to do this?
> Due to the lack of console support for most of these machines, booting
> from the 6.2 cd will not work. This has to be a remote binary
> upgrade. I need to have FreeBSD 4.10 install FreeBSD 6.2, although
> this could be done in stages with multiple reboots. I want to avoid
> upgrading from FreeBSD 4.10 to 5.5 to 6.2. It appears that FreeBSD
> 6.2 runs just fine on UFS1.
First, I should mention that I have not done something like this before.
However, I think it would help if you could be a little more specific.
What are the specs of the machine (CPU, RAM, disk)? How remote are they
(i.e. "next building" or "Greenland")? How many appliances need
upgrading? Do you control the network they're attached to?
A couple of ideas:
1) As you say, the official advice is 4.10 -> 5.5 -> 6.2. You could
cross-compile the 5.5 world + kernel on a build machine and
installworld/kernel on the appliance. Reboot, and repeat for 6.2. This
assumes you have the disk space for the new world/kernel, or that you
can at least NFS mount a remote /usr/obj.
2) If you have the disk space, you can create another partition, place a
complete 6.2 distribution there (compiled on a build machine) and change
the boot loader to boot the new partition.
3) If you are able to PXE boot the machine, you could do a network
install of the appliance.
4) If you control the network, you could build a kernel with NFS_ROOT
support so you're independent on the local disk. Wipe the disk and
install a new distribution there.
5) Finally, if you have the RAM, you could build a kernel with MFS_ROOT
support, place a memdisk image on the local disk and proceed as 4)
More information about the freebsd-questions