# kernel_modules **Repository Path**: sunlong/kernel_modules ## Basic Information - **Project Name**: kernel_modules - **Description**: 实验性的linux内核模块 - **Primary Language**: C - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2015-06-30 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #kernel_modules ## 这里简单记录下调试过程中用到的命令 * make/make clean * sudo dmesg -c : 清除已经存在的内核打印信息 * dmesg : 打印内核信息 * sudo insmod xxx.ko : 插入某模块到内核中 * sudo rmmod xxx : 先用lsmod查看已经加载到内核的模块, 再用此命令移除, 支持tab补全, 注意, 这里只是模块名字, 而不带.ko * 通过cat /proc/devices 查看模块加载后形成的设备,以及主次设备号 * sudo mknod /dev/device_name(自定义) c 主设备号 次设备号 ## 模块必备的几个要素 * module_init(char_dev_init); 模块加载函数,insmod或者modprobe时调用 * module_exit(char_dev_exit); 模块卸载函数, rmmod时调用 * MODULE_LICENSE("GPL"); 必选项, 否则会出现内核污染警告