Черный список модуля только для определенных версий ядра?

Когда я загружаю ядро ​​4.4.x, я хочу удостовериться, что ошибочный промежуточный драйвер r8723au занесен в черный список в пользу значительно улучшенной магистрали rtl8xxxu .

Однако, когда я загружаю старое ядро ​​4.2.x, мне все равно нужно использовать старый драйвер r8723au.

Есть ли способ занести в черный список модуль только для конкретной версии ядра? ( ОБНОВЛЕНИЕ: Я хочу занести в черный список старый модуль , r8723au, из ] нового ядра, чтобы предотвратить его переход от нового драйвера.)

У меня были идеи:

  • /etc/modprobe.d/blacklist-r8723au.conf - невозможно определить черный список только для одной версии ядра, насколько я могу судить
  • /etc/default/grub - нет способа указать modprobe.blacklist=r8723au для командной строки ядра для некоторых версий, а не для других

Быстрое и грязное решение, которое я получил, это вручную отредактировать /boot/grub/grub.cfg и добавить соответствующий параметр черного списка для определенных версий ядра… но, конечно, он будет перезаписан автоматически при следующем запуске update-grub (возможно, при установке обновленного ядра Xenial / 16.04).

1
задан 12 May 2016 в 05:31

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, возможно, будет установлена Менеджером обновлений.

2
ответ дан 12 May 2016 в 15:31

Другие вопросы по тегам:

Похожие вопросы: