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

OpenBSD/Upgrade/78-armv7

INDEX

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

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

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

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

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

 確認事項

 メモ

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

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

あと、アップデート後に、起動出来なくなるものがある。なので、該当プログラムのパッケージを更新するか、ビルドし直す。ただ、armv7 用のパッケージが用意されるのが遅いので、リリース直後に(アップデートして)パッケージのインストールやアップデートしようとすると、パッケージが見つからない場合がある。

アップグレード

 アップグレードする前に

bbb# uname -a
OpenBSD bbb.intranet 7.7 GENERIC#6 armv7

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

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

bbb# cat /etc/installurl
https://ftp.jaist.ac.jp/pub/OpenBSD

が、ftp.jaist.ac.jp にミラーされていないので、 https://ftp.openbsd.org/pub/OpenBSD に変更する。

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

ディスク空き容量

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

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

bbb# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0a      989M   53.0M    886M     6%    /
/dev/sd0h     22.8G    634M   21.1G     3%    /home
/dev/sd0d      3.9G    4.4M    3.7G     1%    /tmp
/dev/sd0f      9.7G    640M    8.6G     7%    /usr
/dev/sd0g      9.7G    413M    8.8G     5%    /usr/local
/dev/sd0e      9.7G   80.1M    9.1G     1%    /var

 アップグレード

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

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

アップグレード準備

bbb# sysupgrade -n
Fetching from https://ftp.openbsd.org/pub/OpenBSD//7.8/armv7/
SHA256.sig   100% |*************************************|  1777       00:00
Signature Verified
Location of sets = disk
BUILDINFO    100% |*************************************|    54       00:00
Verifying old sets.
INSTALL.armv7 100% |************************************| 36472       00:00
base78.tgz   100% |*************************************|   156 MB    01:50
bsd          100% |*************************************|  6818 KB    00:06
bsd.rd       100% |*************************************| 15059 KB    00:18
comp78.tgz   100% |*************************************| 46242 KB    00:48
game78.tgz   100% |*************************************|  2697 KB    00:03
man78.tgz    100% |*************************************|  8318 KB    00:04
xbase78.tgz  100% |*************************************| 50948 KB    01:24
xfont78.tgz  100% |*************************************| 23029 KB    00:33
xserv78.tgz  100% |*************************************|  4732 KB    00:03
xshare78.tgz 100% |*************************************|  4578 KB    00:11
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 646960
-rw-r--r--  1 root  wheel         54 Oct 12 22:44 BUILDINFO
-rw-r--r--  1 root  wheel      36472 Oct 12 22:44 INSTALL.armv7
-rw-r--r--  1 root  wheel       1625 Nov  3 12:42 SHA256
-rw-r--r--  1 root  wheel  164474096 Oct 12 21:51 base78.tgz
-rw-r--r--  1 root  wheel    6982187 Oct 12 21:46 bsd
-rw-r--r--  1 root  wheel   15421437 Oct 12 22:44 bsd.rd
-rw-r--r--  1 root  wheel   47352378 Oct 12 21:52 comp78.tgz
-rw-r--r--  1 root  wheel    2762587 Oct 12 21:53 game78.tgz
-rw-r--r--  1 root  wheel    8518007 Oct 12 21:53 man78.tgz
-rw-r--r--  1 root  wheel   52170827 Oct 13 05:08 xbase78.tgz
-rw-r--r--  1 root  wheel   23581980 Oct 13 05:08 xfont78.tgz
-rw-r--r--  1 root  wheel    4845726 Oct 13 05:08 xserv78.tgz
-rw-r--r--  1 root  wheel    4688015 Oct 13 05:09 xshare78.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: 2356072+769292+11504016+483852 [184900+107+387168+211281]=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-2025 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.8 (RAMDISK) #16: Sun Oct 12 07:43:23 MDT 2025
    deraadt@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/RAMDISK
real mem  = 484102144 (461MB)
avail mem = 456343552 (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.8 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.8/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] comp78.tgz    [X] xbase78.tgz   [X] xserv78.tgz
    [X] bsd.rd        [X] man78.tgz     [X] xshare78.tgz
    [X] base78.tgz    [X] game78.tgz    [X] xfont78.tgz
Set name(s)? (or 'abort' or 'done') [done] -x*
    [X] bsd           [X] comp78.tgz    [ ] xbase78.tgz   [ ] xserv78.tgz
    [X] bsd.rd        [X] man78.tgz     [ ] xshare78.tgz
    [X] base78.tgz    [X] game78.tgz    [ ] xfont78.tgz
