今後i386の環境が非推奨環境となる模様
手持ちの古いi386をなんとかせねば。マイグレーション手順が以下に書いてあるがさすがに今の環境とはあまりあってなさそう。
i386でzfsな環境はあるのだがいわゆる最近のBoot Environmentにはなっていない。
WindowsのVirtualBoxに13.3を入れていろいろ試してみたところ、bectlを使える環境であれば上記のマイグレーション手順を参考にi386=>amd64にできそうな感じ。以下ちょいとうろ覚え手順
make buildworld TARGET=amd64 TARGET_ARCH=amd64 make buildkernel TARGET=amd64 TARGET_ARCH=amd64
この辺は問題なし。swapデバイスを新しいrootにする部分は
bectl create amd64amd64 bectl mount amd64amd64 /mnt
で現環境を/mntに作った後中身を消して
cd /usr/src && make installworld TARGET=amd64 TARGET_ARCH=amd64 DESTDIR=/mnt cd /usr/src/etc && make distribution TARGET=amd64 TARGET_ARCH=amd64 DESTDIR=/mnt cp /etc/fstab /mnt/etc/.
で問題なさげ。カーネルとzfs.koを /boot/kernel.amd64 /boot/zfs.koにコピーして再起動。loaderから3でプロンプトに入って
unload load boot/kernel.amd64 load boot/zfs.ko boot -as
シングルユーザ起動でrootパーティションをzfs:zroot/ROOT/amd64amd64にして起動
bectl mount default /mnt chflags -R noschg /mnt/*bin /mnt/lib* /mnt/usr/*bin /mnt/usr/lib* cd / && find *bin lib* usr/*bin usr/lib* | cpio -dumpv /mnt
この後chrootからのinstallがうまくいかず。(/usr/srcがない)64bitカーネルで再起動シングルユーザーでrootをdefultにして
zfs mount -a zfs set readonly=off zroot cd /usr/src && make installkernel installworld mkdir /usr/local/lib32 mv /usr/local/lib/* /usr/local/lib32/.
でrc.confにldconfig32_paths="/usr/lib32 /usr/local/lib32"追加後再起動でそれっぽい感じにできてそう。実機のzpoolをインポートして再度やってみる