Linux kernel module随记

来自三线的随记

与kernel mod相关的随记

操作模块的常用命令

lsmod

insmod

modprobe

depmod

rmmod

modinfo

modinfo -F filename ${module_name}

模块自身相关文件常见路径

/lib/modules/`uname -r`/modules.dep

/lib/modules/`uname -r`/

script: dump all loaded module parameter values

#/bin/env bash
cat /proc/modules | cut -f 1 -d " " | while read module; do \
 echo "Module: $module"; \
 if [ -d "/sys/module/$module/parameters" ]; then \
  ls /sys/module/$module/parameters/ | while read parameter; do \
   echo -n "Parameter: $parameter --> "; \
   cat /sys/module/$module/parameters/$parameter; \
  done; \
 fi; \
 echo; \
done

系统启动后自动加载module

相关实现文件夹 /etc/sysconfig/modules 或者 /etc/modules-load.d/

可以两个手段都做上

/etc/modules-load.d/

其中/etc/modules-load.d/写法是直接写module name, 文件权限属性应该没有特殊要求

cat <<\EOF >> /etc/modules-load.d/nf_conntrack_ipv4.conf
nf_conntrack_ipv4
EOF

/etc/sysconfig/modules

/etc/sysconfig/modules,权限755 写法是:

cat <<\EOF > /etc/sysconfig/modules/nf_conntrack.modules
#!/bin/sh
/sbin/modinfo nf_conntrack && /sbin/modprobe nf_conntrack
EOF

然后执行 chmod a+x /etc/sysconfig/modules/nf_conntrack.modules

相关文章 Docker的Native Overlay Diff选项相关随记