如何创建/填充 /dev/loop* 设备?

如何创建/填充 /dev/loop* 设备?

背景:我正在设置loopaes(参见http://loop-aes.sourceforge.net/loop-AES.README)在新安装的 Devuan ASCII 2.0.0 上。我按照循环 AES.README 的指示使用 CONFIG_BLK_DEV_LOOP=n 构建了内核 4.9.184。

它需要 /dev/loop 设备,但是 /dev 中自动没有:

root@devinix:/dev# ls -la loop*
ls: cannot access 'loop*': No such file or directory

来自循环 AES.README:

不创建任何预先存在的循环块特殊设备节点的发行版的解决方法:(1) 更改 init 脚本运行顺序,以便在启用交换之前加载基于配置文件的循环内核模块,或者 (2) 重新配置 udev pre-create至少一个 /dev/loop0 块特殊设备节点,或 (3) 在 /lib/udev/devices/ 目录内创建静态循环块特殊设备节点,并将 udev 复制到 /dev 目录。

我想做选项(3),因为它对我来说最有意义。

我在 /lib/udev/devices 中创建了循环设备:

mknod -m660 loop0 b 7 0
mknod -m660 loop1 b 7 1
mknod -m660 loop2 b 7 2
mknod -m660 loop3 b 7 3
mknod -m660 loop4 b 7 4
mknod -m660 loop5 b 7 5
mknod -m660 loop6 b 7 6
mknod -m660 loop7 b 7 7

并设置所有权

chown root.disk /dev/loop*

并创建了循环控制

mknod -m600 loop-control c 10 237

/lib/udev/devices 中的循环设备“文件”现在与 /dev 中安装的 UberStudent 4.3 (Ubuntu 14.04.1) 完全相同。

如何让 udev 在启动时将它们复制到 /dev?

我尝试过的其他一些事情如下。

root@devinix:/dev# losetup -f
Error: could not find any loop device
root@devinix:/dev# MAKEDEV -v loop
/run/udev or .udevdb or .udev presence implies active udev.  Aborting MAKEDEV invocation.

谢谢

相关内容