九鼎创展论坛中文版English
登录 | 立即注册 设为首页收藏本站 切换到宽版
查看: 5797|回复: 2
打印 上一主题 下一主题

x4412&ibox项目实战6-配置内核

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-22 11:07:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我们可以使用如下四条命令的任意一条来配置内核:
  1. make  config
  2. make  menuconfig
  3. make  xconfig
  4. make  gconfig
复制代码
这里最通用,也最值得推荐的是make menuconfig,它不依赖于QT和GTK+,且图形化操作,非常简洁直观,配置界面示例如下:

在上面的可视化界面下,我们只需要用键盘上的上,下,左,右键及空格键即可配置内核了。这里以蜂鸣器为例,讲解它的配置全过程。
       蜂鸣器驱动为字符设备驱动,我们通过光标移到上面的DeviceDrivers一栏,点回车,进入设备驱动的配置界面,如下图所示:

再将光标移到Characterdevices一栏,点回车进入字符设备专栏:

可以看到,X4412beep driver向个醒目的大字已经呈现在我们眼前了。通过光标移动到该栏,通过空格键可以选择选中或是不选中。修改完配置后,通过光标左右键,将最下面一栏选择到Exit,依次退出,如果有修改,会弹出是否保存的提示:

选择Yes,回车保存。这时,修改过的配置文件在内核根目录中,名称为.config。修改完后,通常接着就会编译内核了,为了更方便的管理源码,我们编写了源码编译脚本mk。编译内核时,直接执行./mk–k即可。打开脚本,可以看到在编译内核之前,它执行了如下指令:
  1. make ${BS_CONFIG_KERNEL}  || return 1
复制代码
这里BS_CONFIG_KERNEL已经被声明为x4412_android_defconfig,也就是说,默认arch/arm/config目录下的x4412_android_defconfig文件会被重新配置到内核根目录的.config中,这样我们前面修改的.config文件就被替换了。之所以要这么做,是出于安全考虑。整个menuconfig配置选项众多,如果我们配置错误,很有可能很难再还原。当我们确认准确无误的配置内核后,需在内核根目录下执行如下指令强制保存:
  1. cp  .config  arch/arm/config/ x4412_android_defconfig
复制代码
这时再执行./mk –k文件编译即可。
有时候,具体驱动的位置并不会像我们现在这样,如此顺利的被找到。这时我们可以使用menuconfig的搜索功能。menuconfig本身就是由从多的Kconfig文件组合而成,我们可以从Kconfig入手。如刚才的蜂鸣器驱动,我们找到对应的Kconfig文件,其内容如下:
  1. config X4412_BEEP_DRIVER
  2.          bool "X4412 beep driver"
  3.          default y
  4.          help
  5.          compile for leddriver,y for kernel,m for module.
复制代码
进入menuconfig后,输入反斜杠“/”,再输入“X4412_BEEP”,回车,将会找到对应的路径提示,如下图所示:

这时,我们再到DeviceDrivers/Character devices下即可找到相应配置文件了。



回复

使用道具 举报

沙发
发表于 2014-9-22 22:02:57 | 只看该作者
这个查找功能之前不知道~~谢谢了~
回复 支持 反对

使用道具 举报

板凳
发表于 2015-9-16 14:22:00 | 只看该作者
蜂鸣器对应的Kconfig文件放在哪呢,找一找~~~这个之前不知道~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳市九鼎创展科技官方论坛 ( 粤ICP备11028681号-2  

GMT+8, 2024-5-3 06:21 , Processed in 0.029961 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表