![卡在 initramfs 和 btrfs 根阵列中](https://linux22.com/image/886903/%E5%8D%A1%E5%9C%A8%20initramfs%20%E5%92%8C%20btrfs%20%E6%A0%B9%E9%98%B5%E5%88%97%E4%B8%AD.png)
我正在尝试使用 btrfs raid1 设置一个包含三个驱动器的系统,但是如果我的 btrfs 根目录中有多个驱动器,我就会卡在 initramfs 中。
我的三个分区:/dev/mapper/sda3_crypt | sdb3_crypt| sdc3 crypt
我确信所有三个驱动器都已解锁和映射,并且看起来 local-premount/btrfs 设置正确(运行 btrfs 设备扫描):
#!/bin/sh
set -e
PREREQ=""
prereqs()
{
echo "${PREREQ}"
}
case "${1}" in
prereqs)
prereqs
exit 0
;;
esac
if [ -x /bin/btrfs ]
then
modprobe btrfs
/bin/btrfs device scan 2> /dev/null
fi
并且我有使用 btrfs 的 UUID 的 /etc/fstab:
# <file system> <mount point> <type> <options> <dump> <pass>
#/dev/mapper/sda3_crypt / btrfs defaults,subvol=@ 0 1
UUID=50758399-2529-470f-bc9d-fbac00a41913 / btrfs defaults,subvol=@ 0 1
UUID=aed887b8-8354-4aa8-8d10-2ec20e8478b5 /boot btrfs defaults 0 2
/dev/mapper/md0_crypt none swap sw 0 0
有什么想法可以解释是什么问题导致我的阵列无法安装和启动多个驱动器?
答案1
事实证明,dropbear/busybox 缺少 /dev/btrfs-control 设备节点。这通常由 udev 设置。
登录 dropbear (initramfs) 时你需要自行创建它:
# mknod /dev/btrfs-control c 10 234