udev 규칙: IMPORT{cmdline}="nodmraid" - 이것이 무엇을 합니까?

udev 규칙: IMPORT{cmdline}="nodmraid" - 이것이 무엇을 합니까?

매뉴얼에서는 명확하지 않습니다.

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

관련 정보