I figured I should document this here, since it really does belong somewhere on the internet.
I’ve been using Soekris systems as my home route/firewall/misc Unix box for about 5 years now and I’m quite a fan. I’ve slowly been coming to the realisation that my trusty old net5501-70 is going to become more and more of a bottleneck for me, I decided to jump to the new shiny, a net6501-70
It seems there is a known issue with FreeBSD 9.0 amd64 and the net6501, the GENERIC kernel fails to boot since an optional driver is required. So the options seem to be either install FreeBSD 9.0 in 32 bit, or do something a little creative to install 64 bit mode. In the end, I did both.
Originally, I tried in vain to replace the GENERIC kernel on the memstick installer with a custom compiled kernel, which didn’t work out so well. Next I tried to build a custom memstick image on one of my other FreeBSD amd64 systems, using the make scripts provided within
/usr/src/release/. It seemed to be going well, but it was taking a number of days, which seemed way too long to build a 700MB iso image, so I gave up on that. I came very close to simply installing a freshly built world and custom kernel, but ran into issues I now know are FreeBSD boot loader stage issues (they’re just very poorly documented).
In the end, I installed FreeBSD 9.0 i386 on the net6501-70, and then using i366->amd64 migration steps, I did a side step over to amd64 (ignoring the parts about broken ports since I hadn’t installed anything from ports). I now have a freshly installed amd64 system I can continue to setup, it just took me a number of weeks to get here.
At least it wasn’t entirely wasted, I’ve learnt a lot more about FreeBSD boot stages and symptoms debugging problems. I’ve also learnt to use
gpart, which is so much more intuitive to use than