概述
内核模块是Linux提供的一种机制,允许在内核运行时动态加载进内核中,具有两个特点:
- 内核模块本身不编译入内核映像,有效控制缩减内核镜像的大小
- 内核模块一旦被加载,就和内核中的其他部分完全一样
内核模块的作用:
- 设备驱动是以独立的modules的形式存在的,设计的驱动需要包含在Module内部。Module编译完成后,会生成ko文件,可安装可卸载。
ldd:显示应用程序(二进制程序)所依赖的库文件
ldd /bin/ls
xilinx 开发版显示:
root@xilinx-zcu104-2021_1:~# ldd /bin/ls
linux-vdso.so.1 (0x0000ffffb2c8b000)
libcap.so.2 => /lib/libcap.so.2 (0x0000ffffb2bf6000)
libc.so.6 => /lib/libc.so.6 (0x0000ffffb2a87000)
/lib/ld-linux-aarch64.so.1 (0x0000ffffb2c5a000)
Unbutu显示:
jing@jing:/$ ldd /bin/ls
linux-vdso.so.1 (0x00007ffdbd070000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fb403bb0000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb4037bf000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fb40354d000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb403349000)
/lib64/ld-linux-x86-64.so.2 (0x00007fb403ffa000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb40312a000)
lsmod:显示当前被内核加载的模块
xilinx开发板显示:
root@xilinx-zcu104-2021_1:~# lsmod
Module Size Used by
dmaproxy 16384 0
mali 270336 0
zocl 155648 0
uio_pdrv_genirq 16384 0
modinfo:查看内核模块的信息,包括开发人员信息,依赖信息
root@xilinx-zcu104-2021_1:~# modinfo dmaproxy
filename: /lib/modules/5.10.0-xilinx-v2021.1/extra/dmaproxy/dmaproxy.ko
license: GPL v2
description: Xilinx's zynqmp-dma Client Driver
author: Jeegar Patel <[email protected]>
depends:
name: dmaproxy
vermagic: 5.10.0-xilinx-v2021.1 SMP mod_unload aarch64
modprobe:向内核增加或者删除指定模块,默认是增加模块,-r删除模块
insmod:向内核加载模块
必须完整给出模块文件路径,可以通过modinfo获取
rmmod:在内核中删除模块
附:
Ubuntu显示:
jing@jing:/$ lsmod
Module Size Used by
uas 28672 0
usb_storage 77824 1 uas
btrfs 1241088 0
xor 24576 1 btrfs
zstd_compress 163840 1 btrfs
raid6_pq 114688 1 btrfs
ufs 81920 0
qnx4 16384 0
hfsplus 110592 0
hfs 61440 0
minix 40960 0
ntfs 106496 0
msdos 20480 0
jfs 192512 0
xfs 1282048 0
cpuid 16384 0
xt_conntrack 16384 1
xt_MASQUERADE 20480 1
nf_conntrack_netlink 45056 0
nfnetlink 16384 2 nf_conntrack_netlink
xfrm_user 36864 1
xfrm_algo 16384 1 xfrm_user
xt_addrtype 16384 2
iptable_filter 16384 1
iptable_nat 16384 1
nf_nat 40960 2 iptable_nat,xt_MASQUERADE
nf_conntrack 139264 4 xt_conntrack,nf_nat,nf_conntrack_netlink,xt_MASQUERADE
nf_defrag_ipv6 24576 1 nf_conntrack
nf_defrag_ipv4 16384 1 nf_conntrack
libcrc32c 16384 4 nf_conntrack,nf_nat,btrfs,xfs
bpfilter 24576 0
br_netfilter 28672 0
bridge 176128 1 br_netfilter
stp 16384 1 bridge
llc 16384 2 bridge,stp
aufs 258048 0
overlay 114688 0
intel_rapl_msr 20480 0
nvidia_uvm 987136 2
binfmt_misc 24576 1
nvidia_drm 53248 7
nls_iso8859_1 16384 1
nvidia_modeset 1228800 12 nvidia_drm
intel_rapl_common 24576 1 intel_rapl_msr
mei_hdcp 24576 0
snd_hda_codec_hdmi 61440 2
snd_sof_pci 20480 0
snd_sof_intel_hda_common 65536 1 snd_sof_pci
snd_soc_hdac_hda 24576 1 snd_sof_intel_hda_common
snd_sof_intel_hda 20480 1 snd_sof_intel_hda_common
snd_sof_intel_byt 20480 1 snd_sof_pci
snd_sof_intel_ipc 20480 1 snd_sof_intel_byt
snd_sof 98304 4 snd_sof_pci,snd_sof_intel_hda_common,snd_sof_intel_byt,snd_sof_intel_ipc
snd_hda_codec_realtek 131072 1
snd_sof_xtensa_dsp 16384 1 snd_sof_pci
snd_hda_ext_core 28672 3 snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
snd_hda_codec_generic 81920 1 snd_hda_codec_realtek
snd_soc_acpi_intel_match 32768 2 snd_sof_pci,snd_sof_intel_hda_common
snd_soc_acpi 16384 2 snd_sof_pci,snd_soc_acpi_intel_match
ledtrig_audio 16384 3 snd_hda_codec_generic,snd_hda_codec_realtek,snd_sof
snd_soc_core 245760 3 snd_sof,snd_sof_intel_hda_common,snd_soc_hdac_hda
snd_compress 24576 1 snd_soc_core
ac97_bus 16384 1 snd_soc_core
snd_pcm_dmaengine 16384 1 snd_soc_core
snd_hda_intel 49152 4
x86_pkg_temp_thermal 20480 0
snd_intel_dspcfg 28672 3 snd_hda_intel,snd_sof_pci,snd_sof_intel_hda_common
intel_powerclamp 20480 0
snd_hda_codec 135168 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek,snd_soc_hdac_hda
coretemp 20480 0
snd_hda_core 90112 9 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_ext_core,snd_hda_codec,snd_hda_codec_realtek,snd_sof_intel_hda_common,snd_soc_hdac_hda,snd_sof_intel_hda
nvidia 34168832 762 nvidia_uvm,nvidia_modeset
snd_hwdep 20480 1 snd_hda_codec
snd_pcm 102400 8 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_sof,snd_sof_intel_hda_common,snd_soc_core,snd_hda_core,snd_pcm_dmaengine
mt7601u 110592 0
kvm 659456 0
i915 1982464 4
mac80211 856064 1 mt7601u
snd_seq_midi 20480 0
snd_seq_midi_event 16384 1 snd_seq_midi
crct10dif_pclmul 16384 1
snd_rawmidi 36864 1 snd_seq_midi
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
cfg80211 712704 2 mt7601u,mac80211
aesni_intel 372736 0
snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event
drm_kms_helper 188416 2 nvidia_drm,i915
crypto_simd 16384 1 aesni_intel
cryptd 24576 2 crypto_simd,ghash_clmulni_intel
libarc4 16384 1 mac80211
glue_helper 16384 1 aesni_intel
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
joydev 28672 0
input_leds 16384 0
intel_cstate 20480 0
ucsi_ccg 20480 0
snd_timer 36864 2 snd_seq,snd_pcm
drm 491520 12 drm_kms_helper,nvidia_drm,i915
typec_ucsi 40960 1 ucsi_ccg
eeepc_wmi 16384 0
asus_wmi 32768 1 eeepc_wmi
typec 45056 1 typec_ucsi
sparse_keymap 16384 1 asus_wmi
intel_lpss_pci 20480 0
i2c_algo_bit 16384 1 i915
intel_wmi_thunderbolt 20480 0
fb_sys_fops 16384 1 drm_kms_helper
snd 86016 21 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_compress,snd_soc_core,snd_pcm,snd_rawmidi
intel_lpss 16384 1 intel_lpss_pci
syscopyarea 16384 1 drm_kms_helper
wmi_bmof 16384 0
mei_me 40960 1
sysfillrect 16384 1 drm_kms_helper
idma64 20480 0
sysimgblt 16384 1 drm_kms_helper
mei 102400 3 mei_hdcp,mei_me
soundcore 16384 1 snd
mxm_wmi 16384 0
virt_dma 20480 1 idma64
acpi_tad 16384 0
mac_hid 16384 0
acpi_pad 184320 0
sch_fq_codel 20480 6
parport_pc 40960 0
ppdev 24576 0
lp 20480 0
parport 53248 3 parport_pc,lp,ppdev
ip_tables 32768 2 iptable_filter,iptable_nat
x_tables 45056 5 xt_conntrack,iptable_filter,xt_addrtype,ip_tables,xt_MASQUERADE
autofs4 45056 2
hid_generic 16384 0
usbhid 53248 0
hid 126976 2 usbhid,hid_generic
nvme 49152 2
r8169 90112 0
nvme_core 106496 4 nvme
ahci 40960 0
realtek 24576 1
i2c_nvidia_gpu 16384 0
libahci 32768 1 ahci
wmi 32768 4 intel_wmi_thunderbolt,asus_wmi,wmi_bmof,mxm_wmi
video 49152 2 asus_wmi,i915