2021年6月25日金曜日

BeelinkS1でmicroSDカードを(4)

 かなりはまった。
 最大の原因は作成したインストールメディアがFreeBSD13だったことだ。移行予定のHDのFreeBSDは12だったのである。安易にだいじょうぶだろう、と考えたのがまちがいだった。インストールメディアから作成したmicroSDのFreeBSDにHDの中身をいれると、bootしなくなるのである。
 ZFSのバージョンとか、色々、あるらしい 1
 お得意のddディスク丸ごとコピーもだめで、うまくいくこともあるのだが、HDを作成したときにすでにおかしくなっているところがあることに気づき、FreeBSD12のインストールディスクをつくりなおすことにした。

 以下の手順は記憶にたよって書いているのでまちがいがあるかもしれない。

・インストールメディアからmicroSDにFreeBSDをinstall。このとき、pool名をでデフォルトではなく、zroot2に。

 HDの中のFreeBSDのpool名がzrootになっているからである。

・インストールメディアからインストールメニューを立ち上げ、shellへ。

・zroot、zroot2をimport

zpool import -fN zroot

zpool import -fN zroot2

・zrootにsnapshotを作成。

zfs snapshot -r zroot@snap999

・HDの中身をZFSのsend/resvで、microSDへ流しこむ。

zfs send -pR zroot@snap999 | zfs recv -uvdF zroot2

>> 参考先

・microSDから起動を確認。

 ただし、/etc/fstabの中のswapのデバイス定義がHDになっているのでswapなしの状態になっている。

Footnotes:

1

12と13で作成したbootディスクはBIOS(EFI?)から見え方がちがっていたので、ずいぶんかわっていたのかもしれない。