Sunday, September 11, 2016

Creating the BSDCG Study DVD

It's almost time for the semi-annual slugfest - no, not the eXtreme Games.   It's time to get the next edition of the BSDA Study DVD out the door.  This release will feature DragonFly BSD 4.6, FreeBSD 11.0, NetBSD 7.0.1, and OpenBSD 6.0.  All four BSDs are hammered onto one DVD along with the El Toro boot loader by Oliver Fromme.  If you've been to the BSDCG website, you've probably seen the "Store" tab where we advertise the DVD for sale.  It's a good value and we try to keep it current with the most recent versions of each of the projects.

One of the more challenging parts in producing the DVD is to decide on when to  create the next one.  The projects all have their own schedules and each has it's own cycle time - the time it takes for the project to get all the way from one release to the next.  OpenBSD has taken the approach that they will produce two releases a year with published dates in advance.  The other projects just collect a bunch of updates until they are ready to roll a production quality release.  Both approaches have their merits, which we don't need to sweat about here.  It's usually the case that the best time to produce our next DVD is soon after the latest OpenBSD release.  But sometimes we'll wait a month or two for another project that is just about to pop a new release.

The mechanics of our production follow this simple process:

  1. Get the latest binaries from a BSD project and install on a test machine.
  2. Get the source code for the release.
  3. Find the places in the boot loaders and the install programs where changes have to be made to use the El Toro boot manager and make the changes.
  4. Build the source all the way through a release (make release or similar).
  5. Copy the .iso file generated in the previous step over to a staging machine.
  6. Build a draft DVD .iso file with the El Toro boot loader and test the installation of the the BSD project.  Virtual machines are quite handy for this install step.
  7. Repeat steps 1 - 6 for  the other BSDs.
  8. Copy extra packages, ports, and documents to the DVD staging area.
  9. Build release candidate DVD .isos and test, test, test.
  10. Update the release notes for the DVD, get new packaging ready, and finally...
  11. Announce the release of the next BSDCG study DVD.  We upload it to our delivery server and also make physical copies so you can get it either way.
 For sure, there are difficulties getting all four BSD projects wedged onto the same DVD.  I've recently written about the headaches in getting OpenBSD to boot from the DVD, but there are other difficulties too:  we can no longer produce 32 bit versions for all projects (DFly does not support 32 bit in their recent releases); we can't get all the packages and source for all the projects on the disc (that would be way over the 4G limit for the DVD);  there's not enough room for all BSDs to have their own desktop suite, though we do provide a minimum X windows environment for FreeBSD.  There are other quirks as well.

Still, it's a rewarding feeling to get the latest projects out the door every time.  I just hope you enjoy using them.  If you do, send us a note to chair@bsdcertification.org and tell us.