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