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

OpenBSD/Upgrade/71-arm64

INDEX

OpenBSD のアップグレード (7.0 ARM64 on rpi 版)

Raspberry Pi 4 Model B に入れた OpenBSD 7.0 (Released Oct 14, 2021) から 7.1 (Released Apr 21, 2022) にアップグレードした際のメモ書き。

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

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

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

アップグレード

 アップグレードする前に

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

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

rpi# cat /etc/installurl
https://cdn.openbsd.org/pub/OpenBSD

※7.0 インストール時 www.ftp.ne.jp を使ったが、7.1 がミラーされていないので cdn.openbsd.org を使用する。

ディスク空き容量

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

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

rpi# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0a     26.9G    1.1G   24.5G     4%    /

横着して、1パーティションで構成してた…

 アップグレード

rpi# uname -a
OpenBSD rpi.intranet 7.0 GENERIC.MP#7 arm64

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

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

rpi# sysupgrade -n
Fetching from https://cdn.openbsd.org/pub/OpenBSD/7.1/arm64/
SHA256.sig   100% |*************************************|  1544       00:00
Signature Verified
INSTALL.arm64 100% |************************************| 38774       00:00
base71.tgz   100% |*************************************|   248 MB    01:08
bsd          100% |*************************************| 14381 KB    00:05
bsd.mp       100% |*************************************| 14452 KB    00:05
bsd.rd       100% |*************************************| 17203 KB    00:04
comp71.tgz   100% |*************************************| 69240 KB    00:29
game71.tgz   100% |*************************************|  2714 KB    00:02
man71.tgz    100% |*************************************|  7601 KB    00:02
xbase71.tgz  100% |*************************************| 49893 KB    00:21
xfont71.tgz  100% |*************************************| 22965 KB    00:11
xserv71.tgz  100% |*************************************| 13376 KB    00:06
xshare71.tgz 100% |*************************************|  4545 KB    00:01
Verifying sets.
Fetching updated firmware.
bwfm-firmware-20200316.1.2p2->20200316.1.3p3: ok
Will upgrade on next reboot
rpi#

再起動したらアップグレードがされるところまで来たら、不用な X 関連の インストールセットを外して、再起動する。

rpi# ls -lA /home/_sysupgrade
total 943760
-rw-r--r--  1 root  wheel      38774 Apr 12 13:04 INSTALL.arm64
-rw-r--r--  1 root  wheel       1392 May  1 13:19 SHA256
-rw-r--r--  1 root  wheel  261089831 Apr 12 12:46 base71.tgz
-rw-r--r--  1 root  wheel   14726621 Apr 12 12:43 bsd
-rw-r--r--  1 root  wheel   14798860 Apr 12 12:43 bsd.mp
-rw-r--r--  1 root  wheel   17616348 Apr 12 13:04 bsd.rd
-rw-r--r--  1 root  wheel   70902503 Apr 12 12:46 comp71.tgz
-rw-r--r--  1 root  wheel    2780043 Apr 12 12:47 game71.tgz
-rw-r--r--  1 root  wheel    7784157 Apr 12 12:47 man71.tgz
-rw-r--r--  1 root  wheel   51090594 Apr 12 14:04 xbase71.tgz
-rw-r--r--  1 root  wheel   23516357 Apr 12 14:04 xfont71.tgz
-rw-r--r--  1 root  wheel   13697961 Apr 12 14:04 xserv71.tgz
-rw-r--r--  1 root  wheel    4654401 Apr 12 14:04 xshare71.tgz
rpi# rm /home/_sysupgrade/x*
rpi# ls -lA /home/_sysupgrade
total 761904
-rw-r--r--  1 root  wheel      38774 Apr 12 13:04 INSTALL.arm64
-rw-r--r--  1 root  wheel       1392 May  1 13:19 SHA256
-rw-r--r--  1 root  wheel  261089831 Apr 12 12:46 base71.tgz
-rw-r--r--  1 root  wheel   14726621 Apr 12 12:43 bsd
-rw-r--r--  1 root  wheel   14798860 Apr 12 12:43 bsd.mp
-rw-r--r--  1 root  wheel   17616348 Apr 12 13:04 bsd.rd
-rw-r--r--  1 root  wheel   70902503 Apr 12 12:46 comp71.tgz
-rw-r--r--  1 root  wheel    2780043 Apr 12 12:47 game71.tgz
-rw-r--r--  1 root  wheel    7784157 Apr 12 12:47 man71.tgz
rpi# 
rpi# reboot

 :≪前略≫
