c nerd blog — 4826-3

Yay! I’ve successfully installed an OpenBSD 5.4 variant onto the Soekris 4826s.

I’ve still got a lot of configuring to do, but at least I now know they’ll provide services on my network! Yay!

I needed another system up to provide a DHCP server that supports tftp and PXEBOOT. It also needs a simple network link to the target 4826. This doesn’t have to be OpenBSD, but I had a suitable 4801 available, so used that. The OpenBSD instructions to set this up are good, like all their documentation.

I needed another box with a serial port to communicate with the 4826 during the early configuration. For that, I used a serial to USB cable, and a Windows 7 box running PuTTY.

I made sure I understood the 4826 console, and in particular how to change the boot drives. It’s simple: very simple! Too sodding simple, actually; it does not forgive typos. Oh well.

I used flashboot to prepare the new systems’ build environment. This is the core of the preparation, and will build the 4826s’ operating systems. Reading the documentation was essential. Amongst other things, it wants to rebuild the OpenBSD distribution, and that 4801 I mentioned above isn’t the world’s fastest compilation environment, so I set up a separate virtual OpenBSD system.

I created a SOEKRIS4826 file from flashboot’s SOEKRIS4801 file, commenting out most of the USB stuff, for example (the 4826 does not have a USB port). You can get rid of a lot of the options, although be careful, some unexpectedly break the kernel compilation. I used this to build flashboot’s bsd.gz.

To prepare a 4826 to process my nice new bsd.gz, I booted it using PXEBOOT into the standard OpenBSD 5.4 distribution bsd.rd. I went through the install process to make sure the flash disk was formatted. Quite obviously, I couldn’t install OpenBSD using this process, it requires more disk and memory than the 4826 has available. I found I had to tell it to install bsd and etc54.tgz. Once that’s done, I made the flash disk bootable, as per the flashboot instructions. I’m not sure why it’s necessary to install etc54.tgz; the files it installs can be thrown away, but if you don’t do so, the flash disk won’t boot.

Once that’s done, I used scp to punt bsd.gz onto the flash disk (having turned off PF and remounted the flash drive as writable). I found I had to use the flashboot bsd.gz and use gunzip to uncompress it; for some reason the flashboot bsd doesn’t work.

After a few boots to confirm that works, I then refined my configuration on the flashboot build machine to install some additional services, and get rid of quite a lot of stuff I didn’t want to run. That process continues. However, now the machines are up and running, I can reconfigure them by logging in to them using OpenSSH in the usual way.

If I were installing a large quantity of 4826s, I’d refine this installation process, particularly to understand & get rid of the weird behaviour. But I’m only installing a couple, so don’t have any need to do so.

These two wee boxes are going to be my LDAP servers, and anything else that doesn’t need many resources but is necessary (for example, NTP). I’ve simply got fed up with the brittle fragility of OS X. I seem to spend hours sorting out some OS X faff to get LDAP to work again, or to start talking to ActiveX again, etc., etc., etc.. By using OpenBSD LDAP, I hope, indeed expect, that I can set that up and leave it running and it won’t fart all over the rest of my network whenever it feels like a sulk.