动态加载内核模块

1. 写好内核驱动程序.c

2. Makefile

  • 必须是Makefile
    `` makefile
    ifneq ($(KERNELRELEASE),)
    obj-m := charDev.o
    else
    PWD := $(shell pwd)
    KDIR := /lib/modules/uname -r/build
    all:
    make -C $(KDIR) M=$(PWD)
    clean:
    rm -rf *.o *.ko *.mod.c *.symvers *.c~ *~
    endif

/lib/modules/`uname -r`/build其实就是内核源码的根目录


## 3. 启动
必须在模块目录下启动,`sudo insmode module_name`

## 4. 添加设备节点
`mknod device_name device_type major minor`


## 5.mount
mount是挂载文件系统、mknod是创建设备文件
`$ sudo mount /dev/cdrom /mnt`之后可以访问光驱内容
posted @ 2020-03-01 08:57  friedCoder  阅读(249)  评论(0)    收藏  举报