(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 基于文本的最为传统的
配置
界面,不推