トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

OpenBSD/Upgrade/79-armv7

INDEX

OpenBSD のアップグレード (7.8 to 7.9 ARMv7 on BBB 版)

BeagleBone Black に入れた 7.8 (Released Oct 22, 2025.) から 7.9 (Released May 19, 2026.) にアップグレードした際のメモ書き。

お決まりなのだけど、重要なサーバや物理サーバでリモート接続している場合は、最初に同一のローカルシステムで試すことを推奨。まっ、そんな環境ないので、必要なファイルをバックアップした上で、えぃやぁかな。アップグレードできなきゃ、インストールし直しするつもりなので。

OpenBSD 6.6 からは、sysupgrade(8) でアップグレードができる。このアップグレードは一つ次のリリースへのみがサポートされる。諸注意や詳細は、 OpenBSD Upgrade Guide: 7.8 to 7.9 を参照。新機能などは、OpenBSD 7.9 を参照。

アップグレード方法は、sysupgrade(8) を使用した 無人アップグレード 以外に、各アーキテクチャ用のRAMディスクカーネル bsd.rd を取得して、このカーネルが起動したら (U)pgrade を選択して、プロンプトの指示に従って行う インタラクティブ アップグレード 、完全に手動でファイルを更新する マニュアル アップグレード がある。

 確認事項

OpenBSD Upgrade Guide の後半 Configuration and syntax changes に、変更された設定ファイルや削除されたファイル、パッケージ変更が記載されている。

アップグレードによって変更されるものを確認しておく。

 メモ

sysupgrade コマンドで、比較的簡単にできる。特に何もなければ、2,30分で完了できる。

ただ、全てのインストールセットがアップデート(インストール)されるので、不要なものがある場合は、 -n オプションを指定して自動的に再起動しないようにし、/home/_sysupgrade に取得されたファイルから不要なものを削除する。または、レスポンスファイル /auto_upgrade.conf インストールセットを外すようにしてから、再起動してアップデートをする。

あと、アップデート後に、起動出来なくなるものがある。なので、該当プログラムのパッケージを更新するか、ビルドし直す。

ただ、armv7 用のパッケージが用意されるのが遅いので、リリース直後に(アップデートして)パッケージのインストールやアップデートしようとすると、パッケージが見つからない場合がある。

アップグレード

 アップグレードする前に

bbb# uname -a
OpenBSD bbb.intranet 7.8 GENERIC#17 armv7

ダウンロードミラーサイトの設定

/etc/installurl に記載されたURLのサーバから取得される。インストール時に ftp や http を使用していれば、その時の設定が記載されている。

bbb# cat /etc/installurl
https://ftp.openbsd.org/pub/OpenBSD/

インストール時は、ftp.jaist.ac.jp を使っていたが、7.8 に上げるときにミラーされておらず ftp.openbsd.org に変えていた。7.9 も packages 以外ミラーされていないのでこのまま。

ディスク空き容量

sysupgrade(8) がダウンロードしたファイルを置く /home/_sysupgrade および、インストール先となる /usr の空き容量を確認する。足りないと失敗する。

/usr には、1.1G 必要とのこと。/home/_sysupgrade は、インストールセットの 500MB かな…。

bbb# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0a      989M   97.8M    842M    11%    /
/dev/sd0h     22.8G    1.0G   20.7G     5%    /home
/dev/sd0d      3.9G    5.3M    3.7G     1%    /tmp
/dev/sd0f      9.7G    752M    8.5G     8%    /usr
/dev/sd0g      9.7G    416M    8.8G     5%    /usr/local
/dev/sd0e      9.7G   77.3M    9.1G     1%    /var

 アップグレード

sysupgrade コマンド自体は、ssh 上でも可能。ただし、アップグレードが完了して立ち上がるまではつなげないので、様子を確認できない。

X 関連を除くため、自動で再起動しないように -n を指定して、X 関連の インストール セット を除外してから、再起動する。

アップグレード準備

bbb# sysupgrade -n
Fetching from https://ftp.openbsd.org/pub/OpenBSD//7.9/armv7/
SHA256.sig   100% |*************************************|  1777       00:00
Signature Verified
BUILDINFO    100% |*************************************|    54       00:00
Verifying old sets.
INSTALL.armv7 100% |************************************| 36472       00:00
base79.tgz   100% |*************************************|   157 MB    01:56
bsd          100% |*************************************|  6871 KB    00:08
bsd.rd       100% |*************************************| 15067 KB    00:16
comp79.tgz   100% |*************************************| 46614 KB    00:34
game79.tgz   100% |*************************************|  2697 KB    00:02
man79.tgz    100% |*************************************|  8432 KB    00:12
xbase79.tgz  100% |*************************************| 24677 KB    00:18
xfont79.tgz  100% |*************************************| 23030 KB    00:15
xserv79.tgz  100% |*************************************|  4742 KB    00:03
xshare79.tgz 100% |*************************************|  4581 KB    00:03
Verifying sets.
Fetching updated firmware.
fw_update: add none; update none
Will upgrade on next reboot
bbb#

インストールセットが /home/_sysupgrade に取得される。

bbb# ls -lA /home/_sysupgrade
total 595888
-rw-r--r--  1 root  wheel         54 May  9 20:39 BUILDINFO
-rw-r--r--  1 root  wheel      36472 May  9 20:39 INSTALL.armv7
-rw-r--r--  1 root  wheel       1625 Jun  1 09:17 SHA256
-rw-r--r--  1 root  wheel  164681922 May  9 19:46 base79.tgz
-rw-r--r--  1 root  wheel    7036372 May  9 19:40 bsd
-rw-r--r--  1 root  wheel   15429259 May  9 20:39 bsd.rd
-rw-r--r--  1 root  wheel   47733463 May  9 19:47 comp79.tgz
-rw-r--r--  1 root  wheel    2762471 May  9 19:48 game79.tgz
-rw-r--r--  1 root  wheel    8635361 May  9 19:48 man79.tgz
-rw-r--r--  1 root  wheel   25269756 May 10 03:02 xbase79.tgz
-rw-r--r--  1 root  wheel   23583540 May 10 03:03 xfont79.tgz
-rw-r--r--  1 root  wheel    4856194 May 10 03:03 xserv79.tgz
-rw-r--r--  1 root  wheel    4691072 May 10 03:04 xshare79.tgz
bbb#

また、レスポンスファイル /auto_upgrade.conf が作成される。

bbb# cat /auto_upgrade.conf
Location of sets = disk
Pathname to the sets = /home/_sysupgrade/
Directory does not contain SHA256.sig. Continue without verification = yes
bbb#

不用インストールセットの削除

アップグレード前の再起動まできたら、取得したインストールセットから不用な X 関連のファイルを削除する。レスポンスファイル /auto_upgrade.conf を修正して、不用な X 関連の インストールセットを外すように修正する。

「Set name(s) = -x*」を追加して、X 一式をインストールセットの選択から外すようにする。

bbb# vi /auto_upgrade.conf
bbb# cat /auto_upgrade.conf
Location of sets = disk
Pathname to the sets = /home/_sysupgrade/
Set name(s) = -x*
Directory does not contain SHA256.sig. Continue without verification = yes
bbb# 

再起動(アップグレード)

準備ができたら、再起動する(ここまでは、SSH で操作可)。

bbb# reboot

アップグレード

再起動後、アップグレードが開始され、終われば再度再起動されて、アップグレードされたバージョンで起動する。

以下、シリアル コンソール のアップデートログ

 :≪前略≫
OpenBSD/armv7 (bbb.intranet) (console)

login: 
stopping package daemons: popa3d.
syncing disks... done
rebooting...

U-Boot SPL 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 -0500)
Trying to boot from MMC2
Loading Environment from EXT4...
 :≪中略≫
 :≪中略≫
## Starting EFI application at 82000000 ...
disks: sd0* sd1
>> OpenBSD/armv7 BOOTARM 1.23
upgrade detected: switching to /bsd.upgrade
boot>
booting sd0a:/bsd.upgrade: 2359756+769988+11505512+484788 [185669+107+387984+211923]=0x0
|
OpenBSD/armv7 booting ...
 :≪中略≫
pmap Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2026 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.9 (RAMDISK) #24: Sat May  9 05:38:32 MDT 2026
    deraadt@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/RAMDISK
real mem  = 484102144 (461MB)
avail mem = 456335360 (435MB)
 :≪中略≫
bootfile: sd0a:/bsd.upgrade
boot device: sd0
root on rd0a swap on rd0b dump on rd0b
WARNING: CHECK AND RESET THE DATE!
erase ^?, werase ^W, kill ^U, intr ^C, status ^T

Welcome to the OpenBSD/armv7 7.9 installation program.
Performing non-interactive upgrade...
Terminal type? [vt220] vt220
Available disks are: sd0.
Which disk is the root disk? ('?' for details) [sd0] sd0
Checking root filesystem (fsck -fp /dev/sd0a)... OK.
Mounting root filesystem (mount -o ro /dev/sd0a /mnt)... OK.
Force checking of clean non-root filesystems? [no] no
fsck -p 00b82786d1ef69c3.h... OK.
fsck -p 00b82786d1ef69c3.d... OK.
fsck -p 00b82786d1ef69c3.f... OK.
fsck -p 00b82786d1ef69c3.g... OK.
fsck -p 00b82786d1ef69c3.e... OK.
/dev/sd0a (00b82786d1ef69c3.a) on /mnt type ffs (rw, local, noatime)
/dev/sd0h (00b82786d1ef69c3.h) on /mnt/home type ffs (rw, local, noatime, nodev, nosuid)
/dev/sd0d (00b82786d1ef69c3.d) on /mnt/tmp type ffs (rw, local, noatime, nodev, nosuid)
/dev/sd0f (00b82786d1ef69c3.f) on /mnt/usr type ffs (rw, local, noatime, nodev)
/dev/sd0g (00b82786d1ef69c3.g) on /mnt/usr/local type ffs (rw, local, noatime, nodev, wxallowed)
/dev/sd0e (00b82786d1ef69c3.e) on /mnt/var type ffs (rw, local, noatime, nodev, nosuid)

Let's upgrade the sets!
Location of sets? (disk http nfs or 'done') [http] disk
Is the disk partition already mounted? [yes] yes
Pathname to the sets? (or 'done') [7.9/armv7] /home/_sysupgrade/

Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'.
    [X] bsd           [X] comp79.tgz    [X] xbase79.tgz   [X] xserv79.tgz
    [X] bsd.rd        [X] man79.tgz     [X] xshare79.tgz
    [X] base79.tgz    [X] game79.tgz    [X] xfont79.tgz
Set name(s)? (or 'abort' or 'done') [done] -x*
    [X] bsd           [X] comp79.tgz    [ ] xbase79.tgz   [ ] xserv79.tgz
    [X] bsd.rd        [X] man79.tgz     [ ] xshare79.tgz
    [X] base79.tgz    [X] game79.tgz    [ ] xfont79.tgz
Set name(s)? (or 'abort' or 'done') [done] done
Directory does not contain SHA256.sig. Continue without verification? [no] yes
Installing bsd          100% |**************************|  6871 KB    00:01
Installing bsd.rd       100% |**************************| 15067 KB    00:04
Installing base79.tgz   100% |**************************|   157 MB    03:39
Installing comp79.tgz   100% |**************************| 46614 KB    02:23
Installing man79.tgz    100% |**************************|  8432 KB    00:58
Installing game79.tgz   100% |**************************|  2697 KB    00:05
Installing BUILDINFO    100% |**************************|    54       00:00
Location of sets? (disk http nfs or 'done') [done] done
Making all device nodes... done.
fw_update: add none; update none
Relinking to create unique kernel... done.

CONGRATULATIONS! Your OpenBSD upgrade has been successfully completed!

syncing disks... done
rebooting...

U-Boot SPL 2018.09-00002-g0b54a51eee (Sep 10 2018 - 19:41:39 -0500)
Trying to boot from MMC2
Loading Environment from EXT4...
 :≪中略≫
## Starting EFI application at 82000000 ...
disks: sd0* sd1
>> OpenBSD/armv7 BOOTARM 1.23
boot>
booting sd0a:/bsd: 4913956+1017632+140784+603556 [289876+107+348944+309516]=0x0

OpenBSD/armv7 booting ...
 :≪中略≫
pmap [ using 948976 bytes of bsd ELF symbol table ]
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2026 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.9 (GENERIC) #30: Sat May  9 04:40:38 MDT 2026
    deraadt@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/GENERIC
real mem  = 484102144 (461MB)
avail mem = 464470016 (442MB)
 :≪中略≫
bootfile: sd0a:/bsd
boot device: sd0
root on sd0a (00b82786d1ef69c3.a) swap on sd0b dump on sd0b
WARNING: CHECK AND RESET THE DATE!
Automatic boot in progress: starting file system checks.
/dev/sd0a (00b82786d1ef69c3.a): file system is clean; not checking
/dev/sd0h (00b82786d1ef69c3.h): file system is clean; not checking
/dev/sd0d (00b82786d1ef69c3.d): file system is clean; not checking
/dev/sd0f (00b82786d1ef69c3.f): file system is clean; not checking
/dev/sd0g (00b82786d1ef69c3.g): file system is clean; not checking
/dev/sd0e (00b82786d1ef69c3.e): file system is clean; not checking
pf enabled
starting network
reordering: ld.so libc libcrypto sshd sshd-session sshd-auth ssh-agent.
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
pin 21: caps: in out pu pd, flags: -> out
pin 22: caps: in out pu pd, flags: -> out
pin 23: caps: in out pu pd, flags: -> out
pin 24: caps: in out pu pd, flags: -> out
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
running rc.sysmerge
chown: /var/cache/fontconfig: No such file or directory
===> Updating /etc/ssl/cert.pem
starting network daemons: sshd smtpd slowcgi httpd sndiod.
running rc.firsttime
fw_update: add none; update none
starting package daemons: popa3d.
starting SoftEther VPN Client
The SoftEther VPN Client service has been started.
starting SoftEther VPN Server
The SoftEther VPN Server service has been started.
starting rdgw
starting http-relayd
starting local daemons: cron.
Mon Jun  1 09:52:33 JST 2026

OpenBSD/armv7 (bbb.intranet) (console)

login:

CPUの性能とかにもよるだろうけど、完了するまで20分くらい。

アップデートの中で、 sysmerge(8)fw_update(1) が実行される。

 アップグレード後

bbb# uname -a
OpenBSD bbb.intranet 7.9 GENERIC#30 armv7

設定ファイルの更新

アップデートの中で実行されるので、基本は不要。マージ出来なかった場合は、保留されたままになる。保留されたファイルがある場合は、新しいファイルを 削除(d)、上書き(i)、マージ(m)、再度差分を表示する(v) を選ぶ。

bbb# sysmerge
chown: /var/cache/fontconfig: No such file or directory

ファームウェアの更新

アップデートの中で実行されるので、基本は不要(下記コマンドは確認のみ)。

bbb# fw_update -v -n
fw_update: add none; update none

バイナリパッチのアップデート

リリース直後であればほどんとないと思う(下記コマンドは適用可能なパッチ一覧のみ)。ただし、バイナリパッチが提供されるのは i386, amd64 および arm64 のアーキテクチャのみっぽい。

bbb# syspatch -c
syspatch: Error retrieving https://ftp.openbsd.org/pub/OpenBSD//syspatch/7.9/armv7/SHA256.sig: 404 Not Found

設定ファイルと構文の変更

Configuration and syntax changes を参考に、設定ファイルを更新する。

7.9 のリリースでは特にない。

trunk(4) から、IEEE 802.3ad/802.1AX リンクアグリゲーション制御プロトコル (LACP) が削除されている。LACP の設定は、aggr(4) に移行が出来る。

古いファイルの削除

Files to remove を参考に、古いファイルを削除する。

7.8 のリリースで変わったものはない。

パッケージ変更

Special packages を参考に、パッケージ更新する。

プログラムの変更

アップデートにより、追加で入れたパッケージおよび自身でビルドしたプログラムが動かない場合がある。

パッケージで入れたものは、パッケージの更新を行う。ビルドしたものは、リビルドし直す。

 アップグレードログ

root 宛にアップグレードのログが送られる。

upgrade response file

From: Charlie Root <root@bbb.intranet>
Date: Mon, 1 Jun 2026 09:52:19 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet upgrade response file
Message-ID: <30a2d65ced6ecf57@bbb.intranet>

Which disk is the root disk = sd0
Force checking of clean non-root filesystems = no
Location of sets = disk
Is the disk partition already mounted = yes
Pathname to the sets = /home/_sysupgrade/
Set name(s) = -x*
Set name(s) = done
Directory does not contain SHA256.sig. Continue without verification = yes
Location of sets = done

upgrade log

From: Charlie Root <root@bbb.intranet>
Date: Mon, 1 Jun 2026 09:52:19 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet upgrade log
Message-ID: <30a2d6641fee1152@bbb.intranet>

Terminal type? [vt220] vt220
Available disks are: sd0.
Which disk is the root disk? ('?' for details) [sd0] sd0
Checking root filesystem (fsck -fp /dev/sd0a)... OK.
Mounting root filesystem (mount -o ro /dev/sd0a /mnt)... OK.
Force checking of clean non-root filesystems? [no] no
fsck -p 00b82786d1ef69c3.h... OK.
fsck -p 00b82786d1ef69c3.d... OK.
fsck -p 00b82786d1ef69c3.f... OK.
fsck -p 00b82786d1ef69c3.g... OK.
fsck -p 00b82786d1ef69c3.e... OK.
/dev/sd0a (00b82786d1ef69c3.a) on /mnt type ffs (rw, local, noatime)
/dev/sd0h (00b82786d1ef69c3.h) on /mnt/home type ffs (rw, local, noatime, nodev, nosuid)
/dev/sd0d (00b82786d1ef69c3.d) on /mnt/tmp type ffs (rw, local, noatime, nodev, nosuid)
/dev/sd0f (00b82786d1ef69c3.f) on /mnt/usr type ffs (rw, local, noatime, nodev)
/dev/sd0g (00b82786d1ef69c3.g) on /mnt/usr/local type ffs (rw, local, noatime, nodev, wxallowed)
/dev/sd0e (00b82786d1ef69c3.e) on /mnt/var type ffs (rw, local, noatime, nodev, nosuid)

Let's upgrade the sets!
Location of sets? (disk http nfs or 'done') [http] disk
Is the disk partition already mounted? [yes] yes
Pathname to the sets? (or 'done') [7.9/armv7] /home/_sysupgrade/

Select sets by entering a set name, a file name pattern or 'all'. De-select
sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'.
    [X] bsd           [X] comp79.tgz    [X] xbase79.tgz   [X] xserv79.tgz
    [X] bsd.rd        [X] man79.tgz     [X] xshare79.tgz
    [X] base79.tgz    [X] game79.tgz    [X] xfont79.tgz
Set name(s)? (or 'abort' or 'done') [done] -x*
    [X] bsd           [X] comp79.tgz    [ ] xbase79.tgz   [ ] xserv79.tgz
    [X] bsd.rd        [X] man79.tgz     [ ] xshare79.tgz
    [X] base79.tgz    [X] game79.tgz    [ ] xfont79.tgz
Set name(s)? (or 'abort' or 'done') [done] done
Directory does not contain SHA256.sig. Continue without verification? [no] yes
Installing bsd          100% |**************************|  6871 KB    00:01    
Installing bsd.rd       100% |**************************| 15067 KB    00:04    
Installing base79.tgz   100% |**************************|   157 MB    03:39    
Installing comp79.tgz   100% |**************************| 46614 KB    02:23    
Installing man79.tgz    100% |**************************|  8432 KB    00:58    
Installing game79.tgz   100% |**************************|  2697 KB    00:05    
Installing BUILDINFO    100% |**************************|    54       00:00    
Location of sets? (disk http nfs or 'done') [done] done
Making all device nodes... done.
fw_update: add none; update none
Relinking to create unique kernel... done.

CONGRATULATIONS! Your OpenBSD upgrade has been successfully completed!

sysmerge output

From: Charlie Root <root@bbb.intranet>
Date: Mon, 1 Jun 2026 09:52:14 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet rc.sysmerge output
Message-ID: <30a2d65840962f30@bbb.intranet>

chown: /var/cache/fontconfig: No such file or directory
===> Updating /etc/ssl/cert.pem

rc.firsttime output

From: Charlie Root <root@bbb.intranet>
Date: Mon, 1 Jun 2026 09:52:19 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet rc.firsttime output
Message-ID: <30a2d660eec6b336@bbb.intranet>

fw_update: add none; update none

最終更新時間:2026年06月01日 10時19分58秒 指摘や意見などあればSandBoxのBBSへ。