jueves, 15 de octubre de 2015

Release: SoloBSD 10.2-STABLE

Hi all,

First things first:

- I am not a programmer.
- My knowledge on creating BSD LiveCDs is very limited.

Since my early days into *BSD and OpenSolaris, I was fascinated by small size Live CDs like MilaX and FreeSBIE. So I began to investigate how could I build a minimal personalized *BSD Live CD.

First stop was PicoBSD, which is nearly dead. A bright idea came to my mind and it was to use the stable HardenedBSD sources to build PicoBSD. There are a few projects using it as a router but images no longer exist and documentation is very outdated. So I managed to edit and customize all the configuration files required for the build. By some reason it failed. So I dropped the towel.

Few days ago I tried to pick up again the idea and this time I end up discovering the mfsBSD project:
This is a set of scripts that generates a bootable image (and/or ISO file), that creates a working minimal installation of FreeBSD. It is completely loaded into memory.
--From the website.

Exactly what I was looking for! And easy to configure! But I wanted more, as I said earlier, this should be a "working minimal installation of HardenedBSD"! to spice things up.

My first step was to download HardenedBSD 10-STABLE installer and set up a Virtual Machine under VirtualBox. Then I pulled the sources:
git clone --single-branch --branch hardened/10-stable/master https://github.com/hardenedbsd/hardenedbsd-stable/ hardenedbsd-10-stable
Step 2 was to pull the sources of the mfsBSD project from here.

Ok, now we have all set. Next step is to customize all the files into the conf/ directory of the mfsBSD tree, as directed in this text. You can create a packages/ directory where you can throw all your .t*z files to be added to your LiveCD. I added mksh shell from the MirBSD project which development I started following back in the days I spent most of my free time on FreeNode IRC. Added ksh93 shell too, as I am learning it since all the servers at work have it.

Ok next I modified some HardenedBSD source files, like motd and all related to the boot logo to make them reflect the SoloBSD brand instead of HardenedBSD brand. The kernel is basically the one labeled HARDENEDBSD but without RAID support. Next we proceed with the real build, as usual we run
make buildworld
make buildkernel KERNCONF=YOUR_KERNEL_HERE
Ok now we have our HardenedBSD sources built, all set. We move to the mfsBSD tree and issue the following command:
make iso CUSTOM=1
And voilà! we have our custom minimal installation of HardenedBSD that runs into a LiveCD! This one is about 40 Mb in size! How cool is that!!!???

If you like to test it or just play with it you can grab it from here. Password for root is solobsd.

TODO:

- Check how can I build the image with mksh as default shell -- In progress.
- Create a new kernel, possibly a mix of the HARDENEDBSD kernel and the GHOSTBSD kernel.

Here are some screenshots: