保研选导师简历:内核编程指南

来源:百度文库 编辑:中财网 时间:2024/04/28 04:39:03
1.modprobe和insmod的区别modprobe会自动的从默认目录加载模块极其依赖的模块。insmod是modprobe的子集。insmod不能加载一整套模块。用法如下:

所以,当你想要载入一个内 核模块时,你可以执行:

insmod /lib/modules/2.5.1/kernel/fs/fat/fat.o
insmod /lib/modules/2.5.1/kernel/fs/msdos/msdos.o
或只是执行"modprobe -a msdos"
---------------------2.内核模块编程框架编写初始化函数、注销函数。定义声明file_operations结构体。并填充。然后再初始化函数里将有关信息向内核注册。最后实现各种操作函数。 ---------------------3.内核的makefile语法。
obj-m += hello-1.o
obj-m += hello-2.o

现在让我们来研究一下linux/drivers/char/Makefile这个实际中的例子。就如同你看到的, 一些被编译进内核 (obj-y)但是这些obj-m哪里去了呢?对于熟悉shell脚本的人这不难理解。这些在Makefile中随处可见 的obj-$(CONFIG_FOO)的指令将会在CONFIG_FOO被设置后扩展为你熟悉的obj-y或obj-m。其实就是你在使用 make menuconfig编译内核时生成的linux/.config中设置的东西

make -C /usr/src/linux-`uname -r` SUBDIRS=$PWD modules 编译模块