Bij elke start van uw Linux systeem, worden een aantal kernel modules gestart om bestandssystemen en nieuwe hardware te ondersteunen. De informatie over een bepaalde kernel module kan belangrijk zijn om bepaalde problemen op te lossen of gewoon uit nieuwsgierigheid. Deze informatie bestaat uit een beschrijving, afhankelijkheden, auteur, enz.
Alle bruikbare modules staan in de map /lib/modules/. Elke kernel heeft zijn eigen submap met de modules voor deze kernel:
dany@linux-2gcr:~> ls /lib/modules/
3.16.7-21-desktop 3.16.7-24-desktop
Bovenstaand voorbeeld toont een systeem met twee geïnstalleerde kernels. Een Linux systeem werkt altijd met één bepaalde kernel:
dany@linux-2gcr:~> uname -a
Linux linux-2gcr.site 3.16.7-24-desktop #1 SMP PREEMPT Mon Aug 3 14:37:06 UTC 2015 (ec183cc) x86_64 x86_64 x86_64 GNU/Linux
De uname opdracht toont dat het huidig systeem kernel 3.16.7-24-desktop en dus bijhorende modules in /lib/modules/3.16.7-24-desktop/ gebruikt. Om alle door de kernel geladen modules op te lijsten, gebruik je de lsmod opdracht:
dany@linux-2gcr:~> lsmod
Module Size Used by
ax88179_178a 22508 0
usbnet 43864 1 ax88179_178a
mii 13934 2 usbnet,ax88179_178a
xt_pkttype 12504 6
xt_LOG 17718 18
xt_limit 12711 18
ppdev 17671 0
parport_pc 41414 0
parport 46395 2 ppdev,parport_pc
vmw_vsock_vmci_transport 30374 0
vsock 38999 1 vmw_vsock_vmci_transport
snd_usb_audio 174132 2
snd_usbmidi_lib 29779 1 snd_usb_audio
vmw_vmci 71119 1 vmw_vsock_vmci_transport
snd_rawmidi 34923 1 snd_usbmidi_lib
snd_seq_device 14497 1 snd_rawmidi
af_packet 40034 8
ip6t_REJECT 12939 3
xt_tcpudp 12884 25
nf_conntrack_ipv6 14798 4
nf_defrag_ipv6 34768 1 nf_conntrack_ipv6
ip6table_raw 12683 1
ipt_REJECT 12541 3
iptable_raw 12678 1
xt_CT 12956 4
iptable_filter 12810 1
ip6table_mangle 12700 0
nf_conntrack_netbios_ns 12665 0
nf_conntrack_broadcast 12589 1 nf_conntrack_netbios_ns
nf_conntrack_ipv4 14806 4
nf_defrag_ipv4 12758 1 nf_conntrack_ipv4
ip_tables 27240 2 iptable_filter,iptable_raw
xt_conntrack 12760 8
nf_conntrack 114273 6 xt_CT,nf_conntrack_netbios_ns,xt_conntrack,nf_conntrack_broadcast,nf_conntrack_ipv4,nf_conntrack_ipv6
ip6table_filter 12815 1
ip6_tables 27026 3 ip6table_filter,ip6table_mangle,ip6table_raw
x_tables 34059 15 xt_pkttype,ip6table_filter,xt_CT,ip6table_mangle,ip_tables,xt_tcpudp,xt_limit,xt_conntrack,xt_LOG,iptable_filter,ip6table_raw,ipt_REJECT,ip6_tables,iptable_raw,ip6t_REJECT
bnep 19624 2
wacom 67184 0
hid_sensor_hub 19877 0
arc4 12608 2
nls_iso8859_1 12713 1
nls_cp437 16991 1
vfat 17411 1
fat 70078 1 vfat
fuse 100461 7
uvcvideo 89131 0
videobuf2_vmalloc 13216 1 uvcvideo
videobuf2_memops 13362 1 videobuf2_vmalloc
x86_pkg_temp_thermal 14205 0
videobuf2_core 63200 1 uvcvideo
intel_powerclamp 18823 0
v4l2_common 15265 1 videobuf2_core
coretemp 13441 0
videodev 157329 3 uvcvideo,v4l2_common,videobuf2_core
iTCO_wdt 13480 0
kvm_intel 151748 0
iTCO_vendor_support 13718 1 iTCO_wdt
kvm 501446 1 kvm_intel
crct10dif_pclmul 14268 0
crc32_pclmul 13133 0
ghash_clmulni_intel 13230 0
aesni_intel 152552 0
aes_x86_64 17131 1 aesni_intel
lrw 13286 1 aesni_intel
gf128mul 14951 1 lrw
glue_helper 13990 1 aesni_intel
ablk_helper 13597 1 aesni_intel
cryptd 16263 3 ghash_clmulni_intel,aesni_intel,ablk_helper
pcspkr 12718 0
ecb 12815 2
hid_multitouch 17419 0
joydev 17344 0
snd_hda_codec_conexant 19013 1
snd_hda_codec_generic 77203 1 snd_hda_codec_conexant
snd_hda_codec_hdmi 55740 1
btusb 32448 0
bluetooth 483238 23 bnep,btusb
6lowpan_iphc 18702 1 bluetooth
iwlmvm 234386 0
snd_hda_intel 34475 5
snd_hda_controller 35103 1 snd_hda_intel
mac80211 691383 1 iwlmvm
snd_hda_codec 156066 5 snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_hda_codec_generic,snd_hda_intel,snd_hda_controller
snd_hwdep 13602 2 snd_usb_audio,snd_hda_codec
snd_pcm 116857 5 snd_usb_audio,snd_hda_codec_hdmi,snd_hda_codec,snd_hda_intel,snd_hda_controller
iwlwifi 135552 1 iwlmvm
serio_raw 13434 0
battery 23237 0
ac 13335 0
thinkpad_acpi 87443 1
cfg80211 547052 3 iwlwifi,mac80211,iwlmvm
rfkill 26772 5 cfg80211,thinkpad_acpi,bluetooth
rtsx_pci 50312 0
snd_timer 33609 1 snd_pcm
thermal 22971 0
snd 87947 27 snd_usb_audio,snd_hwdep,snd_timer,snd_hda_codec_hdmi,snd_hda_codec_conexant,snd_pcm,snd_rawmidi,snd_hda_codec_generic,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,thinkpad_acpi,snd_seq_device
tpm_tis 18581 0
tpm 39966 1 tpm_tis
wmi 19193 0
i2c_i801 22454 0
lpc_ich 21093 0
soundcore 15047 2 snd,snd_hda_codec
intel_smartconnect 12637 0
mfd_core 13435 3 lpc_ich,rtsx_pci,hid_sensor_hub
mei_me 23664 0
mei 96067 1 mei_me
shpchp 32951 0
processor 40484 0
dm_mod 111114 0
efivarfs 13268 0
btrfs 1011342 3
xor 21411 1 btrfs
raid6_pq 106004 1 btrfs
crc32c_intel 22094 1
i915 987781 6
i2c_algo_bit 13413 1 i915
drm_kms_helper 65670 1 i915
video 24419 1 i915
drm 335594 5 i915,drm_kms_helper
xhci_hcd 178893 0
button 13971 1 i915
sg 40630 0
Nu kunnen we met de modinfo opdracht informatie van een bepaalde module opvragen. Een algemene beschrijving krijg je met:
dany@linux-2gcr:~> /usr/sbin/modinfo -d usbnet
USB network driver framework
Welk bestand (kernel object) bevat de module?
dany@linux-2gcr:~> /usr/sbin/modinfo -n usbnet
/lib/modules/3.16.7-24-desktop/kernel/drivers/net/usb/usbnet.ko
Welk kernel object module bestand wordt er voor een andere kernel (-k) gebruikt?
dany@linux-2gcr:~> /usr/sbin/modinfo -k 3.16.7-21-desktop -n usbnet
/lib/modules/3.16.7-21-desktop/kernel/drivers/net/usb/usbnet.ko
Wie is de auteur van de module?
dany@linux-2gcr:~> /usr/sbin/modinfo -a usbnet
David Brownell
Welke modules zijn afhankelijk van een bepaalde module?
dany@linux-2gcr:~> /usr/sbin/modinfo -F depends usbnet
mii
Voer modinfo uit zonder opties om alle beschikbare informatie weer te geven