Udev

udev 規則: IMPORT{cmdline}=‘nodmraid’ - 這是做什麼的?

  • August 14, 2022

從手冊中不清楚是什麼:

IMPORT{cmdline}="nodmraid"實際上呢?

它是否將“nodmraid”命令行參數引入到名為 nodmraid 的環境變數中,還是只是將環境變數“nodmraid”設置為“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沒有參數,所以它的值設置為1modprobe.blacklist有一個參數 ( nouveau),所以它的值設置為nouveau並且nodmraid沒有設置,因為我的引導參數中沒有它。

如果您實際上nodmraid在核心命令行上有,您實際上可以看到它為所有設備設置,1即使沒有上面的“測試”規則:

$ udevadm info /dev/vda1 --query property --property nodmraid
nodmraid=1

引用自:https://unix.stackexchange.com/questions/713562