Upgrading FreeBSD 5.4 to 6.0

The upgrade treadmill continues... FreeBSD 6.0 was announced as available in early November, 2005 and, as reports on stability and performance were good, I decided to upgrade both FreeBSD 5.4 boxes over the Christmas period.

This was the first time I'd upgraded over a major release via cvsup. Previously I'd performed fresh binary installs to move from FreeBSD 4.x to 5.x. The standard cvsup method was used, making sure that the tag setting of *default release=cvs in /usr/local/etc/cvsup/src-supfile was set to tag=RELENG_6_0.

The build and install process went as expected. If you have specified any NOXXX flags in your /etc/make.conf file (e.g. NOINET6), change them to NO_XXX before you run buildworld or buildkernel otherwise the processes will complain about deprecated flags. However, even if the old-style flags still exist, the build process runs OK. The mergemaster step is rather painful, as there are so many new/modified files which have to be accepted.

The other slightly painful, or rather, time-consuming, piece, is that all the ports need to be re-compiled to ensure that they are linked against the new FreeBSD 6.0 libraries. This can be achieved with portupgrade -fa, but on my slow boxes that takes a long time, even with the small number of ports I have.