Set name(s)? (or 'abort' or 'done') [done] done
Directory does not contain SHA256.sig. Continue without verification? [no] yes
Installing bsd          100% |**************************|  6818 KB    00:02    
Installing bsd.rd       100% |**************************| 15059 KB    00:05    
Installing base78.tgz   100% |**************************|   156 MB    03:46    
Installing comp78.tgz   100% |**************************| 46242 KB    01:54    
Installing man78.tgz    100% |**************************|  8318 KB    01:12    
Installing game78.tgz   100% |**************************|  2697 KB    00:03    
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: 4872636+1013444+140588+602628 [286933+107+347792+308075]=0x0

OpenBSD/armv7 booting ...
 :≪中略≫
pmap [ using 943444 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-2025 OpenBSD. All rights reserved.  https://www.OpenBSD.org

OpenBSD 7.8 (GENERIC) #17: Sun Oct 12 06:45:46 MDT 2025
    deraadt@armv7.openbsd.org:/usr/src/sys/arch/armv7/compile/GENERIC
real mem  = 484102144 (461MB)
avail mem = 464519168 (443MB)
 :≪中略≫
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
===> Adding the _fc-cache group
===> Adding the _lldpd group
===> Adding the _fc-cache user
===> Adding the _lldpd user
chown: /var/cache/fontconfig: No such file or directory
===> Updating /etc/changelist
===> Updating /etc/login.conf
===> Updating /etc/ssh/ssh_config
===> Updating /etc/ssl/cert.pem
===> Updating /etc/mail/aliases
starting network daemons: sshd smtpd slowcgi httpd sndiod.
running rc.firsttime
fw_update: add none; update none
starting package daemons: popa3d.
starting SoftEther VPN Server
The SoftEther VPN Server service has been started.
starting SoftEther VPN Client
The SoftEther VPN Client service has been started.
starting rdgw
starting http-relayd
starting local daemons: cron.
Mon Nov  3 13:11:23 JST 2025

OpenBSD/armv7 (bbb.intranet) (console)

login: 

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

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

 アップグレード後

bbb# uname -a
OpenBSD bbb.intranet 7.8 GENERIC#17 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.8/armv7/SHA256.sig: 404 Not Found

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

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

LLVM 19 をビルドするために、build ユーザは、デフォルトのクラスではなく、独自のクラスが必要となる。sysmerge で login.conf に追加するが、build ユーザに手動で追加する必要がある。

# user mod -L build build

古いファイルの削除

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

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

パッケージ変更!rc.firsttime output

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

プログラムの変更

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

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

 アップグレードログ

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

upgrade response file

From: Charlie Root <root@bbb.intranet>
Date: Mon, 3 Nov 2025 13:10:58 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet upgrade response file
Message-ID: <7d9124bf080ef115@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, 3 Nov 2025 13:10:58 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet upgrade log
Message-ID: <7d9124c25a8b88de@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.8/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] comp78.tgz    [X] xbase78.tgz   [X] xserv78.tgz
    [X] bsd.rd        [X] man78.tgz     [X] xshare78.tgz
    [X] base78.tgz    [X] game78.tgz    [X] xfont78.tgz
Set name(s)? (or 'abort' or 'done') [done] -x*
    [X] bsd           [X] comp78.tgz    [ ] xbase78.tgz   [ ] xserv78.tgz
    [X] bsd.rd        [X] man78.tgz     [ ] xshare78.tgz
    [X] base78.tgz    [X] game78.tgz    [ ] xfont78.tgz
Set name(s)? (or 'abort' or 'done') [done] done
Directory does not contain SHA256.sig. Continue without verification? [no] yes
Installing bsd          100% |**************************|  6818 KB    00:02    
Installing bsd.rd       100% |**************************| 15059 KB    00:05    
Installing base78.tgz   100% |**************************|   156 MB    03:46    
Installing comp78.tgz   100% |**************************| 46242 KB    01:54    
Installing man78.tgz    100% |**************************|  8318 KB    01:12    
Installing game78.tgz   100% |**************************|  2697 KB    00:03    
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, 3 Nov 2025 13:10:42 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet rc.sysmerge output
Message-ID: <7d9124b99554f353@bbb.intranet>

===> Adding the _fc-cache group
===> Adding the _lldpd group
===> Adding the _fc-cache user
===> Adding the _lldpd user
chown: /var/cache/fontconfig: No such file or directory
===> Updating /etc/changelist
===> Updating /etc/login.conf
===> Updating /etc/ssh/ssh_config
===> Updating /etc/ssl/cert.pem
===> Updating /etc/mail/aliases

rc.firsttime output

From: Charlie Root <root@bbb.intranet>
Date: Mon, 3 Nov 2025 13:10:59 +0900 (JST)
To: root@bbb.intranet
Subject: bbb.intranet rc.firsttime output
Message-ID: <7d9124c48913f106@bbb.intranet>

fw_update: add none; update none

最終更新時間:2025年11月03日 17時05分05秒 指摘や意見などあればSandBoxのBBSへ。