This entry is based on a blog post by Michael Lucas, with a variation supplied as a comment to the post by Peter Hansteen.
This technique uses snapshots to move to current. Snapshosts are described in the OpenBSD FAQ.
Identify the best/closest mirror site (from the OpenBSD mirror list.
For me this is www.mirrorservice.org
. Create a
directory to hold the downloaded files and make in the current
directory. Invoke ftp
to connect to the mirror and
download the snapshot files:
$ ftp ftp.mirrorservice.org [login details] ftp> cd pub/OpenBSD/snapshots/i386 ftp> prompt ftp> mget bsd* ftp> mget *.tgz ftp> quit $
Verify the checksum of the downloaded files:
cksum -a sha256 *
In the dowload directory:
$ sudo cp bsd.rd / # copy snapshot version of ramdisk image to root $ sudo sysmerge -s etc51.tgz -x xetc51.tgz
Reboot the machine and at the boot prompt, type:
boot> boot bsd.rd
This will get you to the installer prompt.
The install dialog will look a bit like this:
(I) Install, (U) Upgrade or (S) Shell? U Choose your keyboard layout ('?' or 'l' for list) [default] uk Available disks are: wd0 wd1 wd2 wd3. Which is the root disk? (or 'done') [wd0] wd2 Root filesystem? [wd2a] wd2a [Checks root file system and mounts ...] Do you want to do any manual network configuration? [no] no Force checking on clean non-root filesystems? [no] no [fsck and mounting takes place ...] Let's upgrade the sets! Location of sets? (cd disk ftp http or 'done') [cd] disk Is the disk partition already mounted? [no] yes Pathname to the sets? (or 'done') [5.1/i386] /mnt/home/mark/openbsd51 INSTALL.i386 not found. Use sets found here anyway? [no] yes [Lists selected sets; all but bsd.mp selected ...] Set names? (or 'abort' or 'done') [done] done [Sets installed...] Location of sets? (cd disk ftp http or 'done') [done] done [Makes device nodes ...] Please run sysmerge(8) after rebooting to repair your /etc configuration. # reboot
The next step to to ensure your packages are upgraded to the same version of the OS:
# export PKG_PATH=http://www.mirrorservice.org/pub/OpenBSD/snapshots/packages/i386 # pkg_add -ui
And that's it.