码迷,mamicode.com
首页 > 其他好文 > 详细

6-内核配置选项编写

时间:2018-04-25 20:55:59      阅读:218      评论:0      收藏:0      [点我收藏+]

标签:空格   menu   gen   inux   ice   简单的   default   3.5   目录   

内核裁剪的方式有两种:

    第一种:make menuconfig 进入图形界面的配置。

    第二种:就是打开源码进行相应的裁剪。

这里我们先介绍一下第一种方式的裁剪方式:make menuconfig

  首先介绍下make menuconfig 这个命令实际上是这样运行的:./scripts/kconfig/mconf  arch/arm/Kconfig

  mconf:这个是一个解析器,用来解析Kconfig文件

  Kconfig:就是用来生成我们make menuconfig看到的所有选项,当然,Kconfig也是一层层调用的,和makefile类似。下面我们来写一个最简单的Kconfig文件。

  首先在我们上一节课的目录下driver/mydriver下创建一个Kconfig的文件:并写入一下代码

  1 config MY_DRIVER
  2         bool "select mydriver"    //这是一个选项,并没有与我们的mydirver.c关联
  3         default n          //默认情况下不选择  也就是make menuconfig 中[ ]空的情况  想要选择的话,default y
  4         help             //对应我们make menuconfig 中下面的  select  exit  help 中的help
  5         IF yuo select this ,you will happy !!!   //这个是help中的解释描述

  然后保存退出./scripts/kconfig/mconf  driver/mydriver/Kconfig文件:

    可以看到我们的选项就长成这个样子;

  上面我们说过Kconfig是一层层调用的,所以我们来打开上层的Kconfig,把我们写的Kconfig写入到上层Kconfig,这样就能够make menuconfig的时候直接在整体的选项里面看到我们的Kconfig所生成的选项;

  vim ../Kconfig 照猫画虎:第三行就是我们添加的代码用source 命令。source一下我们的Kconfig      

  1 menu "Device Drivers"
  2 
  3 source "drivers/mydriver/Kconfig"
  4 
  5 source "drivers/base/Kconfig"
  6 
  7 source "drivers/connector/Kconfig"
  8 
  9 source "drivers/mtd/Kconfig"

  最后,make menuconfig 就可以看到我们的选项了,这次我们用空格按键把它选上,exit 保存。

[liuye@LiuYe linux-3.5]$>make menuconfig
scripts/kconfig/mconf Kconfig
#
# configuration written to .config
#


*** End of the configuration.
*** Execute make to start the build or try make help.

  可以看到配置被写入到.config文件下:

  我们来打开这个文件搜索一下   :/MY_DRIVER

1096 #
1097 # Device Drivers
1098 #
1099 CONFIG_MY_DRIVER=y
1100 
1101 #
1102 # Generic Driver Options
1103 #

  可以看到:CONFIG_MY_DRIVER=y。 这就是我们把自己编写出来的选项选中了;如果不选中的话,则如下#CONFIG_MY_DRIVER is not set

1096 #
1097 # Device Drivers
1098 #
1099 # CONFIG_MY_DRIVER is not set
1100 
1101 #
1102 # Generic Driver Options
1103 #

  到这里添加一个最简单的make menuconfig选项就写完了,后面我们会再讲解如何编写其他类型的选项。

 

6-内核配置选项编写

标签:空格   menu   gen   inux   ice   简单的   default   3.5   目录   

原文地址:https://www.cnblogs.com/axjlxy/p/8946980.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!