Upgrade from OpenBSD 4.9 to 5.0

       725 words, 4 minutes

Today is the day when OpenBSD 5.0 is officially launched. Learn about the news from here . The main reason for me to upgrade is “(…)big-memory support has been enabled on all possible architectures (…)”. My instance running on a Dell XPS M1330 will now benefit from it’s 8GB of RAM!

Upgrade the system

AFAIK, there is two ways of upgrading: manually or automagically. I went for the second option as it is the recommended way. Download the “5.0/amd64/bsd.rd” file from your nearest mirror and drop it on your filesystem’s root. Reboot the machine and, at the boot loader prompt, enter:

boot> bsd.rd

The installation process will start and you’ll be asked for the action to take ; I choose “(U)pgrade”. Follow the wizard by answering the installer’s questions. I choose defaults for mostly all questions. The network configuration from the installed system is automagically used by the upgrade wizard. When the installation is finished, you’ll be notified to “run sysmerge(8) after rebooting to repair your /etc configuration”.

On 5.0, there is a new feature which downloads firmware to enable some particular hardware. When asked, I choosed to “Update non-free firmware files on first boot”. On the M1330 laptop, the installed firmware are:

fw_update: Installing firmware files: uvideo-firmware wpi-firmware.
Adding uvideo-firmware-1.2p0
Adding wpi-firmware-3.2p0

Rather that rebooting to the normal system state, I choose to reboot in single-user mode to update the configuration files:

boot> boot -s

You can choose your shell, I used “/bin/ksh” and have to mount the filesystem with read/write option:

# mount -u -o rw /
# sysmerge -s /tmp/etc50.tgz -x /tmp/xetc50.tgz

The upgrade process went smooth. The only twitch happened with login.conf. Mine was previously modified to configure Dovecot and MySQL values. The new file version contains:

bgpd:\
        :openfiles-cur=512:\
        :tc=daemon:

but the wizard had issues merging those values and keeping mine. So I had to add the bgpd value by end at the end of the process.

When the wizard has done all the modifications, just reboot the machine.

All my dæmons started well after the upgrade. Only OpenVPN had issue not being able to “load library liblzo2.so.0.0”.

What’s new

Nothing has changed much regarding hardware support. The only long-waited benefits is about big memory support:

# diff OpenBSD\ 4.9/dmesg.txt OpenBSD\ 5.0/dmesg.txt 
1c1
< OpenBSD 4.9 (GENERIC.MP) #819: Wed Mar  2 06:57:49 MST 2011
---
> OpenBSD 5.0 (GENERIC.MP) #63: Wed Aug 17 10:14:30 MDT 2011
3,4c3,4
< real mem = 3747008512 (3573MB)
< avail mem = 3633246208 (3464MB)
---
> real mem = 8578846720 (8181MB)
> avail mem = 8336359424 (7950MB)

The full dmesg from OpenBSD 5.0 on Dell XPS M1330 is available here.

Another of the nice new feature is the use of rc.d scripts for both system and ports applications. Have a look at your rc.local to ensure things are started the (new) correct way.

Upgrade the ports

To upgrade the various ports I have installed on the system, I used pkg_mgr. Run the utility and select the “[u] update all” command. Wait for the process to run and watch the final messages regarding ports configuration files.

I have quite a few things installed and most of them upgraded nicely. There are a few for which I had to manually correct things.

Dovecot has been upgraded to dovecot-2.0.13p5 and the configuration files went from “/etc/dovecot.conf” to “/etc/dovecot/”. The configuration is splited in several bits from which you have to migrate the previous configuration. It was quite a mess to reconfigure in a hurry. But it finally went ok.

Apache and PHP add somme issues too. I didn’t really get what happened but there was some weird behavior regarding mysql connexion. What I did was remove all 5.2 PHP ports, installed 5.3 PHP new ones and reconfigure the things as if it was a bare new installation. It finally went ok.

Postfix upgrade went ok too. I just ran postfix upgrade-configuration in case things changed but all went fine.

Memcached and Munin didn’t have any issues. Nor did MySQL, OpenLDAP, Samba and SOGo.

Conclusion

So far, so good. The system upgrade itself took a bit less than 30 minutes. The ports upgrade took about 3 hours but mostly because of the Dovecot upgrade and the Apache/PHP weirdness.

The first statistics show that system runs as in previous version: same CPU load and usage, same temperature but mOOOOOOOOre memory available.