[명령줄에 전달된] 커널 매개변수가 유효한 커널 매개변수인지 어떻게 알 수 있나요?

[명령줄에 전달된] 커널 매개변수가 유효한 커널 매개변수인지 어떻게 알 수 있나요?

구성 파일 에서 grub.conf커널이 사용할 명령줄 매개변수를 지정할 수 있습니다.

kernel /boot/kernel-3-2-1-gentoo root=/dev/sda1 vga=791 plasticDuck

특정 커널을 부팅한 후 모든 매개변수가 "올바르게" 전달되었는지 알 수 있는 방법이 있습니까?

plasticDuck즉, 커널 매개변수 는 없지만 다음과 같습니다.

dmesg | grep plasticDuck

다음만 반환:

Kernel command line: root=/dev/sda1 vga=791 plasticDuck

(오류 없음)

답변1

내장 모듈 매개변수와 해당 값을 나열하는 명령이 없는 것 같습니다. 드라이버 파일의 경로를 알고 있으면 해당 모듈에 대한 매개변수를 나열할 수 있습니다. 예를 들어 이를 ipv6.autoconf=0커널 부팅 인수로 사용하는 경우 다음을 실행할 수 있습니다.

ls -1 /sys/module/ipv6/parameters/
autoconf
disable
disable_ipv6

그런 다음 지정된 인수가 목록에 있으면(즉, 유효한 경우) 해당 값이 확인됩니다.

cat /sys/module/ipv6/parameters/autoconf 
0

또는 특정 경우에는 - atkbd:

cat /sys/bus/serio/drivers/atkbd/serio0/softraw
1

~에 따르면자일스 포스트, 로드 가능한 모듈의 경우 특정 매개변수 및 가능한 값을 나열하는 데 사용할 수 있지만 modinfo내장 모듈에서는 작동하지 않습니다(시도했지만)지원 추가내장 모듈의 경우):

modinfo ipv6
modinfo: ERROR: Module ipv6 not found.

답변2

매개변수가 유효한지 여부를 알 수 없습니다. 커널에 전달된 인수는 모듈에도 전달되며(모듈 자체를 로드할 때 전달된 인수에 추가로) 아직 로드하지 않은 모듈은 이 인수를 이해할 것입니다.

modinfo명령은 모듈이 이해하는 매개변수를 나열합니다. 에서 로드된 모듈의 매개변수를 볼 수 있습니다 /sys/module/$module_name/parameteres/. 커널 자체에는 비슷한 것이 없습니다.

답변3

/proc/cmdline파일에는 커널에 전달된 매개변수가 포함되어 있습니다.

관련 정보