我们可以使用如下四条命令的任意一条来配置内核:
make config make menuconfig make xconfig make gconfig这里最通用,也最值得推荐的是make menuconfig,它不依赖于QT和GTK+,且图形化操作,非常简洁直观,配置界面示例如下:
再将光标移到Characterdevices一栏,点回车进入字符设备专栏:
可以看到,X4412beep driver向个醒目的大字已经呈现在我们眼前了。通过光标移动到该栏,通过空格键可以选择选中或是不选中。修改完配置后,通过光标左右键,将最下面一栏选择到Exit,依次退出,如果有修改,会弹出是否保存的提示:
选择Yes,回车保存。这时,修改过的配置文件在内核根目录中,名称为.config。修改完后,通常接着就会编译内核了,为了更方便的管理源码,我们编写了源码编译脚本mk。编译内核时,直接执行./mk–k即可。打开脚本,可以看到在编译内核之前,它执行了如下指令:
make ${BS_CONFIG_KERNEL} || return 1
这里BS_CONFIG_KERNEL已经被声明为x4412_android_defconfig,也就是说,默认arch/arm/config目录下的x4412_android_defconfig文件会被重新配置到内核根目录的.config中,这样我们前面修改的.config文件就被替换了。之所以要这么做,是出于安全考虑。整个menuconfig配置选项众多,如果我们配置错误,很有可能很难再还原。当我们确认准确无误的配置内核后,需在内核根目录下执行如下指令强制保存:
cp .config arch/arm/config/ x4412_android_defconfig
config X4412_BEEP_DRIVER bool "X4412 beep driver" default y help compile for leddriver,y for kernel,m for module.进入 menuconfig 后,输入反斜杠“ / ”,再输入“ X4412_BEEP ”,回车,将会找到对应的路径提示,如下图所示: