ZFSのroot権限を使用してUSBスティックにFreebsdをインストールしようとしています。 FreeBSD-11.0-RELEASE-amd64-memstick.imgを別のUSBスティックに書きました。
zfsを使用してインストールしようとすると、インストールプログラムは再起動されません(インストールプログラムの最後で再起動を選択した後)。また、PCを再起動すると、次の警告が表示されます。
FreeBSD/x86 ZFS enabled bootstrap loader, Revision 1.1
([email protected], Thu Sep 29 01:38:49 UTC 2016)
Can't work out which disk we are booting from.
Guessed BIOS device 0xffffffff not found by probes, defaulting to disk0: not found
panic: Assertion failed: (FALSE), function ficlCompileSoftCore, file softcore.c, line428
--> Press a key on the console to reboot <--
zfsを使用してrootの代わりにufsを使用してインストールすると、インストールは完了です。その後、システムを起動できます。
ufsをインストールする際に最初に問題が発生しました。インストールはスムーズに行われましたが、システムの起動時にルートパーティションが見つかりません。問題は、インストールファイルが入ったUSBがda0で、インストールファイルが入ったUSBがda1だからです。その後、システムが起動すると、freebsdがインストールされているUSBはda1ではなくda0です。 freebsdを最初にロードしたUSBスロットにfreebsdをインストールするために使用したUSBを配置することで、この問題を解決しました。
zfsからrootとしてインストールすると、正しいスロットにUSBスティックがインストールされません。
答え1
数回の検索の最後についに答えを見つけました。 HP Proliant gen 8サーバーがあります。 zfsloaderのバグが原因でこのエラーが発生します。この問題を解決するパッチがありますここ(ダウンロード)。私はFreeBSD 11を使用しており、パッチは10.1と10.3に適用されますが、10.3はFreeBSD 11でも動作します。
再起動時にzpoolはまだ使用中なので、再起動する前に手動でエクスポートする必要があります。
zpool export -f zroot
回答の検索中にいくつかの興味深いウェブサイトが見つかりました。
- calomel.org - zfs freebsd rootのインストール:zfsにfreebsdルートを手動でインストールするための簡単なスクリプト
- GPART のマニュアルページ:ブートストラップこの章では、FreeBSDの起動プロセスについて非常に詳しく説明します。どのパーティションを探しますか?
- FreeBSD wiki - zfsのroot - ufsを起動: これは、ufs を使用して zfs パーティションからブートしようとするときに便利なリソースです。
- Wonkity.com – ディスク設定
編集:良いです。これでサーバーのインストールが完了しました。インストーラを使用してFreeBSDを再インストールし、ZFSからrootを選択しました。インストールが完了した後、シェルに入るオプションを選択しました。パッチ付きzfsloaderを取得するには、次のコマンドを使用します。
cd /boot
mv zfsloader zfsloader.bak
fetch --no-verify-peer -o zfsloader https://goo.gl/TMQmib
chmod 555 zfsloader
exit