内核模块功能及模块使用
内核模块功能及模块使用
一、以U系为例,/boot及文件夹下文件介绍
config-4.19.0-11-linx-security-amd64 编译好的内核的配置文件,内核文件装载了哪些模块、配置等都有说明
System.map-4.19.0-11-linx-security-amd64 内核模块间依赖关系文件,在修改了/lib/modules/4.19.0-11-linx-security-amd64/目录下文件后,需要更新此文件
initrd.img-4.19.0-11-linx-security-amd64 简化版的根文件系统,系统从内核加载后,先挂载Initrd.img文件,完成初始化工作后,切换到真正的根
vmlinuz-4.19.0-11-linx-security-amd64 内核文件
二、模块的使用
lsmod 显示所有已装在的内核模块
读取自/proc/modules
modinfo mpt3sas 显示mptsas内核模块的信息
modinfo -n mptsas #显示mpt3sas内核模块文件路径
modprobe mpt3sas #加载mpt3sas模块
modprobe -r mpt3sas #卸载mpt3sas模块
depmod 内核模块依赖关系文件生成工具
depmod -a -F /boot/System.map-4.19.0-11-linx-security-amd64 强制更新依赖,生成符号表文件
insmod ../dirmod/mpt3sas.ko 装载一个模块
rmmod mpt3sas 卸载一个模块
update-initramfs #基于 Debian 或 Ubuntu,用于更新或重新生成初始 RAM 文件系统(initramfs)镜像
update-initramfs -u 更新initramfs镜像文件,即查找/boot/vmlinuz-4.19.0-11-linx-security-amd64
三、测试:
删除update下mpt3sas模块,使用kernel下模块,然后复原
如图,mpt3sas模块存在于update和kernel,update版本高,kernel版本低
移除update下mpt3sas,更新符号表文件,更新内核文件,查看mpt3sas模块路径为
/lib/modules/4.19.0-11-linx-security-amd64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
拷贝回update下mpt3sas,更新符号表文件,更新内核文件,查看mpt3sas模块路径为/lib/modules/4.19.0-11-linx-security-amd64/updates/scsi/mpt3sas/mpt3sas.ko
linx:~# find /lib/ -name "mpt3sas.ko"
/lib/modules/4.19.0-11-linx-security-amd64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
/lib/modules/4.19.0-11-linx-security-amd64/updates/scsi/mpt3sas/mpt3sas.ko
linx:~# mv /lib/modules/4.19.0-11-linx-security-amd64/updates/scsi/mpt3sas/mpt3sas.ko /root
linx:~# depmod -a -F /boot/System.map-4.19.0-11-linx-security-amd64
linx:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.19.0-11-linx-security-amd64
linx:~# modinfo -n mpt3sas
/lib/modules/4.19.0-11-linx-security-amd64/kernel/drivers/scsi/mpt3sas/mpt3sas.ko
linx:~# cp /root/mpt3sas.ko /lib/modules/4.19.0-11-linx-security-amd64/updates/scsi/mpt3sas/
linx:~# depmod -a -F /boot/System.map-4.19.0-11-linx-security-amd64
linx:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-4.19.0-11-linx-security-amd64
linx:~# modinfo -n mpt3sas
/lib/modules/4.19.0-11-linx-security-amd64/updates/scsi/mpt3sas/mpt3sas.ko
linx:~#
四、补充:
1、查看可执行程序共享库;手动链接库
ldd
ldd todesk #查看todesk二进制文件所需要的库文件
ldconfig #更新动态链接库
2、R系系统更新ram文件initramfs工具
mkinitrd
mkinitrd /boot/initramfs-4.19.90-2206.2.0.0154.vlx30.v99_2003.x86_64.img 4.19.90-2206.2.0.0154.vlx30.v99_2003.x86_64 -f #为指定内核版本生成内核文件,强制
dracut
dracut -f #更新内核文件,强制
dracut比mkinitrd更好
本文来自博客园,作者:赛博狗尾草,转载请注明原文链接:https://www.cnblogs.com/gpysir/p/18841008