Wie füge ich Kernel-Modul-Parameter hinzu?

19

Wie füge ich einen Kernel-Modul-Parameter in Ubuntu 11.04 hinzu?

Kann ich die /etc/moduleDatei verwenden? Wenn ja, wie?

waterloo2005
quelle
1
Meinen Sie Parameter wie i915.modeset=1?
Lekensteyn
Ich meine 'options thinkpad_acpi fan_control = 1' in einer Datei unter /etc/modprobe.d/ oder 'thinkpad_acpi fan_control = 1' in / etc / modules?
waterloo2005

Antworten:

18

/etc/modulesscheint geladen zu sein von /etc/init/module-init-tools.conf. Das erste Argument ist der Modulname, andere Argumente sind die Parameter. Es /etc/modulesscheint in Ordnung zu sein, Folgendes hinzuzufügen:

thinkpad_acpi fan_control=1

Fügen Sie der /etc/initramfs-tools/modulesDatei die vorherige Zeile hinzu, um dieses Modul zu laden und diese Parameter zu einem sehr frühen Zeitpunkt des Startvorgangs festzulegen . Nach einer Änderung in dieser Datei müssen Sie die Ramdisk neu generieren:

sudo update-initramfs -u

Als mögliche Alternative können Sie versuchen, die Optionen der Kernel-Zeile hinzuzufügen (ich habe sie nicht selbst getestet, aber es scheint für Einstellungen wie i915.modeset=1Bearbeiten /etc/default/grubund Finden der Zeile mit zu funktionieren GRUB_CMDLINE_LINUX_DEFAULT="quiet splash". Ersetzen Sie sie durch etwas wie:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad_acpi.fan_control=1"

So rufen Sie eine Liste der Optionen für ein Kernelmodul ab:

modinfo -p thinkpad_acpi

Das hat nicht funktioniert i915, dafür musste ich laufen:

modinfo i915 | grep ^parm

Führen Sie Folgendes aus, um den aktuellen Wert eines Modulparameters abzurufen:

sudo cat /sys/module/MODULE/parameters/PARAM

Für den fan_controlParameter des thinkpad_acpiModuls müssen Sie Folgendes ausführen:

sudo cat /sys/module/thinkpad_acpi/parameters/fan_control

Wenn diese Funktion einen Fehler zurückgibt, prüfen Sie, ob das Modul geladen wurde und ob die Option vorhanden ist oder nicht.

Lekensteyn
quelle
2
Wie kann man wissen, dass ein Parameter des Moduls wirksam geworden ist? danke
waterloo2005
@ waterloo2005: Du kannst dafür verwenden /sys. Siehe die überarbeitete Antwort.
Lekensteyn
Ich finde, ich füge keine Parameter in / etc / modules hinzu. Ich muss sie nur in /etc/modprobe.d/ hinzufügen. Danke
waterloo2005
Die Unterscheidung zwischen /etc/modulesund /etc/modprobe.d: Die erste Unterscheidung gilt für Module, die zu Beginn des Startvorgangs geladen wurden (direkt nach dem Start von Plymouth), die letztere wird später (durch Initskripte) geladen
Lekensteyn
Wo finde ich offizielle Anweisungen dazu? Danke
waterloo2005
10

Festlegen von Moduloptionen mithilfe von Dateien in /etc/modprobe.d/

Dateien im Verzeichnis /etc/modprobe.d/ können verwendet werden, um Moduleinstellungen an udev zu übergeben, das modprobe verwendet, um das Laden der Module während des Systemstarts zu verwalten. Konfigurationsdateien in diesem Verzeichnis können einen beliebigen Namen haben, da sie mit der Erweiterung .conf enden. Die Syntax lautet:

/etc/modprobe.d/myfilename.conf
---------------------------------------------------------
options modname parametername=parametervalue

Beispielsweise:

/etc/modprobe.d/thinkfan.conf
---------------------------------------------------------
# On ThinkPads, this lets the 'thinkfan' daemon control fan speed
options thinkpad_acpi fan_control=1

Quelle: Kernel-Module - ArchWiki


Soweit mir bekannt ist, können Sie die erwähnte Methode für Module verwenden, die beim Booten automatisch geladen werden (um das Entladen und Neuladen von Modulen mit speziellen Parametern zu vermeiden, wie dies bei Treibermodulen der Fall sein kann), und die /etc/modulesDatei für Module, die geladen werden wird beim Booten nicht automatisch geladen.

user2366867
quelle
7

Mit Ubuntu 16.04 kann man keine Kernelmodul-Parameter mehr einbinden /etc/modules . Im Startprotokoll wird ein Fehler generiert, der besagt, dass "my_kernel_mod myparam = x" nicht gefunden werden kann.

Stattdessen muss man nur den Namen des Kernelmoduls /etc/moduleseingeben und die Optionen in die Datei /etc/modprobe.d/myfilename.conf einfügen (wie oben vorgeschlagen ).

Pierz
quelle