# Upgrade FreeBSD 8.2 to 9.0 Release



## johndk (Jan 31, 2012)

Hello.

I have a box with 8.2 and I want to upgrade with 9.0 Release. My kernel is GENERIC. Is this posible? I don't want to lose my configurations, etc. These are the commands? I'm right or not?


```
freebsd-update upgrade -r 9.0-RELEASE
freebsd-update install
reboot
freebsd-update install
```

Thanks.


----------



## throAU (Jan 31, 2012)

Thats the basic gist of it, however you want to read through the "Upgrading" section of the FreeBSD handbook, and spend some time to get your head around mergemaster.

Basically mergemaster will upgrade various files that may be new or changed in the new release of FreeBSD, but that you may also have changed in your existing version.  Basically, a lot of your configuration files.  Knowing what files to keep (i.e., delete the new temporary version) and what files to merge, and how to merge it requires a bit of an in-depth understanding of your system.

I would STRONGLY urge you to take a backup of your /etc directory to a tar archive before proceeding.  And, if in doubt, delete the temporary copy that merge master suggests you install over your existing files (so your existing configuration file(s) are kept).  But of course, you already have backups of the entire system, right?




edit:
bah, i'm still new to the binary upgrading thing.  It's not actually mergemaster that runs, but something similar.  Essentially the same deal applies.  Back up /etc and be careful what you let it overwrite.


----------



## SirDice (Jan 31, 2012)

FreeBSD 9.0-RELEASE Release Notes; 3 Upgrading from previous releases of FreeBSD


----------



## LateNiteTV (Jan 31, 2012)

And make sure to not build atapicam into your kernel alongside ATA_CAM. I did that and while everything compiled just fine, I ran into a few interesting issues.


----------



## SirDice (Feb 2, 2012)

After the last *freebsd-update install* you might want to install misc/compat8x before you reboot. If you don't sudo(8) will start complaining it can't find a library. Which is a bit of problem if you do the update remotely.


----------

