project
twenty fourteen

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 provice 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.

20.3.14


4826 again

Some days are just frustrating.

I’ve been working on those 4826s as and when. Today was another as and when.

I’d been having an argument with flashboot, only to discover today that the version I’ve been using was an old one. It had been updated a couple of weeks after I’d downloaded it in January. I grabbed the new version and, hey, the problems had gone. They were entirely of my own making anyway. All the same, that’ll teach me not to watch the distributions. Bah!

I built the new version, and loads onto the 4826 using PXEBOOT, and OpenBSD 5.4 runs. Yay! But I couldn’t get the network up. Problem number one was me being stupid: it took me two hours to remember to switch PF off. I didn’t seen PFLOG in the list of processes, so didn’t think to check PF itself. Idiot!

Problem number two, though, was odd. The 4826 would happily connect to my TFTP server using an appropriate DHCP address when booting, so it could to download the operating system using PXEBOOT. But when OpenBSD booted, it initialised the network using DHCP & got a weird address, outside my usual address space. My DHCP server didn’t see OpenBSD’s address request.

I’m using an old Sitecom switch between the 4826 and the DHCP server (actually a 4801) because neither can’t automagically switch on faux cross cable mode when their two network ports are directly connected. Then I remember, actually, it’s not a switch, it’s an old pwn ready router that I no longer dare connect to the outside world. The dratted thing has its own noddy DHCP server, that clearly wasn’t quite as deactivated as I’d thought. It ignored DHCP requests that had PXEBOOT ticked, but responded to standard ones. No wonder OpenBSD got a weird addresses. FFS.

Anyway, I have progressed today, a little. I got about two hours results for six hours playing, so only a little progression. All the same, I can boot into OpenBSD on the 4826, and I can connect into my home network. But I’ve not got OpenBSD installed on the 4826. That’s next.

16.3.14


status

Some of the code’s written, but there’s a long way to go. I got distracted with persistence, which still needs squashing. I will get distracted by protocol. But I know where I’m going, I can see the path, and the smoke rising over the horizon.

8.3.14


new

I’ve got a software project on the go. It’s going to be a lot of work. I’m still building the support environment. I’ve got the virtual infrastructure. I’ve got the build environments, including portable devices. Today I start to tie things together by installing cmake. It’s the first for trial because it includes automated testing. The one hiccup is it doesn't explicitly support Open BSD, but, given it does support Free BSD, that shouldn’t be a major problem.

5.1.14


renew

With the completion today of my MSDN renewal, and the renewal, at the end of last year, of my Apple Developer subscription, I’m now set up to develop for most major platforms.

The one problem is android. It demands java. I’ve no intention of developing in two languages. Once I’ve got something, I’ll look at cross–language plumbing. After all, I may have to do something similar for Objective–C++.

4.1.14


4826

I bought a couple of Soekris 4826 boxes later on last year. I noticed they were half price. I use Soekris boxes for my network infrastructure.

There’s a couple of services I want to run continuously. I want to run them independently of other infrastructure. I find OS X Server too brittle for essential services. I can’t run them under Windows because I run my Windows servers in virtual machines under OS X. I don’t want to run the services on my existing networking infrastructure: the firewall should only firewall, the DMZ should only do DMZ stuff, etc.. The discounted 4826s represented an opportunity.

The only problem is they’re not so easy to prepare. They can run Open BSD, which is essential to me. But they’re too small for standard Open BSD. I have to prepare a shrunken version. It’s been done before. I know what to do. But it takes time.

3.1.14


project

Welcome to the project blog. This is where I intend to note things I’m doing.

The c–nerd blog contains a number of entries which would have been put in this blog had it existed when they were written, including PKI and network.

1.1.14