3.4.1.1单独创建一个驱动文件夹
3.4.1的基础上,
- 在drivers/char目录下,创建一个目录。mkdir hello_drive ;
- 把hello.c驱动文件复制到该目录下,创建一个Kconfig文件,touch Kconfig ;并编辑如下代码:
3. 创建Makefile文件,编辑如下代码:
4. 回到char目录下,编辑Kconfig文件,增加一条代码如下,让其包含子目录下的Kconfig:
5. 同样在char目录下,编辑Makefile文件,增一条代码如下,让其包含子目录hello_driver,指定在此目录下进行编译工作:
6.回到根目录下,make menuconfig ,可以得到新的配置选项如下:
7. vi config ,查找 /hello ,得到如下:
Kconfig文件只是有一个变量名,供配置选择,并且能在 make menuconfig上显示,此时并没有与驱动挂钩;当把驱动复制到内核目录下时,编辑makefile文件,增加代码:
obj-$(CONFIG_hello) += hello.o ,表示引用此变量名,在内核目录中编译当前目录的 此模块。才会与驱动挂钩。Kconfig中的变量名可以通过.config进行修改,这需要运行make menuconfig命令进行修改。