九鼎创展论坛

标题: x4418开发板-Android4.4-如何配置内核 [打印本页]

作者: luxingwu    时间: 2015-6-19 09:29
标题: x4418开发板-Android4.4-如何配置内核
    如何配置x4418开发板内核,有如下四条命令可以来配置内核:
make config
make menuconfig
make xconfig
make gconfig
    一般推荐使用的是make menuconfig,它是图形化操作的,界面如下:

    根据这个可视化配置界面下,只需要按键盘的方向键和空格键即可配置内核。
    以蜂鸣器为例子,讲一下配置过程。
    蜂鸣器是字符设备驱动,通过方向键移动光标选中Device Drivers,然后按回车键,进入设备驱动配置界面:

    通过方向键移动光标选中Character devices,然后按回车键,进入字符设备配置界面:

    通过方向键移动光标选中X4418 beep driver,这个时候通过 按空格键 前面的中括号的内容会改变,就是星号(*)的有无,有星号(*)表示选中,    没有则表示不选中。配置完成后,可以通过按两次Esc键依次退出配置界面,或者通过方向键把光    标移到 <Exit>,然后回车,依次退出。
    修改过配置的话,会有保存提示:

    选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$路径下,内容为:









欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/) Powered by Discuz! X3.2