NetBSD 5.1.2 のシステムがあって、6.1.4 にあげようと思ったわけだ。
ソースからコンパイルするのは時間が掛かるし、インストールDVDを用意してコンソールから作業するのも面倒なので、ちょっと調べてみると、pkgsrc/sysutils/sysupgrade というのが見つかった。
インストール用のバイナリデータを持ってきて、展開してインストールしてくれるらしい。
やってみた。
$ sudo sysupgrade auto
sysupgrade: I: Starting auto-update with stages: fetch modules kernel sets etcupdate postinstall clean
sysupgrade: W: Reusing existing /var/cache/sysupgrade/base.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/comp.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/etc.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/games.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/man.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/misc.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/tests.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/text.tgz
sysupgrade: W: Reusing existing /var/cache/sysupgrade/netbsd-GENERIC.gz
sysupgrade: I: Skipping modules installation (modules not in SETS)
sysupgrade: I: Upgrading kernel using GENERIC in /
sysupgrade: I: Backing up 'netbsd' kernel as 'onetbsd'
sysupgrade: I: Upgrading base system
sysupgrade: I: Extracting base into /
100% |***********************************| 100 MiB 426.04 KiB/s 00:00 ETA
sysupgrade: I: Extracting comp into /
[1] Bad system call (core dumped) progress -zf "${...
(略)
$ /bin/ls
Bad system call
おおっと。
6.1.4 のバイナリに置き換わった時点でコマンドが使えなくなった。だが 6.1.4 のカーネルのインストールは済んでいるはずなので、再起動すれば動くような気がする。
reboot(8) も動かない状態なのでやむなくリセットボタンによる再起動。
なんとか動くようになったので、もう一度 sysupgrade を実行して 6.1.4 に。
あと、/usr/pkg/etc/sysupgrade.conf で SET=AUTO だと、/etc/mtree/set.modules が無いせいで modules がインストールされていなかったので追加でインストールしておいた。
$ sudo sysupgrade -o SET=modules modules