原标题:S5P4418开发板Android4.4如何配置内核
如何配置x4418开发板内核,有如下四条命令可以来操作:
make config
make menuconfig
make xconfig
make gconfig
一般推荐使用的是make menuconfig,它是图形化操作的,界面如下:
根据这个可视化配置界面下,只需要按键盘的方向键和空格键即可配置内核。
以蜂鸣器为例子,讲一下配置过程。
蜂鸣器是字符设备驱动,通过方向键移动光标选中Device Drivers,然后按回车键,进入设备驱动配置界面:
通过方向键移动光标选中Character devices,然后按回车键,进入字符设备配置界面:
通过方向键移动光标选中X4418 beep driver,这个时候通过 按空格键 前面的中括号的内容会改变,就是星号(*)的有无,有星号(*)表示选中,没有则表示不选中。配置完成后,可以通过按两次Esc键依次退出配置界面,或者通过方向键把光标移到 ,然后回车,依次退出。
修改过配置的话,会有保存提示:
选yes,回车保存。
这时,修改过的配置文件在内核根目录中,名称为.config。这个时候如果直接编译内核 ./mk –k 的话,会发现修改的配置都没有生效。打开脚本,可以看到在编译内核之前,原来它执行了如下指令:
make ${BS_CONFIG_KERNEL} ARCH=arm CROSS_COMPILE=${BS_CROSS_TOOLCHAIN_KERNEL} || return 1
这里 BS_CONFIG_KERNEL 已经被声明为 x4412_android_defconfig,也就是说,默认arch/arm/configs 目录下的x4418_defconfig 文件会被重新配置到内核根目录的.config中,这样我们前面修改的.config 文件就被替换了,所以就会失效了。解决办法就是在配置完成并保存之后,执行一下指令:
cp .config arch/arm/configs/ x4418_defconfig
即把配置好的配置文件覆盖x4418_defconfig文件。这个时候再执行 ./mk –k 就可以了。
有时候,具体驱动的位置并不会像我们现在这样,如此顺利的被找到。
但是menuconfig本身有一个搜索功能,进入menuconfig之后,输入 反斜杠“/”,在输入需要查找的驱动,
如:“X4418_BEEP”,回车,会出现相应的路径提示,如下图:
这个时候我按照提示就可以找到对应的驱动配置文件了。
其实 menuconfig 是有众多的Kconfig文件组成的,如蜂鸣器的Kconfig文件在: ~/x4418-kitkat/kernel/kernel-3.4.39/drivers/char/beep$路径下,内容为:
责任编辑: