Bei einer "Linux debian 2.6.32-5-amd64 # 1 SMP" -Installation, bei der das Laden eines Kernelmoduls (mpt2sas) verzögert werden soll, um nach dem Starten von sshd geladen zu werden, und Benutzer sich remote anmelden können, wurde das Laden des mpt2sas-Moduls deaktiviert Einzelbenutzer-Boot, von:
$ echo 'blacklist mpt2sas' >> /etc/modprobe.d/mpt2sas.conf; depmod -aeF /boot/System.map-2.6.32-5-amd64; update-initramfs -u -k $(uname -r)
Später modeprobe -v mpt2saswird a in /etc/rc.local ausgeführt.
Nach einem neueren mpt2sas Treiber installieren , verwenden dpkg -i mpt2sas-15.00.00.00-3_Debian6.0.5.amd64.debist das Ergebnis , dass der alte Treiber von umbenannt /lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.kozu /lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko.origund der neuen Treiber bei installiert /lib/modules/2.6.32-5-amd64/weak-updates/mpt2sas/mpt2sas.ko.
Der Nebeneffekt ist, dass die Zeilen- Blacklist mpt2sas in /etc/modprobe.d/mpt2sas.conf keine Auswirkungen mehr hat . Wenn Module im Einzelbenutzer-Startprozess geladen werden, wird mpt2sas als erstes Kernelmodul geladen.
Regression:
- Ich weiß, dass /etc/modprobe.d/mpt2sas.conf noch geladen wird, da beim Eingeben einer fehlerhaften Zeile in dieser Datei während des Startvorgangs (4 Mal) eine Warnung an der Konsole angezeigt wird.
- Laufen
depmod -aeF /boot/System.map-2.6.32-5-amd64; update-initramfs -u -k -t $(uname -r); rebootverbessert sich nicht. - Das Hinzufügen des Kernel-Boot-Parameters
modprobe.blacklist=mpt2saswird nicht verbessert.
Wie kann ich das Laden des neuen mpt2sas-Kernelmoduls während der Einzelbenutzer-Startphase blockieren? (Ich möchte mpt2sas immer noch mit modprobein /etc/rc.local laden).
local_startundlocal_stop, setzen Sie Ihre modprobe Linie in local_start dann bewegenlocalDienst gewünschte Position, z. B. wenn Ihr sshd auf Runlevel 'boot' ausgeführt wird, platzieren Sie 'local' auf dem Standard-Runlevel mit Ihrem Dienstprogramm zur Verwaltung von RC-Skripten (rc-update, update-rc.d oder so) oder geben Sie sshd inneedAbhängigkeiten für 'local' an 'Service in rc.conf (es gibt viele Beispiele).