Bir çekirdek modülünü nasıl düzgün şekilde yeniden yükleyebilirim?


13

İlgili soru

Yeni bayrakları denemek için bir çekirdek modülünü yeniden yükleyemiyorum.
Örnek: thinkpad_acpivarsayılan değer yoktur fan_control=1. Bu yüzden bilgisayarım çok sıcak çalışıyorsa ve fanlar tam hıza gitmiyorsa, bazen modülü geçici olarak yüklemek fan_controlve fanı birkaç dakika boyunca mümkün olan en yüksek hıza ayarlamak ve her şeyi normal kelimelere geri döndürmek bazen kullanılabilir .
Bu mümkün değildir, çünkü bazı çekirdek modülleri diğerlerine bağımlıdır ve modern Linux çekirdekleri bunu kontrol ediyor gibi görünmektedir.
Peki şimdiye kadar ne yaptım:

  • Bağımlılıkları kontrol etme
    • modinfo -F depends thinkpad_acpi
  • Bu modülleri boşaltmaya çalışın
    • rmmod veya modprobe -r $dependencies
    • Bazı modüller tekrar başkalarına bağımlıdır, bunları da çıkarmaya çalışın. 'Bağımlılık' olmasa bile çalışmıyor (ya da en azından modinfo bunu söylüyor)
  • Google için çok modprobe: FATAL: Module x is in use.
  • Tldp okunuyor

Seçeneği her zaman değiştirebilir ve yeniden başlatabilirsiniz. Daha iyi bir soru, bilgisayarınızın neden ısındığıdır.
terdon

Maalesef, yeniden başlatma tam olarak yapmak istemediğim şey ve CPU yükü hızlı olduğu veya kapak kapandığı veya bilgisayar dışarıda olduğu ve güneş parladığı;) bilgisayarım ısınabilir.).
queryAllThings

Tamam, başka bir seçenek fan hızınızı kontrol etmek olacaktır. İlgili tthinkwiki sayfasına bir göz atın: thinkwiki.org/wiki/How_to_control_fan_speed
terdon

1
Biliyorum! Alıntı: Fan kontrolünü etkinleştirmek için, fan_control = 1 modül parametresinin thinkpad-acpi'ye verilmesi gerekir. Sadece bir çekirdek modülünün yeniden yüklenmesinin mümkün olup olmadığını bilmek istiyorum. Kablosuz hata ayıklama yapıyorsam, bazı modülleri diğer bayraklarla yeniden yüklemek de gereklidir.
queryAllThings

Snd_hda_intel ile nasıl yapacağınızı bilmiyorum $ sudo rmmod -f snd_hda_intel rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'snd_hda_intel': Resource temporarily unavailable rmmod: ERROR: could not remove module snd_hda_intel: Resource temporarily unavailable :: \
Tomislav Nakic-Alfirevic

Yanıtlar:


5

Çekirdekte kuvvet kaldırma etkinleştirilmişse ( zgrep FORCE_UNLOAD /proc/config.gzdiyor =y), rmmod -fsorunlu çekirdek modülünü boşaltmaya zorlamak için yapabilirsiniz.

Bunu sağlayan yamaya göre , bu sadece çekirdek geliştiricileri ve çaresiz insanlar içindir.

En iyisi muhtemelen modülün neden kullanıldığını ve hangi işlemle olduğunu anlamaktır, ancak en azından zorla boşaltmak modülü tekrar yüklemeyi mümkün kılmalıdır.


2
Bu Debian için varsayılan gibi görünüyor. Not: Debian'da /proc/config.gzaltında bulunur /boot/config-$(uname -r).gz.
queryAllThings

1
ve grep FORCE_UNLOAD /boot/config-$(uname -r)Ubuntu'da.
sabalaba
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.