Upgrading a FreeBSD server should be less painful than putting a graphics card in a Windows server, unless there is a huge technical debt involved of course…
At home I’ve been upgrading my three year old FreeBSD file server. I bought 3 new 500 gigabyte hard disk drives for a new graid3 setup, but I forgot to buy a new SATA300 controller. Fortunately a friend found out where they still sell Promise SATA 300 TX4 PCI cards so I ordered one.
In the meantime I had some FreeBSD upgrading to do; the server was embarassingly still running FreeBSD 6.2! That old version does not have freebsd-update and it does not have portsnap. I have not saved a complete log of my upgrade adventures and frustrations, but here are some highlights. Lets call it “paying technical debt”…
- My ports tree was pretty broken so I moved /usr/local to /usr/local.old and /var/lib/pkg to /var/lib/pkg.old to get a fresh install. I also saved a pkg_info output for reference.
- Upgraded from 6.2 to 6.3 (It seemed better than going to 7.0 from 6.2)
- Upgraded from 6.3 to 7.0 (I was too much a coward to go for 7.1-RC1)
- Not getting the 7.0 kernel to boot properly (atapci0: unable to map interrupt … panic: Root mount failed, startup aborted) until I found that APIC was disabled in BIOS (wtf?) and enabled it.
- Hoped to install all ports from binary packages (pkg_add -r) but then I didn’t get mod_sav_svn
- Not getting pthread:ed ports to compile properly until i added a missing a symlink
- Also forgot that I needed more SATA power cables, but fortunately I was able to buy the right cables in Karlskrona
- Creating the graid3 was so quick and simple that I was afraid I forgot something: graid3 label storage2 ad8 ad10 ad14; newfs /dev/raid3/storage2
Thanks a lot to Jonas and Per for their helpful advice!