특정 커널 버전에 대해서만 모듈을 블랙리스트에 추가합니까?

특정 커널 버전에 대해서만 모듈을 블랙리스트에 추가합니까?

r8723au4.4.x 커널을 부팅할 때 훨씬 개선된 메인라인을 위해 버그가 있는 스테이징 드라이버가 블랙리스트에 추가되었는지 확인하고 싶습니다.rtl8xxxu.

그러나 이전 4.2.x 커널을 부팅할 때는 여전히 이전 드라이버를 사용해야 합니다 r8723au.

모듈을 블랙리스트에 올릴 수 있는 방법이 있나요?오직특정 커널 버전의 경우? (업데이트:블랙리스트에 올리고 싶다오래된모듈, r8723au, 에서새로운커널을 사용하여 새 드라이버에서 인계받는 것을 방지합니다.)

내가 가진 아이디어:

  • /etc/modprobe.d/blacklist-r8723au.conf-- 제가 알 수 있는 한, 하나의 커널 버전에 대해서만 블랙리스트를 지정하는 것은 불가능합니다.
  • /etc/default/grubmodprobe.blacklist=r8723au-- 일부 버전에서는 커널 명령줄을 지정할 수 없고 다른 버전에서는 지정할 수 없습니다.

내가 가진 빠르고 더러운 해결책은 관련 블랙리스트 매개변수를 수동으로 편집하고 특정 커널 버전에 추가하는 것입니다 … 하지만 이것은 다음에 실행할 때 (아마도 업데이트된 Xenial/16.04 커널을 설치할 때) /boot/grub/grub.cfg자동으로 덮어쓰여지게 됩니다. update-grub.

답변1

내가 아는 한 rtl8xxxu 모듈은 커널 버전 4.2.0-xx에 존재하지 않으므로 4.2.0-xx 커널로 부팅해도 괜찮을 것입니다.

두 드라이버가 동일한 usb.ids를 다루고 있다는 것을 알지 못하지만 모듈 이름을 바꾸면 r8723au가 4.4.0-xx에서 로드되지 않도록 할 수 있습니다. 예를 들어:

sudo mv /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.ko  /lib/modules/4.4.0-21-generic/kernel/drivers/staging/rtl8723au/r8723au.bak

sudo mv /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.ko  /lib/modules/4.4.0-22-generic/kernel/drivers/staging/rtl8723au/r8723au.bak

업데이트된 커널 버전(아마도 -23)이 Update Manager에 의해 설치되면 프로세스를 반복해야 합니다.

관련 정보