(1) mini_defconfig

(2) project.setup 文件, 保存两列,第一列为功能名称,第二列为选中与否(Y/N)

(3) function_config 文件,保存enable 该function必要的config设置,用于追加到mini_defconfig中;

1. 建立一个mini_defconfig, 此mini_defconfig 中是最小配置,即能保证系统启动后进入shell, 及最小linux命令。

这个最小defconfig将作为日后增加功能的baseline.

2. 以功能为导向,即以app为导向,每个功能app对应一个function config文件,里面保存着enable这个功能需要配置的config。

这些配置追加到mini_defcocnfig后,再make mini_defconfig, 会得到顺序调整过的.config,此时的.config即为增加了这个功能的defconfig.

3. 对于每一个project, 都会对应一个project setup配置文件,选中这个项目的功能,执行脚本时,脚本会把选中的功能对应的配置追加到mini_defconfig中,最后运行make mini_defconfig, 生成的.config中即该project 对应的config.

利用这种方式生成的系统,不需要额外做system size裁剪,这是正向按需求添加功能。而从一个别的项目拷贝过来的配置,却需要做配置的增减。

系统搭建需要完成的工作:

(1) 制作mini_defconfig

(2) 单独添加每一个功能,制作function_config 文件,目录名有function名字

(3) 制作 project.setup的选项全为N的baseline.

(4) 编写脚本:

(1) 解析project.setup中的功能,和project名;

(2) 拷贝mini_defconfig 为project_defconfig;

(3)从config_dir中搜索对应支持功能的function_config,并依次追加到project_defconfig。

(4)source 编译环境后,make project_defconfig, 生成对应.config, 并将.config 拷贝为project_defconfig.

(1)基于一个最小defconfig 来做功能添加,每个功能的config 依赖仅需要制作一次;

(2)各个功能的添加彼此独立,理论上,如果项目配置正确,config 在顶层可能会有重复选中的,但make project_defconfig后会梳理一遍;

(3)以后各个项目的系统大小裁剪工作被根据需求选择function来代替;即人工的事情,只重复一次,以后即可自动化配置;

注: 功能指二进制可执行文件,可按如下分类:

(1)系统功能app

(2)unit test

(3)debug 工具

(4)其余支持的linux 命令

自动化依赖的linux配置系统(基于menuconfig)目的:将繁琐的menuconfig最大化避免重复,对一个长期项目,最大化减轻人力成本。需要:(1) mini_defconfig(2) project.setup 文件, 保存两列,第一列为功能名称,第二列为选中与否(Y/N)(3) function_config 文件,保存enable 该function必要的c...   b.开发板可以pc, linux 三者可以互相ping通   c. 配置 好nfs服务器:同样在嵌入式的童年中有介绍   一.嵌入式 linux 内核的制作(这里使用的国嵌提供的 linux -ok6410内核,附带内核 配置 文件config-file)   a.进入内核目录清除原有 配置 和中间文件:   make clean   b. 配置 内核:   arm平台:make menuconfig ARCH=arm   将内核 配置 文件拷贝到内核目录中config-file   查看cpu是否对应:system type->arm sy
Linux 的代码 配置 项由Kconfig来完成的,关于Kconfig语法,可参见: linux /Documentation/kbuild/kconfig-language.txt 在编译时,先进行 配置 ,目的是根据需求选择功能以及编译生成方式类型(模式或包含在内核中). 配置 项操作可以由如下命令中的其中一条来完成:  make config, make menuconfig , make old
# *DOCUMENTATION* # To see a list of typical targets execute "make help" # More info can be located in ./README # Comments i make menuconfig 图形化的内核 配置 make mrproper 删除不必要的文件和目录 make oldconfig 如果只想在原来内核 配置 的基础上修改一些小地方,会省去不少麻烦 make config 基于文本的最为传统的 配置 界面,不推