36.3.2. Come inserire un driver nella blacklist

Come descritto in Sezione 36.1.2, «Avvio della modalitá di ripristino», l'opzione del kernel rdblacklist inserisce nella blacklist un driver al momento dell'avvio. Per continuare ad inserire il driver nella blacklist durante i processi d'avvio successivi aggiungere l'opzione rdblacklist nella riga in /boot/grub/grub.conf che descrive il kernel. Per inserire il dispositivo nella blacklist quando il dispositivo root è stato montato, aggiungere una voce blacklist in un file su /etc/modprobe.d/.
  1. Avviate il sistema in modalità di ripristino con il comando linux rescue rdblacklist=name_of_driver, dove name_of_driver è il driver da inserire nella blacklist. Seguire le istruzioni in Sezione 36.1.2, «Avvio della modalitá di ripristino» e non scegliere di montare il sistema installato in sola lettura.
  2. Aprire il file /mnt/sysimage/boot/grub/grub.conf con l'editor di testo vi:
    vi /mnt/sysimage/boot/grub/grub.conf
  3. Identificare il kernel predefinito per avviare il sistema. Ogni kernel viene specificato nel file grub.conf con un gruppo di righe che inizia con title. Il kernel predefinito viene specificato dal parametro default verso l'inizio del file. Un valore 0 si riferisce al kernel descritto nel primo gruppo di righe, un valore 1 al kernel descritto nel secondo gruppo e valori più alti si riferisco ai kernel successivi.
  4. Modificate la riga kernel del gruppo in modo da includere l'opzione rdblacklist=name_of_driver, dove name_of_driver è il driver da inserire nella blacklist. Per esempio per inserire nella blacklist il driver foobar:
    kernel /vmlinuz-2.6.32-71.18-2.el6.i686 ro root=/dev/sda1 rhgb quiet rdblacklist=foobar
  5. Salvare il file ed uscire da vi.
  6. Creare un nuovo file in /etc/modprobe.d/ che contenga il comando blacklist name_of_driver. Conferire al file un nome descrittivo che aiuterà la sua ricerca in un secondo momento, usare l'estensione del filename .conf. Per esempio, per continuare ad inserire nella blacklist il driver foobar quando il dispositivo root è stato montato eseguire:
    echo "blacklist foobar" >> /mnt/sysimage/etc/modprobe.d/blacklist-foobar.conf
  7. Riavviare il sistema. A questo punto non sarà più necessario fornire manualmente rdblacklist come opzione del kernel fino all'aggiornamento successivo del kernel predefinito. Se aggiornate il kernel predefinito prima di aver corretto il problema con il driver, sarà necessario modificare grub.conf in modo tale che il driver che presenta l'errore non venga caricato al momento dell'avvio.