Upgrade FreeBSD 7.x to 7.2 Stable Release

by on May 3, 2009 · 12 comments· LAST UPDATED May 3, 2009

in , ,

I tried a binary upgrade method, but it failed due to custom kernel installed on my FreeBSD 7.1_p5 64 bit AMD systems. How do I upgrade my FreeBSD server using source code method?

The procedure for doing a source code based update is described below:

Step # 1: Get updated source code

WARNING! These examples may crash your computer if not executed properly. Make a backup of your system, Sql and configuration before you do this.

You need to use cvsup command to get latest source code.
# cp /usr/share/examples/cvsup/standard-supfile /root/supfile
# vi /root/supfile

Set host as follows:

host=cvsup1.us.FreeBSD.org

CVSup servers for FreeBSD are running at the various sites around the world. Finally, update cvs tag to 7.2:

release=cvs tag=RELENG_7_2

Save and close the file. Get updated source tree, enter:
# cd /usr/src
# csup /root/supfile

Open /usr/src/UPDATING and read important information regarding upgrade procedure including known issues, bugs and workaround.
# vi /usr/src/UPDATING

Step # 2: Build new compiler and related tools

First compiles the new compiler and a few related tools, then uses the new compiler to compile the rest of the system.
# cd /usr/src/
# make buildworld

Step # 3: Build and install new kernel

Now, you have latest compiler and other tools, just build kernel:
# make buildkernel
# make installkernel

You can also specify kernel custom name using KERNCONF. If your kernel config file name is onetouch, enter:
# make buildkernel KERNCONF=onetouch
# make installkernel KERNCONF=onetouch

Finally, you need to reboot system and boot into a single user mode using boot -s from the loader prompt:
# shutdown -r now

Step # 4: Install the base system 7.2

First, mount the system:
# mount -a -t ufs
To install some system configuration files that are required by the new base system, enter :
# mergemaster -p
Accept the changes as promoted as per your configuration. Finally, install the base system:
# cd /usr/src
# make installworld

Finally, merge your 7.2 configuration files, enter:
# mergemaster -i
Now, you have FreeBSD 7.2 new kernel and base system installed. Just reboot the server:
# shutdown -r now
Make sure everything is working:
# sockstat -6
# sockstat -4
# tail -f /var/log/messages
# more /var/run/dmesg.boot
# tail -f /path/to/app/log/file

Update FreeBSD Applications

Now you are running new FreeBSD 7.2 stable environment. All you have to do is upgrade installed ports tree using portsnap, enter:
# portsnap fetch update
List outdated applications, enter:
# pkg_version -vl '<'
Finally, check all ports, update as necessary (portmaster is not part of base system, you need to grab it from /usr/ports/ports-mgmt/portmaster) :
# portmaster -a

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 12 comments… read them below or add one }

1 robert May 5, 2009 at 7:43 am

Hi, thanks for this guide.

Are you sure that you can upgrade from 7.0 to 7.2, like this? So, you can jump minor versions.
Or should I first go from 7.0 to 7.1 and after that from 7.1 to 7.2?

Reply

2 Mike May 12, 2009 at 10:10 am

You can jump from 3.x to 7.2 -> Read /usr/src/UPDATING

Reply

3 Aigars August 17, 2009 at 10:15 pm

Just be aware – this is a loooong process ;)

Reply

4 SCSI August 18, 2009 at 12:54 am

Vary USEFULL !!! There are thousands of do this do that…this simple works…THANKS man.

Reply

5 Richard Bejtlich August 22, 2009 at 8:02 pm

If you use tag=RELENG_7_2 you’re not running STABLE. You’re running the “release” or security branch for 7.2.

http://www.freebsd.org/doc/en/books/handbook/cvs-tags.html

If you want to run STABLE you should set tag=RELENG_7 . Is that what you wanted instead?

Reply

6 Bakhtiyor September 28, 2009 at 5:02 am

Hello everybody!
This guide help me to restore my FreeBSD machine. Many Thanks!

Reply

7 khentiamentiu October 7, 2009 at 1:54 am

I am trying to upgrade from 6.3 to 7.2. Is this too much of a jump to use a procedure like the above?

Reply

8 adeknaga October 7, 2009 at 5:59 pm

thank’s work for me

Reply

9 adeknaga October 7, 2009 at 6:00 pm

how to update from 6.4 stable to 7.2 pls give me clue

Reply

10 jim October 7, 2009 at 7:25 pm

Of course the “single user mode” kills this for remote machines. Possibly useful link –
http://people.freebsd.org/~rse/upgrade/

Reply

11 jay November 8, 2009 at 9:20 pm

i never reboot into single user mode when updating across minor versions. never lost a colo’d box either.

Reply

12 Luke Hollins November 30, 2009 at 2:55 pm

That upgrade method worked great, one thing that caught me after rebooting: something changed with alias IPs on similar networks – in 7.2 any alias IPs on an existing network need to have the netmask changed to 0xffffffff

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: