从手册上看不太清楚:
IMPORT{cmdline}="nodmraid"
实际上吗?
它将“nodmraid”命令行参数引入名为 nodmraid 的环境变量中,还是只是将环境变量“nodmraid”设置为“1”或“”,还是只返回“1”(但没有赋值)在这种情况下)?
谢谢
答案1
IMPORT{cmdline}="nodmraid"
解析内核命令行并将nodmraid
设备的属性设置为(1
如果该属性nodmraid
出现在引导命令行上并且没有参数)。如果它有一个参数(这对于 来说实际上没有意义nodmraid
,但您可以给它一个),它会将属性值设置为该参数。
检查具体IMPORT{cmdline}
工作原理的简单规则如下所示:
IMPORT{cmdline}="ro"
IMPORT{cmdline}="modprobe.blacklist"
IMPORT{cmdline}="nodmraid"
(只需在启动命令行上选择一些随机选项)并导致udevadm info
$ udevadm info /dev/sda --query property --property nodmraid,ro,modprobe.blacklist
ro=1
modprobe.blacklist=nouveau
ro
没有参数,因此其值设置为1
,modprobe.blacklist
有参数 ( nouveau
),因此其值设置为nouveau
,但未nodmraid
设置,因为我的启动参数中没有它。
如果你实际上nodmraid
在内核命令行上,你实际上可以看到它为所有设备设置,即使1
没有上面的“测试”规则:
$ udevadm info /dev/vda1 --query property --property nodmraid
nodmraid=1