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 mpt2sas
wird 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.deb
ist das Ergebnis , dass der alte Treiber von umbenannt /lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko
zu /lib/modules/2.6.32-5-amd64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko.orig
und 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); reboot
verbessert sich nicht. - Das Hinzufügen des Kernel-Boot-Parameters
modprobe.blacklist=mpt2sas
wird nicht verbessert.
Wie kann ich das Laden des neuen mpt2sas-Kernelmoduls während der Einzelbenutzer-Startphase blockieren? (Ich möchte mpt2sas immer noch mit modprobe
in /etc/rc.local laden).
quelle
local_start
undlocal_stop
, setzen Sie Ihre modprobe Linie in local_start dann bewegenlocal
Dienst 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 inneed
Abhängigkeiten für 'local' an 'Service in rc.conf (es gibt viele Beispiele).Antworten:
Stellen Sie sicher, dass Ihr Modul nicht in der Datei aufgeführt ist
/etc/modules
. Diese Datei listet die Module auf, die beim Booten gemäß http://www.debian.org/doc/manuals/debian-faq/ch-kernel.en.html#s-modules geladen werden müssenWenn der Modulname - in diesem Fall mpt2sas - in der Datei aufgeführt ist
/etc/modules
:mpt2sas
" wird "#mpt2sas
".depmod -aeF /boot/System.map-$(uname -r) && update-initramfs -u -k $(uname -r) -t
quelle
/etc/modules
Datei wahrscheinlich selbst bearbeitet .Fügen Sie dies Ihrer Kernel-Boot-Befehlszeile hinzu (z. B. drücken eund bearbeiten Sie in Grub die Kernel-Boot-Parameter):
Mehr dazu im Arch-Wiki .
quelle
modprobe.blacklist=mpt2sas
ändert in unserem Fall das Laden des Moduls /weak-updates/mpt2sas.ko während des Startvorgangs nicht.