커널에 내장된 드라이버, 즉 모듈이 아닌 드라이버를 차단하는 방법

커널에 내장된 드라이버, 즉 모듈이 아닌 드라이버를 차단하는 방법

nouveau즉, Linux 커널 소스 디렉터리에서 작업을 수행하는 것이 아니라 커널에 내장된 드라이버를 사용하여 Linux 커널을 구성하고 컴파일했습니다 <*>.<M>make menuconfig

이제 대신 다른 드라이버를 사용할 예정입니다 nouveau. nouveau모듈인 경우 blacklist nouveauinside 와 같은 줄을 추가하겠습니다./etc/modprobe.d/blacklist.conf

이제 어떻게 해야 할까요?

답변1

이것을 아는 사람은 많지 않지만 커널에 내장된 드라이버를 블랙리스트에 추가하는 방법이 분명히 있습니다.

먼저 를 실행해야 합니다 lsmod | grep <driver_name>. 결과가 표시되지 않으면 축하합니다. 드라이버가 커널에 직접 내장되어 있으므로 일반적인 블랙리스트 방법은 작동하지 않습니다. 대신 드라이버의 초기화 기능을 블랙리스트에 추가해야 합니다. 이렇게 하려면 initcall_blacklist=<driver_init>커널 부팅 옵션을 추가해야 합니다.드라이버 초기화드라이버 초기화 기능입니다. 어떤 이름을 사용해야 하는지 알아내려면 커널의 소스 코드를 살펴봐야 합니다. 구체적인 예로, initcall_blacklist=vmd_drv_init부팅 옵션을 사용하면 Intel의 볼륨 관리 장치 드라이버가 활성 볼륨 관리 장치 컨트롤러를 로드하고 바인딩하는 것을 방지할 수 있습니다.

답변2

다음 구문을 사용하여 부팅할 때 grub 명령줄(Linux 줄)에서 일시적으로 블랙리스트에 추가할 수도 있습니다.

module_to_blacklist.blacklist=yes

또는

modprobe.blacklist=module_to_blacklist

변경 사항을 영구적으로 적용하려면 grub,cfg를 수정해야 합니다.

이 솔루션은 일부 모듈에서는 작동하지 않습니다.

관련 정보