Tüm yüklenebilir çekirdek modülleri nasıl listelenir?


65

Ben yüklenmesi birkaç çekirdek modüllerinin arıyorum i2c-devve i2c-bcm2708. Ancak modprobekomut geri döner:

sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep

Sistemde bulunan tüm modülleri nasıl listeleyebilirim? Hangi dizinde bulunurlar?


1
Çekirdek bu i2c-dev'i derlemedi. Bu modülü bulamadınız. / Lib / module / 'kernel-version' / drivers bulunan çekirdek modüller. Linux sürücüleri ararken.
Supriady,

/ Boot / config-'kernel-version 'sayfasını kontrol edebilir ve bu yapılandırma dosyasını okuyabilirsiniz. Hangi linux modüllerinin yüklü veya modüler olduğunu ya da çekirdeği derlerken i2c-dev modülünü etkinleştirmedi.
Supriady,

Yanıtlar:


76
  • Varsayılan olarak modprobe, dizinde bulunan alt dizinlerden modüller yükler /lib/modules/$(uname -r). Genellikle tüm dosyalar uzantıya sahiptir .ko;

    find /lib/modules/$(uname -r) -type f -name '*.ko'
    

    veya sıkıştırılmış dosyaları dikkate alarak:

    find /lib/modules/$(uname -r) -type f -name '*.ko*'
    
  • Bununla birlikte, bir modülü başarılı bir şekilde yüklemek için modprobe, dosyada listelenen bağımlılıklara /lib/modules/$(uname -r)/modules.dep(ve ilgili ikili versiyona modules.dep.bin) ihtiyaç vardır . Bazı modül sistemde mevcut olduğunu, ancak listede yoksa, o zaman bir komutu çalıştırmak gerekir depmodbu tür bağımlılıkları oluşturmak ve otomatik şekilde modülü içerecek modules.depve modules.dep.bin.

  • Ayrıca, modül başarıyla yüklendiyse dosyada listelenir /proc/modules(ayrıca komutla da erişilebilir lsmod).


3
Redhat 7 modüller dosyalar. Bunun yerine kullanın find /lib/modules/$(uname -r) -type f -name *.ko*
Pozinux

1
@Pozinux sonla 4.13.10 burada Arch Linux üzerinde aynı şeyi, keşfedilen.gz
Johann

1
@posinux: dikkat: mevcut dizinizde *.ko*buna uyan bir dosya varsa , kabuk sizi genişletebilir . tek tırnak arasında kaçmak daha iyi: find /lib/modules/$(uname -r) -type f -name '*.ko*'
Olivier Dulac

10

Tip modprobeve basın sekmesi, otomatik tamamlama listesi tüm yüklenebilir modülleri içermelidir


11
bazı sistemler için işe yaramaz
avtomaton

5

Arch Linux'ta da , gibi diğer yararlı komutları içeren Linux çekirdek modüllerinin durumunu listeleyen ve gösteren paket lsmodkomutu vardır .kmodmodinformmod modprobe

To l Eğer yazabilirsiniz paket tarafından sağlanan tüm ikili ist:

pacman -Ql kmod | grep /bin/ --color=always

Ve ayrıca kontrol edebilirsiniz o bir ikili wner paketinde pacman -Qo lsmod.


Qanahtar için q uery yerel olarak yüklü paketleri (aksine Siçin s ynchronize, yani. uzaktan kontrol etmek için).


2
lsmodSadece zaten yüklü modülleri gösteren vurgulamak önemlidir . Bu iş parçacığının yazarı, yüklenebilir çekirdek modüllerinin haritası olmayan bir modülü yükleme sorunu yaşadı. Ayrıca, bu çözüm sadece archlinux için de geçerlidir. Hangi yazarın dağıtımı olmayabilir ve problemi başkaları için çözmeyebilir.
Akendo

@Akendo lsmod, en azından Ubuntu'da da mevcut. Ancak bunun OP'nin sorununu çözmediğine katılıyorum.
Melebius

2

Kullanmayı tercih ederim depmod. Komutu ile, depmod -av|grep MOD_NAMEsisteminiz modülleri.dep / map dosyalarını oluşturacak ve içerisine yerleştirecektir. -vParametre ayrıntı için önemlidir ve -agelen tüm olası modüller sağlamak için /lib/modules/modules.dep dosyası için kullanılır.

Bu şekilde, istenen bir çekirdek modülünün çekirdeğe yüklenebilir olarak eşlenmesini sağlamak mümkündür. Arzu çekirdek modülü çıktıda listelenmediğinde, çekirdeğin bulamayacağını bilirsiniz.

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.