🙆‍♀️

おうちサーバーを NetBSD 10.0 にアップデートした

2024/05/15に公開

3 月に 10.0 リリースアナウンスされたのに (Announcing NetBSD 10.0 (Mar 28, 2024)) 今更やりました。すいません。

古き人類なのでソースコードをビルドしてアップデートしました。バイナリでもアップデートできるようですがやったことないです。

アーキテクチャは amd64 です。

ソースコードをダウンロードする

安定版を使います。 current じゃないです。

手順はこちら 32.3.1. Downloading sources for a NetBSD release

昔作業したファイルを削除しておきましょう。ビルド時にエラーが発生して時間を無駄にします。

$ rm -rf /usr/obj
$ rm -rf /usr/tools

ソースコードを取得します。 ftp です。 ftp って知ってます?

$ sudo ftp -i ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-10.0/source/sets/

mget *.tgz
exit

展開します。

$ for f in *.tgz; do tar xzf $f; done

移動させます。慣例として /usr/src を使います。

$ mv usr/src /usr/

ソースコードをビルドする

手順はこちら Chapter 35. Updating an existing system from sources - 35.1. Manual build and update procedure

ユーザーランドをビルドしてカーネルをビルドします。 カーネルの設定をコピーしてますが、 GENERIC からとくに変更してないです。

$ cd /usr/src
$ ./build.sh -O ../obj -T ../tools -U distribution
$ cp sys/arch/amd64/conf/GENERIC sys/arch/amd64/conf/MYKERNEL
$ ./build.sh -O ../obj -T ../tools -U kernel=MYKERNEL
$ mv /usr/obj/sys/arch/amd64/compile/MYKERNEL/netbsd /
$ shutdown -r now

再起動したらユーザーランドをインストールします。

$ cd /usr/src
$ ./build.sh -O ../obj -T ../tools -U install=/

設定ファイル (/etc です) をインストールします。コンフリクトしたらその都度対処します。

$ /usr/sbin/postinstall -s /usr/src check
$ /usr/sbin/postinstall -s /usr/src fix
$ /usr/sbin/etcupdate -s /usr/src

再起動します。

$ shutdown -r now

以上です。お疲れ様でした。

% uname -rsm
NetBSD 10.0 amd64

Discussion