Upgrading from FreeBSD 4.10 to 8.1?

grarpamp grarpamp at gmail.com
Thu Jan 6 21:21:57 UTC 2011

I know I'll take heat from everyone else who responded saying to
effectively ship a new box. But maybe this user has significant
costs involved with that. Along with any other reasons...

v4 to v8 can be done. I've done it entirely live over the net.
Nothing crazy about it.

The basic idea is that there are too many changes and tools involved
to fart around with build/install world, mergemaster, CD's, sysinstall,
etc. And they're just not aware of such a jump. And you can't trust
the idiots on the other end to get it right even if they would work.
You are the SA, free your mind. To the initiate, it would be
harrowing. To the seasoned SA, it's logical cake.

So backup your entire 4.x box over the wire, there will be no return.

Go find a box and install v8 however you want it. If you fail, this
one goes to the shipper asap. You can use a vm but that will take
longer to ship. You are very wise to also install a v4 box and
overlay your backup on it first for testing the entire process. If
you failed to heed SA wisdom about separating / /usr /usr/local
/var /home /boot, free space, etc on the original v4 box, your life
will be much harder. But if you have a ton of unpartitioned free
space on it, you can fix that one at a time too ;)

Be very aware of boot sectors, loaders, partitions, slices, fstab,
sizes, /dev, ifconfig, packet filters, kernel config, etc. That
kills most people. Also, since all your apps will be pristine v8
vers, you need to sort out their use of the old data and config.

If you have space, rsync -Haxi upload your v8 mountpoints to separate
staging dirs on the v4 box. It helps narrow your power fail window :)

Get on the v4 box. If you've got console, re boot -s. If not, take
it down till only init, sh and sshd remain. If you have space, rsync
your current v4 mountpoints to some backup dirs.

You're going to need static versions of rsync, openssh, sh, su, and
any other tools. You'll need to kill and run the static sshd... re:
fstat, umount, libs, etc. If you want, truncate /etc/rc to load
only static sshd from /root. This gives you some chance at recovery.
Again, do a local trial run to figure out what, where and when you
want or need all the tricks and in what order.

Mount everything read-write and rsync -Haxi --delete from your v8
staging dirs (whether local or remote) over top of the live but now
library freed v4 mountpoints.

Reboot ;)

Don't forget to lay down new boot sectors etc as and when needed
during or after the above.

It works, don't complain to me or this list if you break it :)

More information about the freebsd-questions mailing list