syncing disks... done
rebooting...
 :≪中略≫
UEFI firmware (version UEFI Firmware v1.33 built at 17:06:11 on Mar  7 2022)
 :≪中略≫
disks: sd0*
>> OpenBSD/arm64 BOOTAA64 1.6
upgrade detected: switching to /bsd.upgrade
boot>
 :≪中略≫
OpenBSD 7.1 (RAMDISK) #1522: Mon Apr 11 22:03:55 MDT 2022
    deraadt@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/RAMDISK
 :≪中略≫
Welcome to the OpenBSD/arm64 7.1 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
/dev/sd0a (caa4d5488fbc8d93.a) on /mnt type ffs (rw, local, noatime, wxallowed)

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.1/arm64] /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] bsd.rd        [X] comp71.tgz    [X] game71.tgz
    [X] bsd.mp        [X] base71.tgz    [X] man71.tgz
Set name(s)? (or 'abort' or 'done') [done] done
Directory does not contain SHA256.sig. Continue without verification? [no] yes
Installing bsd          100% |**************************| 14381 KB    00:02
Installing bsd.mp       100% |**************************| 14452 KB    00:01
Installing bsd.rd       100% |**************************| 17203 KB    00:02
Installing base71.tgz   100% |**************************|   248 MB    01:29
Installing comp71.tgz   100% |**************************| 69240 KB    01:06
Installing man71.tgz    100% |**************************|  7601 KB    00:24
Installing game71.tgz   100% |**************************|  2714 KB    00:03
Location of sets? (disk http nfs or 'done') [done] done
Making all device nodes... done.
fw_update: added none; updated none; kept bwfm
Multiprocessor machine; using bsd.mp instead of bsd.
Relinking to create unique kernel... done.

CONGRATULATIONS! Your OpenBSD upgrade has been successfully completed!

syncing disks... done
rebooting...
 :≪中略≫
disks: sd0*
>> OpenBSD/arm64 BOOTAA64 1.8
boot>
 :≪中略≫
OpenBSD 7.1 (GENERIC.MP) #1623: Mon Apr 11 21:43:05 MDT 2022
    deraadt@arm64.openbsd.org:/usr/src/sys/arch/arm64/compile/GENERIC.MP
 :≪中略≫
root on sd0a (caa4d5488fbc8d93.a) swap on sd0b dump on sd0b
bwfm0: failed loadfirmware of file brcmfmac43455-sdio.openbsd,acpi.txt
Automatic boot in progress: starting file system checks.
/dev/sd0a (caa4d5488fbc8d93.a): file system is clean; not checking
pf enabled
starting network
reordering libraries: done.
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
running rc.sysmerge
===> Updating /etc/changelist
===> Updating /etc/fbtab
===> Updating /etc/login.conf
===> Updating /etc/newsyslog.conf
===> Updating /etc/syslog.conf
starting network daemons: sshd smtpd sndiod.
running rc.firsttime
fw_update: added none; updated none; kept bwfm
Checking for available binary patches...
syspatch: Error retrieving https://cdn.openbsd.org/pub/OpenBSD/syspatch/7.1/arm64/SHA256.sig: 404 Not Found
starting local daemons: cron.
Sun May  1 13:33:25 JST 2022

OpenBSD/arm64 (rpi.intranet) (console)

login:

 アップグレード後

rpi# uname -a
OpenBSD rpi.intranet 7.1 GENERIC.MP#1623 arm64
rpi# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0a     26.9G    1.2G   24.4G     5%    /

設定ファイルの更新

基本はアップデートの中で実行される。稀に手動によるマージが必要になる場合があるらしい。

rpi# sysmerge

ファームウェアの更新

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

rpi# fw_update -v -n
fw_update: added none; updated none; kept bwfm

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

リリース直後であればほどんとない。

rpi# syspatch -c
syspatch: Error retrieving https://cdn.openbsd.org/pub/OpenBSD/syspatch/7.1/arm64/SHA256.sig: 404 Not Found

古いファイルの削除

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

今回は、削除が必要なファイルはない。

メモ

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

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

最終更新時間:2022年05月01日 13時52分49秒 指摘や意見などあればSandBoxのBBSへ。