Linux内核模块

1、查看内核模块信息
相关命令:modprobe、insmod、rmmod、modinfo、lsmodlinux

1.查看内核全部内置模块
# cat /lib/modules/$(uname -r)/modules.builtinubuntu

kernel/arch/arm64/crypto/sha1-ce.ko
kernel/arch/arm64/crypto/sha2-ce.ko
kernel/arch/arm64/crypto/ghash-ce.ko
kernel/arch/arm64/crypto/aes-ce-cipher.ko
......

2.查看有哪些内置模块
# grep "=y" /boot/config-$(uname -r) | more函数

3.查看内核模块参数和值
# ls /sys/module/sd8xxx/parameters
在/sys/module目录下,能够找到内核模块(包含内置和可加载的)命名的子目录。进入每一个模块目录,这里有个“parameters”目录,列出了这个模块全部的参数。
上面示例是要找出sd8xxx模块的参数。
# cat /sys/module/sd8xxx/parameters/mfg_mode 查看参数mfg_mode的值。ui

4.显示模块参数信息
# modinfo -p sd8xxx 只显示参数spa

5.显示模块所有信息
# modinfo sd8xxx.net

filename:       /lib/modules/4.14.35/extra/sd8xxx.ko 模块存放的位置
license:        GPL
version:        C546 模块版本
author:         Marvell International Ltd.
description:    M-WLAN Driver
srcversion:     5F78B0AEFAD2117163CB186
alias:          sdio:c*v02DFd9135*
depends:        cfg80211,mlan 模块依赖
name:           sd8xxx
vermagic:       4.14.35 SMP preempt mod_unload aarch64  匹配内核版本信息
parm:           cfg80211_drcs:1: Enable DRCS support; 0: Disable DRCS support (int)
parm:           reg_alpha2:Regulatory alpha2 (charp) 模块参数
...

 

2、模块声明信息code

MODULE_LICENSE ("GPL"); 许可证申明(最好有)
MODULE_DESCRIPTION("Hello world Module"); 模块描述(可选)
MODULE_VERSION("V1.0");模块版本(可选)
MODULE_ALIAS("a simple module");模块别名(可选)
Module_param(name,type,perm)Name是模块参数的名称,type是这个参数的类型,Perm是模块参数的访问权限
  type常见值: Bool,int,charp:字符串型
  perm常见值:S_IRUGO:任何用户都对/sys/module中出现的该参数具备读权限, S_IWUSR:容许root用户修改/sys/module中出现的该参数blog

EXPORT_SYMBOL(符号名)
EXPORT_SYMBOL_GPL(符号名)导出只能用于包含GPL许可证的模块
/proc/kallsyms记录了内核中全部导出的符号的名字与地址(记录输出到系统当中能够给其余模块使用的函数的名字)ip

 

3、内核模块的动态加载ci

request_module("sound-slot-%i", unit>>4);表示让linux系统的用户空间调用/sbin/modprobe函数加载名为sound-slot-0.ko模块

TODO:https://blog.csdn.net/liukun321/article/details/7057442

 

4、Makefile单独编译模块

KERN_DIR = /media/ubuntu/works/tiny4412/linux-3.0.86

obj-m    += virtual_jack.o

all:
    make -C $(KERN_DIR) M=`pwd` modules 

clean:
    make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order
相关文章
相关标签/搜索