Szukam kilku modułów jądra do załadowania i2c-dev
i i2c-bcm2708
. Ale modprobe
polecenie zwraca:
sudo modprobe i2c-dev
modprobe: module i2c-dev not found in modules.dep
Jak mogę wyświetlić listę wszystkich dostępnych modułów w systemie? W którym katalogu się znajdują?
linux-kernel
kernel-modules
UżytkownikK
źródło
źródło
Odpowiedzi:
Domyślnie
modprobe
ładuje moduły z podkatalogów znajdujących się w/lib/modules/$(uname -r)
katalogu. Zwykle wszystkie pliki mają rozszerzenie.ko
, więc możesz je wymienićlub, biorąc pod uwagę skompresowane pliki:
Jednak do pomyślnego załadowania modułu
modprobe
potrzebne są jego zależności wymienione w pliku/lib/modules/$(uname -r)/modules.dep
(i odpowiedniej wersji binarnejmodules.dep.bin
). Jeśli jakiś moduł jest obecny w systemie, ale nie ma go na liście, powinieneś uruchomić polecenie,depmod
które wygeneruje takie zależności i automatycznie uwzględni moduł wmodules.dep
imodules.dep.bin
.Dodatkowo, jeśli moduł zostanie pomyślnie załadowany, zostanie wymieniony w pliku
/proc/modules
(dostępny również za pomocą polecenialsmod
).źródło
find /lib/modules/$(uname -r) -type f -name *.ko*
.gz
*.ko*
jeśli akurat w twoim katalogu znajduje się jakiś pasujący plik. lepiej uniknąć tego między pojedynczymi cytatami:find /lib/modules/$(uname -r) -type f -name '*.ko*'
Wpisz
modprobe
i naciśnij tab, lista autouzupełniania powinna zawierać wszystkie moduły, które można załadowaćźródło
Jest
lsmod
znajomośćkmod
pakietu w Arch Linux , co wylicza i pokazuje stan modułów jądra Linux, który zawiera innych przydatnych poleceń, takich jakmodinfo
,rmmod
modprobe
zbyt.Do l ist wszystkie pliki binarne przewidziane przez pakiet można wpisać:
, Można również sprawdzić, czy o pakiecie WNER binarnego z
pacman -Qo lsmod
.Q
Przełącznik jest q uery lokalnie zainstalowanych pakietów (w przeciwieństwieS
do ów ynchronize, tj. sprawdzić zdalnie).źródło
lsmod
tylko pokazuje już załadowane moduły. Autor tego wątku miał problem z załadowaniem modułu, którego nie ma na mapie modułów jądra do załadowania. Poza tym to rozwiązanie dotyczy tylko archlinuxa. Co może nie być dystrybucją autora i może nie rozwiązać problemu dla innych.lsmod
jest także dostępne przynajmniej na Ubuntu. Zgadzam się jednak, że to nie rozwiązuje problemu OP.Wolę używać
depmod
. Za pomocą polecenia:depmod -av|grep MOD_NAME
system wygeneruje pliki module.dep / map i przejdzie przez to grep. Ten-v
parametr jest ważny dla gadatliwości i-a
dla zapewnienia, że wszystkie możliwe moduły z/lib/modules/
są używane w pliku modułów.dep.W ten sposób można upewnić się, że żądany moduł jądra jest mapowany na jądro jako możliwy do załadowania. Gdy pożądanego modułu jądra nie ma na liście, wiadomo, że jądro go nie znajdzie.
źródło