How to upgrade your FreeBSD system using SVN Since CVSup is going away at the end of February, here is some help with using SVN to update your Freebsd source tree and upgrade your system. Before performing any upgrade, please backup your data incase problems arise.
There are 2 US SVN mirrors, svn0.us-west and svn0.us-east, so please choose the appropriate one.
svn co http://svn0.us-west.freebsd.org/base/stable/9 /usr/src
"co" stands for CheckOut. You are checking out a copy of the code from the url above to your /usr/src directory.
Different source trees are as follows:
http://svn0.us-west.freebsd.org/<insert tree here>
base/stable/X is X-STABLE. /stable/9 is 9-STABLE base/release/X_X_X is X.X.X-RELEASE. /release/9.1.0 is 9.1-RELEASE base/head/ is CURRENT. If you need to run CURRENT, you probably don't need this howto. ports/head is the latest ports tree. ports/tags/RELEASE_X_X_X is the ports tree for a particular release. head/articles/ is for articles written by various FreeBSD contributors. head/books/ contains different books. The FreeBSD Handbook is one such book. head/htdocs/ contains the code for the FreeBSD website.
Once the source is checked out, you want to read /usr/src/UPDATING for any notes about upgrading. After reading the UPDATING file, start the buildworld process
cd /usr/src make buildworld
Once that finishes with no errors, build a new kernel. If you are using the GENERIC kernel, you can just
make buildkernel
If you are using a custom kernel, you can need to do
make buildkernel KERN_CONF=<kernel config file name here>
Once the kernel is done building, you can install it with
make install kernel
Now make a backup of your /etc directory
cp -R /etc /etc.`date +%Y.%m.%d.%H.%M`
If you can reboot into single user mode, now is the time to do it. I have ran this whole process over ssh, not booting into single user mode successfully, but it is not recommended.
Since we have a nice backup of /etc, you can now run
mergemaster -p
Once this mergemaster is done, we can now install the rest of the system
make installworld
Now that world is installed, we need to run mergemaster one more time.
mergemaster
Now you can reboot and your system should be up to date with the 9-STABLE tree.
For more detailed info about using SVN with the FreeBSD servers, check out: http://www.freebsd.org/doc/en/articles/committers-guide/subversion-primer.html
For more detailed info about rebuilding your system, check out: http://www.freebsd.org/doc/handbook/makeworld.html
Written By: Technoid
|