リモート更新に失敗した FreeBSD 8.4 →9.3 のHDDですが、無事に復旧する事が出来ました。
dump コマンドでバックアップを行い、安心してシステム操作できるようになった事から、いろいろ手を加えたくなりました。
一つは HDD を容量が大きなものと交換する事。つまり、ディスク移動。FreeBSD 8.x では非常に簡単だったのですが、9.x ではドツボにはまります。
FreeBSD 8.x (以下)の場合、
- インストールされたOSのバージョンと同一のインストールCDと新しいHDDを準備。
- 既存 HDD を dump コマンドにて別のメディアにバックアップする。
- インストールCD からブートして、新しいHDD に最小インストールする。
- 同 インストールCDから fixit にて、dump したバックアップから restore コマンドで上書きする。
これだけで完了。
FreeBSD 9.3 の場合
同じ手順で行おうとしたものの、インストールCDから起動中に、起動OS が落ちる。
Trying to mount root from cd9660:/dev/iso9660/FREEBSD_INSTALL [ro]...
mountroot: waiting for device /dev/iso9660/FREEBSD_INSTALL ...
Mounting from cd9660:/dev/iso9660/FREEBSD_INSTALL failed with error 19.
Loader variables:
vfs.root.mountfrom=cd9660:/dev/iso9660/FREEBSD_INSTALL
vfs.root.mountfrom.options=ro
Manual root filesystem specification:
<fstype>:<device> [options]
Mount <device> using filesystem <fstype>
and with the specified (optional) option list.
eg. ufs:/dev/da0s1a
zfs:tank
cd9660:/dev/acd0 ro
(which is equivalent to: mount -t cd9660 -o ro /dev/acd0 /)
上記画面は i810 チップセットのPCですが、Vostro 1000 で試しても同様の部分で、これとは異なる暴走が始まります。disc1 ではなく、bootonly イメージを使っても同じ症状。チェックサムも確認しているので、ダウンロードしたファイルには問題ないはず。不思議な事に、VBOXで起動用CDとして使うと起動するが、Virtual PCではダメ。
(訂正 2015/09/10)
Vostro 1000 でCDブートさせると、大量のエラーメッセージが表示され、私は暴走と思って再起動を掛けていましたが、しばらく放置すると大量メッセージは出続けますが、やがて次のブートステップに進みインストール可能な状態になりました。
検索してみると、ブート中のデーモンロゴ画面でコマンドラインに、
- set debug.acpi.disabled=”hostres”
boot - set kern.cam.boot_delay=”10000″
boot
とタイプしてから起動すれば回避できるという情報を見つけましたけど、両方ともダメでした。
http://www.freebsd.org/releases/9.0R/errata.html に問題の情報がありました。回避策 上 のものと同一で(というか、こちらが情報源)、回避できず。PCI スロットのカードを全部外してみたけどダメでした。
つまり、
- dump コマンドによるバックアップは作成できるものの
- CD起動では最小インストールが出来ない!
CDから起動は出来なかったものの、FreeBSD 9.3 のHDDはあるので、sysinstall コマンドによるカスタムインストールを使っての最小インストールは出来るかも・・・・・と思ったものの、試してみたところ失敗。
理由は、
- sysinstall コマンドは、サーバー上の .tgz イメージを探す
- しかし、サーバー上のイメージファイルは現在 .txz 圧縮で保存されている
以下は、ftp プロキシーサーバーログの一部。sysinstall コマンドは、ftp サーバーに base.tgz ファイルを get しようとしています。結果は 404 の Not Found。
1441710317.427 444 192.168.1.50 TCP_MISS/200 3995 GET ftp://ftp5.jp.freebsd.org/pub/FreeBSD/releases/i386/9.3-RELEASE/ - DIRECT/130.153.8.28 text/html 1441710317.946 510 192.168.1.50 TCP_MISS/404 4040 GET ftp://ftp5.jp.freebsd.org/pub/FreeBSD/releases/i386/9.3-RELEASE/base/base.inf - DIRECT/130.153.8.28 text/html 1441710318.466 515 192.168.1.50 TCP_MISS/404 4040 GET ftp://ftp5.jp.freebsd.org/pub/FreeBSD/releases/i386/9.3-RELEASE/base/base.tgz - DIRECT/130.153.8.28 text/html
しかし、サーバー上にあるのは base.txz
ftp://ftp5.jp.freebsd.org/pub/FreeBSD/releases/i386/9.3-RELEASE/ と、ftp.freebsd.org の両方で確認しています。
単純に FreeBSD 9.3 の sysinstall コマンドが txz に対応すればいいだけのような気もするのですが、freebsd-update で最新にしてもダメみたい。管理コマンドが変わったのか?
探してみると bsdconfig というものが新たに導入されているようですが、HDD の管理にはよさそうですが最小システムのインストールには使えそうにありません。そもそも、このコマンドでもftp サーバーからパッケージやソースをインストールしようとすると失敗します。bsdinstall コマンドというものもありましたけど、これも新規インストールにしか使えなさそうだし。
おかしいな〜、8.4 からバージョンアップしたFreeBSD固有の問題?
9.3 のインストール・メンテナンスって、どういう方向性なんだろう?
調査が必要そう。それとも 9.x はスキップして10に行くかな〜。
