大致理解了无法从 btrfs 内建 RAID 启动的原因

经过和 dracut 开发人员的交流,证实了我之前的猜测。无法从 btrfs 内建 RAID 启动的根源居然真的是在 initramfs 上!

可是我曾经查看过 dracut 的几个模块,里面有 btrfs 扫描设备的脚本在,而我在 initramfs 的 shell 里面也确实可以运行扫描设备命令。那么问题基本可以确定是在脚本的执行顺序上了,dracut 生成的 initramfs 肯定是先执行了 mount root,然后才来试图扫描设备。

虽然知道了问题的根源,我却无法找到解决的方案,因为我并不懂开发。而这个问题我甚至不知道该往哪边反馈,dracut 的开发人员说他自己用的没问题。难道要我反馈给 Gentoo 社区?似乎不太现实。可惜,Gentoo 的 genkernel 不含 btrfs 模块,无法用来做从 btrfs 启动所需要的 initramfs。

这个问题看来暂时只好搁置,而且我仍未有两块相同大小的磁盘来作为 btrfs 的根存储池。