14.04 で ZFS ルートから起動する

14.04 で ZFS ルートから起動する

私は、半年前から ZFS ルート上で Debian 派生版 (LMDE) を実行しています。これは、必要なすべてのパッケージを含む通常の ext4 ベースのインストールを ZFS プールにクローンし、そのプールに chroot して grub メニューとブートローダーを再作成することによって作成されました。システムは、ext-3 専用の /boot パーティションを使用します。

Ubuntu 14.04 でも同じことをやりたいのですが、いくつかの障害に遭遇しました。

  • 信頼できるzfs-grubパッケージはありません
  • デフォルトの grub パッケージには ZFS サポートが組み込まれていません。その原因となるビルド システムに小さなバグが見つかり (パッチ付きのレポートが作成されました)、独自の grub パッケージをビルドしました。
  • 組み込みのZFSサポートは機能不全で、カーネルコマンドラインに適切な引数を追加しません。
  • そこで私はLMDEシステムでも使用しているZoL grubパッケージをインストールしました。これにより正しいgrub.cfgが提供されます。

しかし、正しい grub.cfg であっても、ブート プロセスは ZFS プールから bootfs パラメータを取得していないようです。代わりに、値を受け取るはずの変数は空のままです。その結果、initrd はデフォルトのプール ("rpool") をロードしようとしますが、もちろん失敗します。ただし、プールを手動でインポートし、手動でプロセスを完了することはできます。

記憶が正しければ、ブートプロセスがブロックされるのを避けるためにapparmorを無効にする必要もありました。プールをインポートしています。

何か見落としているのでしょうか? 比較のために、LMDE システムに Ubuntu 3.13 カーネルをインストールしましたが、問題なく動作します (つまり、同一のカーネルと grub バイナリにより、LMDE では問題なく正常に起動しますが、Ubuntu では起動しません)。

編集: grub バグレポート:

https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1321335?comments=all

https://savannah.gnu.org/bugs/index.php?42392

答え1

関連情報