36.3.2. Blacklisting eines Treibers

Wie in Abschnitt 36.1.2, »In den Rettungsmodus booten« beschrieben führt die rdblacklist-Kernel-Option zum Blacklisting eines Treibers zum Boot-Zeitpunkt. Um den Treiber auch bei zukünftigen Boot-Vorgängen zu blacklisten, fügen Sie die rdblacklist-Option zu der Zeile in /boot/grub/grub.conf, die Ihren Kernel beschreibt, hinzu. Um den Treiber bei der Einhängung des root-Geräts zu blacklisten, fügen Sie einen Blacklist-Eintrag in einer Datei unter /etc/modprobe.d/ hinzu.
  1. Booten Si das System mit dem linux rescue rdblacklist=name_of_driver-Befehl in den Rettungsmodus, wobei name_of_driver der Treiber ist, für den das Blacklisting erfolgen soll. Folgen Sie den Anweisungen in Abschnitt 36.1.2, »In den Rettungsmodus booten« und wählen Sie nicht die schreibgeschützte (read-only) Einhängung des Systems.
  2. Öffnen Sie die /mnt/sysimage/boot/grub/grub.conf-Datei mit dem vi-Texteditor:
    vi /mnt/sysimage/boot/grub/grub.conf
  3. Identifizieren Sie den Standard-Kernel, mit dem das System gebootet wird. Jeder Kernel ist in der grub.conf-Datei mit einer Gruppe von Zeilen festgelegt, die mit title beginnt. Der Standardkernel wird durch den default-Parameter in der Nähe des Anfangs der Datei festgelegt. Ein Wert von 0 bezieht sich auf den in der ersten Zeilengruppe beschriebenen Kernel, ein Wert von 1 bezieht sich auf einen in der zweiten Gruppe beschriebenen Kernel und höhere Werte beziehen sich auf nachfolgende Kernels.
  4. Bearbeiten Sie die kernel-Zeile der Gruppe, damit diese die Option rdblacklist=name_of_driver enthält, wobei name_of_driver der Name des Treibers ist, für den ein Blacklisting erfolgen soll. Um etwa ein Blacklisting des Treibers namens foobar durchzuführen:
    kernel /vmlinuz-2.6.32-71.18-2.el6.i686 ro root=/dev/sda1 rhgb quiet rdblacklist=foobar
  5. Speichern Sie die Datei und verlassen Sie vi.
  6. Erstellen Sie eine neue Datei unter /etc/modprobe.d/, die den Befehl blacklist name_of_driver enthält. Geben Sie der Datei einen deskriptiven Namen, der Ihnen das zukünftige Auffinden derselben erleichtert, und verwenden Sie die Dateinamenerweiterung .conf. Um etwa den Treiber foobar weiterhin zu blacklisten, wenn das root-Gerät eingehängt ist, führen Sie Folgendes aus:
    echo "blacklist foobar" >> /mnt/sysimage/etc/modprobe.d/blacklist-foobar.conf
  7. Booten Sie das System erneut. Sie müssen rdblacklist bis zur nächsten Aktualisierung des Standard-Kernels nicht mehr manuell als eine Kernel-Option bereitstellen. Falls Sie den Standardkernel aktualisieren, ehe das Problem mit dem Treiber behoben ist, so müssen Sie grub.conf erneut bearbeiten, um sicherzustellen, dass der fehlerhafte Treiber nicht zum Boot-Zeitpunkt geladen wird.