Crochet-BSD is a github project which supports building FreeBSD disk images for various platforms such a RaspberryPi, BeagleBoard and others. I had a Soekris 4501 laying around, so I decided to extend Crochet to build images for it.
So, firstly, I needed a kernel. Building the kernel config for Soekris is explained pretty well here. Essentially:
- Add support for AMD Geode
- Remove everything that isn't needed, for example SCSI support
- Add in various useful network goodies, such as pf and ALTQ.
The resulting kernel configuration is here.
The basic configuration for a new Crochet board is very well explained here. I simply copied that and made modifications as necessary. My Github fork of Crochet is here. The end result is a handful of changes which ended up merged into Crochet-BSD.
It turns out that building the kernel for Soekris is quite easy. There are, however, some gotchas in building a working image: