Nota: las listas negras no funcionarán para los módulos que están integrados en la imagen del núcleo (es decir, no se cargan a través de un .koarchivo separado . La única forma de desactivar dichos módulos es a través de un parámetro del núcleo (si está disponible) o volviendo a compilar el núcleo.
Simplemente abra su /etc/modprobe.d/blacklistarchivo y agregue el nombre del controlador con la siguiente sintaxis:
blacklist driver-name
EDITAR: en versiones posteriores desde 12.10 (12.04?) El archivo es /etc/modprobe.d/blacklist.conf
Reinicie su caja y use el comando lsmod para mostrar el estado de los módulos en el kernel de Linux
Nota : aquí driver-nameestá el nombre de su controlador de lista negra deseado. Por ejemplo, si desea deshabilitar el controlador de la tarjeta NIC, puede encontrar el nombre del controlador del kernel para su tarjeta LAN mediante el comando de lspci -vcomando en una terminal.
Por ejemplo, mi salida fue:
........
........
6: 00.0 Controlador Ethernet: Broadcom Corporation NetLink BCM5906M Fast Ethernet PCI Express (rev 02)
Subsistema: Dispositivo Lenovo 3861
Banderas: maestro de bus, desarrollo rápido, latencia 0, IRQ 46
Memoria en b8000000 (64 bits, no precargable) [tamaño = 64K]
ROM de expansión en [deshabilitado]
Capacidades:
Controlador de kernel en uso: tg3
Módulos del kernel: tg3
........
........
Aquí, veo que el conductor está tg3. por lo que debe escribir tg3(o su controlador) en lugar de driver-name.
en mi caso ( Lubuntu 12.10), no hay un /etc/modprobe.d/blacklistarchivo. Hay un /etc/modprobe.d/blacklist.confarchivo
Abdull
1
Es mejor mantener los módulos en la lista negra de un usuario en un archivo separado para evitar conflictos durante la actualización (vea este comentario en serverfault ).
Alexander Pozdneev
1
El blacklist.confarchivo no necesita existir. Podría poner un archivo llamado my-mom-is-awesomeallí y funcionaría. Crea el nombre que quieras si quieres hacer un archivo específico solo para poner en una lista negra una cosa específica, como blacklist-nouveauo lo que sea.
doug65536
@ doug65536 esta pregunta se publicó hace 7 años, por supuesto, las cosas cambiarán. Simplemente cree una nueva pregunta con la versión de Ubuntu que tiene, para que la gente pueda ayudarlo
LnxSlck
@LnxSlck Estaba abordando la confusión expresada en comentarios anteriores. No quería ayuda ¿Qué pasa con la obsesión de no publicar en contenido antiguo? ¿Solo dejar que se pudra? La gente todavía encuentra esto y otros tendrán las mismas preguntas que he abordado.
doug65536
28
También puede incluirlos temporalmente en la lista negra en la línea de comandos de grub (línea de Linux) cuando inicia con la sintaxis
¿Cuánto tiempo es esto "temporal"? ¿Hasta el próximo arranque?
Seth
1
Seth, es temporal solo para el inicio único si editaste durante el inicio. Si edita usando /etc/grub.d/ scripts o / etc / default / grub, entonces es permanente.
Peter
1
Al parecer, esto no funciona para i915: i915: unknown parameter 'blacklist' ignored.
Rafał Cieślak
55
¿Cuál es la diferencia entre this y modprobe.blacklist=module_to_blacklist?
Zaz
44
o use el parámetro kernel modprobe.blacklist=module_to_blacklist(ver man modprobepara más detalles)
Karl Richter
11
Otra forma de incluir en la lista negra los módulos en al menos Ubuntu 16.04 LTS es agregar la siguiente línea a la línea de comando del kernel:
modprobe.blacklist=MODULE_NAME
Usar el sistema / etc / modprobe es la mejor manera, pero esta es una alternativa que se puede utilizar en caso de necesidad editando la línea de comandos de GRUB en el arranque.
Esto también puede hacerse permanente editando / etc / default / grub y agregando a la GRUB_CMDLINE_LINUX_DEFAULTvariable. Por ejemplo, en mi / etc / default / grub tengo:
Entonces corro update-grub2, entonces update-initramfs -u. Después de reiniciar, estará libre del módulo, siempre y cuando nada lo cargue después del inicio.
Este método también funciona en variantes EL (RHEL, CentOS, SciLinux), pero tendrá que usar los métodos de esa distribución para actualizar grub y el initrd.
(Nota para aquellos que intentan incluir en la lista negra a nouveau: asegúrese de no cargar X ejecutando systemctl set-default multi-user.target, de lo contrario, cuando X comience, ¡cargará nouveau nuevamente!)
Esto es muy útil. Resulta que incluso con una entrada en la lista negra /etc/modprobe/blacklist.conf, el módulo aún se puede cargar manualmente modprobe <module_name>. El uso del install <module_name> /bin/falsemétodo hace que esto falle como se desea.
RawwrBag
3
Ninguna de estas soluciones funcionó en 16.04 LTS para i915.ko.
La solución (sucia) que encontré fue cambiar el nombre
Respuestas:
Simplemente abra su
/etc/modprobe.d/blacklist
archivo y agregue el nombre del controlador con la siguiente sintaxis:EDITAR: en versiones posteriores desde 12.10 (12.04?) El archivo es
/etc/modprobe.d/blacklist.conf
Reinicie su caja y use el comando lsmod para mostrar el estado de los módulos en el kernel de Linux
Nota : aquí
driver-name
está el nombre de su controlador de lista negra deseado. Por ejemplo, si desea deshabilitar el controlador de la tarjeta NIC, puede encontrar el nombre del controlador del kernel para su tarjeta LAN mediante el comando delspci -v
comando en una terminal.Por ejemplo, mi salida fue:
Aquí, veo que el conductor está
tg3
. por lo que debe escribirtg3
(o su controlador) en lugar dedriver-name
.Se puede encontrar mucha información aquí .
fuente
Lubuntu 12.10
), no hay un/etc/modprobe.d/blacklist
archivo. Hay un/etc/modprobe.d/blacklist.conf
archivoblacklist.conf
archivo no necesita existir. Podría poner un archivo llamadomy-mom-is-awesome
allí y funcionaría. Crea el nombre que quieras si quieres hacer un archivo específico solo para poner en una lista negra una cosa específica, comoblacklist-nouveau
o lo que sea.También puede incluirlos temporalmente en la lista negra en la línea de comandos de grub (línea de Linux) cuando inicia con la sintaxis
fuente
i915: unknown parameter 'blacklist' ignored
.modprobe.blacklist=module_to_blacklist
?modprobe.blacklist=module_to_blacklist
(verman modprobe
para más detalles)Otra forma de incluir en la lista negra los módulos en al menos Ubuntu 16.04 LTS es agregar la siguiente línea a la línea de comando del kernel:
Usar el sistema / etc / modprobe es la mejor manera, pero esta es una alternativa que se puede utilizar en caso de necesidad editando la línea de comandos de GRUB en el arranque.
Esto también puede hacerse permanente editando / etc / default / grub y agregando a la
GRUB_CMDLINE_LINUX_DEFAULT
variable. Por ejemplo, en mi / etc / default / grub tengo:Entonces corro
update-grub2
, entoncesupdate-initramfs -u
. Después de reiniciar, estará libre del módulo, siempre y cuando nada lo cargue después del inicio.Este método también funciona en variantes EL (RHEL, CentOS, SciLinux), pero tendrá que usar los métodos de esa distribución para actualizar grub y el initrd.
(Nota para aquellos que intentan incluir en la lista negra a nouveau: asegúrese de no cargar X ejecutando
systemctl set-default multi-user.target
, de lo contrario, cuando X comience, ¡cargará nouveau nuevamente!)fuente
En versiones más recientes, debe usar la directiva de instalación en su archivo de lista negra
Reemplace "modulename" arriba con el nombre del módulo. Esto impedirá su carga por la fuerza.
Puede encontrar más información sobre la directiva de instalación en el manual de modprobe.conf
fuente
/etc/modprobe/blacklist.conf
, el módulo aún se puede cargar manualmentemodprobe <module_name>
. El uso delinstall <module_name> /bin/false
método hace que esto falle como se desea.Ninguna de estas soluciones funcionó en 16.04 LTS para i915.ko.
La solución (sucia) que encontré fue cambiar el nombre
Desafortunadamente, la pantalla VGA externa ya no se reconoce: {
fuente
sudo update-initramfs -u
después de modificar los archivos /etc/modeprobe.d/