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
根据驱动的类型,将驱动代码拷贝到内核源代码树的相应的驱动目录
例如:
将键盘驱动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
配置解释:
config MYKEYBOARD
上面的config是配置关键字,MYKEYBOARD表示新配置选项的标识符
tristate "MY keyboard support"
中tristate表示是可以配置成Y,M,N三中情况
Y 表示将相应特性的支持或设备驱动程序编译进内核
M 表示将相应特性的支持或设备驱动程序编译成可加载模块,在需要时,可由系统或用户自行加入到内核中去
N 表示内核不提供相应特性或驱动程序的支持
default y
配置默认是什么选项
配置的帮助
3修改Makefile编译文件
编辑/root/linux-2.6.13-hzh/drivers/input/keyboard目录下面的Makefile文件,加入新的键盘编译选项,
例如
obj-$(CONFIG_MYKEYBOARD)
注意: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
编译内核,生成内核映像文件
编译内核模块
5确认结果
在目录arch/arm/boot 下面可以看到新生成的zImage内核映像文件
在目录drivers/input/keyboard 下面可以看到键盘的内核模块keyscan64.ko