This is a survival guide to keeping Free BSD up-to-date ('ish).This note covers the automated tools (freebsd-update and portsnap) and manual methods for updating Free BSD.While the Free BSD Handbook is generally a terrific resource - always check it first - but it can either make assumptions about background knowlege or it keeps things as simple as possible to minimize errors. We check the security advisories, nod sagely when we read 'em, and using the new automated tools (portsnap and freebsd-update) we keep our systems updated.
Note on the move from CVS to subversion: The notes on manual methods have been updated to reflect the Free BSD change from CVS to subversion that from March 2013 covers both source upgrades and the ports system. We do nothing exciting, nothing even remotely interesting and if it smacks of risk, we lie down in a dark room for a couple of hours, then check that we have access to emergency medical assistance, before doing anything. Free BSD finally stops maintaining our release and we gotta do something. Hell can freeze over before we break that last rule.
This survival guide was written because we suspect we are not alone and besides, the down-side of the 'slothful' maintenance theory is we are not constantly doing stuff and so forget....a lot....frequently.
Note on Extreme Sloth: By extreme application of the 'slothful' method of maintenance you could find yourself more that one major version behind (say, using 6.x when the current version is 9.x).
The best advice here is to never try a multi-version upgrade, say, from 6.x to 9.x - always pass through the intervening major version(s) - certainly as far as Step 6 since ABI (Application Binary Interface) changes may cause serious problems.
If you do not have a system that runs Linux and you want to give the Yocto Project a test run, you might consider using the Yocto Project Build Appliance.
The Build Appliance allows you to build and boot a custom embedded Linux image with the Yocto Project using a non-Linux development system.
In fact, a new kernel can be created in a few steps which will be described in the following sections. The kernel configuration file defines the type, the number and the characteristics of the devices supported by the kernel as well as several kernel configuration options. In the configuration file there are comments describing the options; a more detailed description is found in the are comments; lines are disabled by commenting them and enabled by removing the comment character.
For the i386 port, kernel configuration files are located in the CARDBUS GENERIC_PS2TINY NET4501 CVS GENERIC_TINY SWINGER DELPHI GENERIC_VERIEXEC SWINGER. It is better to comment lines instead of deleting them; it is always possible uncomment them later.
See the Yocto Project Build Appliance for more information.