在 14.04 中启动 ZFS 根目录

在 14.04 中启动 ZFS 根目录

半年来,我一直在 ZFS 根目录上运行 Debian 衍生产品 (LMDE)。它是通过将常规的基于 ext4 的安装(包含所有必要的软件包)克隆到 ZFS 池、chrooting 到该池并重新创建 grub 菜单和引导加载程序而创建的。系统使用 ext-3 专用 /boot 分区。

我想对 Ubuntu 14.04 做同样的事情,但是遇到了一些障碍。

  • 没有 Trusty zfs-grub 包
  • 默认的 grub 包没有内置 ZFS 支持。我在构建系统中发现了导致该问题的小错误(已创建补丁报告)并构建了我自己的 grub 包。
  • 内置的 ZFS 支持功能失调,它没有向内核命令行添加适当的参数
  • 因此,我安装了 ZoL grub 包,我也在 LMDE 系统上使用这个包,它确实给了我一个正确的 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

相关内容