Updating to CURRENT
Updating to the CURRENT branch is recommended only for developers and advanced users. This is the most current source code for MidnightBSD where developers submit their changes everyday. The upside of this is that you will get all the latest features and improvements the developers have been working on. However, as CURRENT is officially untested, there are probably many bugs yet unseen by the developers you will encounter.
Getting the CURRENT source
First, you'll need to login as root as most of this requires super-user privileges. If you're already logged in as a user:
exit login: root
Then, change to the /usr directory.
To get the latest CURRENT source to build from, you will need to download it from MidnightBSD's server via CVS.
cvs -z6 -d firstname.lastname@example.org:/home/cvs co src
-z6 sets the Gzip (compression) level to 6; -d stands for "directory" and allows you to set the CVS root directory—in this case /home/cvs. When asked for a password, use "anoncvs".
This may take a while depending on your connection. When it has completed the checkout (download) you'll now need to compile buildworld; this compiles the source code for the "userland" (everything except the kernel that is a part of the OS).
cd /usr/src make buildworld
Then you're going to need to compile and install the kernel.
make buildkernel ... make installkernel
After this, you'll need to restart the computer. Type reboot and hit Enter while still logged in as root. When the the machine boots back up, log back in as root and go back to the /usr/src directory. Now you'll need to install OS source files you've just compiled. It is advised to do this step in single user mode boot -s, but many times it's not necessary. There is greater risk by not doing it in single user mode.
And finally mergemaster will help you compare the changes between the OS you already have installed, to the CURRENT version you've just compiled.
This mergemaster process can be very long and tedious depending on how far apart your installed version of MidnightBSD is from the CURRENT branch. Here are a few pointers for going through the process:
- you want to install the changes if it's a file you don't use (e.g. don't let it replace master.password)
- /etc/rc.conf shouldn't get replaced either
- Everything in /etc/rc.d, /etc/mtree can be replaced
- Everything in /etc/defaults you can say yes to
Finally, reboot again.
That's it! Hopefully you should now be running the latest version of MidnightBSD!