Well, I’ve bit the bullet. I’ve decided that I have a couple of projects that could benefit from my own ability to produce a customized version of Unix that can boot from a CD (or alternatively, a flash memory device), so I’ve embarked upon trying to follow the path of others who have gone before and produce one.
I’ve thought about using Linux and following in the fine tradition of DSL or Knoppix, but I really am more comfortable with FreeBSD, so I thought I would give it a go. I went into /usr/ports/sysutils/freesbie
and installed the scripts there, and then tried to figure out what they were all about. They put a bunch of files in /usr/local/share/freesbie
including a directory called miniBSD
. Ahah! I’ve seen mention of this project before, where someone produced a small version of BSD ready to run on some small Soekris boxes. I thought I might start there.
Well, there are a few problems. The kernel config file that it uses (MINIBSD.5
) isn’t really set up for booting from CD, so if you use their scripts to build an ISO and burn it on a CD, it really won’t work. I know, because I made four coasters playing with it last night before I stumbled upon the idea of using a system emulator. I compiled the one I knew about, bochs
, but it died while running the emulated boot loader in a way that my real system wasn’t. Now I’ve got qemu
compiled and running, and it gets through the boot all the way to running init
, which it thinks dies with a signal 6. That’s just what the real CD does currently, so I’m happy I won’t need to make so many coasters to debug this thing.
After that, I had to go to bed.
I’ll keep you posted when I get it to work. This .iso image won’t be much bigger than a typical podcast. 🙂