Bagaimana cara menambahkan parameter modul kernel?

20

Bagaimana cara menambahkan parameter modul kernel di Ubuntu 11.04?

Bisakah saya menggunakan /etc/modulefile? Jika ya, bagaimana?

waterloo2005
sumber
1
Apakah maksud Anda parameter suka i915.modeset=1?
Lekensteyn
Maksud saya 'opsi thinkpad_acpi fan_control = 1' dalam file di bawah /etc/modprobe.d/ atau 'thinkpad_acpi fan_control = 1' di / etc / modules?
waterloo2005

Jawaban:

19

/etc/modulestampaknya dimuat oleh /etc/init/module-init-tools.conf. Argumen pertama adalah nama modul, argumen lain adalah parameternya. Menambahkan yang berikut ini /etc/modulestampaknya baik-baik saja:

thinkpad_acpi fan_control=1

Untuk memuat modul ini dan mengatur parameter-parameter ini pada tahap awal boot, tambahkan baris sebelumnya ke /etc/initramfs-tools/modulesfile. Setelah perubahan pada file itu, Anda perlu membuat ulang ramdisk:

sudo update-initramfs -u

Sebagai alternatif yang memungkinkan, Anda dapat mencoba menambahkan opsi ke baris kernel (Saya belum mengujinya sendiri, tetapi tampaknya berfungsi untuk pengaturan seperti i915.modeset=1. Edit /etc/default/grubdan temukan baris dengan GRUB_CMDLINE_LINUX_DEFAULT="quiet splash". Ganti dengan sesuatu seperti:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thinkpad_acpi.fan_control=1"

Untuk mendapatkan daftar opsi untuk modul kernel:

modinfo -p thinkpad_acpi

Ini tidak berhasil i915, untuk itu saya harus menjalankan:

modinfo i915 | grep ^parm

Untuk mendapatkan nilai parameter modul saat ini, jalankan:

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

Untuk fan_controlparameter thinkpad_acpimodul, Anda harus menjalankan:

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

Jika fungsi ini mengembalikan kesalahan, periksa apakah modul dimuat dan apakah opsi ada atau tidak.

Lekensteyn
sumber
2
Bagaimana cara mengetahui parameter modul mulai berlaku? terima kasih
waterloo2005
@ waterloo2005: Anda bisa menggunakannya /sysuntuk itu. Lihat jawaban yang direvisi.
Lekensteyn
Saya menemukan saya tidak menambahkan parameter di / etc / modules. Saya hanya perlu menambahkannya di /etc/modprobe.d/. Terima kasih
waterloo2005
Perbedaan antara /etc/modulesdan /etc/modprobe.d: yang pertama berlaku untuk modul yang dimuat di tahap awal boot (tepat setelah Plymouth dimulai), yang terakhir dimuat kemudian (dengan skrip init)
Lekensteyn
Di mana saya dapat menemukan instruksi resmi tentang hal itu? terima kasih
waterloo2005
10

Mengatur opsi modul menggunakan file di /etc/modprobe.d/

File dalam direktori /etc/modprobe.d/ dapat digunakan untuk meneruskan pengaturan modul ke udev, yang akan menggunakan modprobe untuk mengelola pemuatan modul selama boot sistem. File konfigurasi dalam direktori ini dapat memiliki nama apa saja, mengingat bahwa itu diakhiri dengan ekstensi .conf. Sintaksnya adalah:

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

Sebagai contoh:

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

Sumber: Modul kernel - ArchWiki


Sejauh yang saya tahu, Anda dapat menggunakan metode yang disebutkan untuk modul yang secara otomatis dimuat pada saat boot (untuk menghindari membongkar dan memuat kembali modul dengan parameter khusus, seperti ini mungkin terjadi untuk modul driver), dan /etc/modulesfile untuk modul yang tidak dimuat secara otomatis saat boot.

pengguna2366867
sumber
7

Dengan Ubuntu 16.04 orang tidak dapat lagi memasukkan parameter modul kernel ke dalam /etc/modules. Kesalahan dihasilkan dalam log boot mengatakan tidak dapat menemukan "my_kernel_mod myparam = x".

Sebagai gantinya, seseorang hanya perlu memasukkan nama modul kernel /etc/modulesdan meletakkan opsi di /etc/modprobe.d/myfilename.conf (seperti yang disarankan di atas ).

Pierz
sumber