如何在内核中添加新的驱动配置选项

1 拷贝代码
根据驱动的类型,将驱动代码拷贝到内核源代码树的相应的驱动目录
例如:
将键盘驱动keyscan64.c keyscan64.h代码拷贝到/root/linux-2.6.13-hzh/drivers/input/keyboard
2 修改Kconfig配置文件
编辑/root/linux-2.6.13-hzh/drivers/input/keyboard目录下面的Kconfig文件,加入新的键盘配置选项,例如:
添加
config MYKEYBOARD
 
        tristate "MY keyboardsupport"
          default y
          help
            The"MYKEYBOARD" is simple a scanable keyboard, Y for build in ,M forModule.

配置解释:
config MYKEYBOARD
上面的config是配置关键字,MYKEYBOARD表示新配置选项的标识符

tristate "MY keyboard support"
中tristate表示是可以配置成Y,M,N三中情况
Y 表示将相应特性的支持或设备驱动程序编译进内核
M 表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去
N 表示内核不提供相应特性或驱动程序的支持

default y
配置默认是什么选项
          help
            The"MYKEYBOARD" is simple a scanable keyboard, Y for build in ,M forModule.
配置的帮助
3修改Makefile编译文件
编辑/root/linux-2.6.13-hzh/drivers/input/keyboard目录下面的Makefile文件,加入新的键盘编译选项,
例如
obj-$(CONFIG_MYKEYBOARD)                    +=keyscan64.o

注意:Kconfig中的配置标识符要和编译选项中红色标识符一致,编译的目标keyscan64.o名称要和源代码的keyscan64.c名称一致,这是系统强行规定的。

4编译内核
make clean
清除原先编译过程文件
make menuconfig
make xconfig
make gconfig
根据自己的情况选择
文本菜单配置方式配置内核选项 make menuconfig
导入源代码预配置的文件
配置新加入的驱动

新的配置选项在上图中显示出来了,可以配置成y(buildin),m(module),n(不编译),默认是y,把它配置成M(module),然后退出,保存配置
make zImage
编译内核,生成内核映像文件
  make modules
编译内核模块

5确认结果
在目录arch/arm/boot 下面可以看到新生成的zImage内核映像文件
在目录drivers/input/keyboard 下面可以看到键盘的内核模块keyscan64.ko
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值