1. 如果.config不存在,运行make config/menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。
2. 如果.config存在,运行make config/menuconfig时的缺省设置即是当前.config的设置,若对设置进行了修改,.config将被更新。
3. make xxx_defconfig就是用arch/xxx/xxx_defconfig文件中的配置值修改固化在各个Kconfig文件中各项目的缺省值生成当前的.config。
4.make savedefconfig就是对make xxx_defconfig的反向操作。用当前的.config中相对各个Kconfig文件中的缺省值有修改的将修改内容保存到defconfig中。(执行完3,就执行4,defconfig内容和xxx_defconfig的内容将是一样的)
5. make oldconfig是用当前的.config作为基础,按相互依赖关系重新生成一个.config文件。如果新生成的.config文件和作为基础的.config文件不一致。就把作为基础的.config重命名为.config.old,用于恢复对.config的修改。
.config生成逻辑
1.首先通过make xxx_defconfig,生成最开始的.config。
其中defconfig是最小的config项。
2.通过make saveconfig通过.config生成最小的defconfig文件。
3.通过scripts/config --file .config -e CONFIG_xxx 更新.config文件。-e是改变CONFIG_xxx为y;-m是改变CONFIG_xxx为m;-d是改变CONFIG_xxx为n
4.通过make oldconfig将刚增加的config项的.config做依赖检查重新生成新的.config文件,且新生成的.config和以前的不同是,将旧的.config重命名为.config.old文件。
1. 如果.config不存在,运行make config/menuconfig时的缺省设置由固化在各个Kconfig文件中各项目的缺省值决定。2. 如果.config存在,运行make config/menuconfig时的缺省设置即是当前.config的设置,若对设置进行了修改,.config将被更新。3. make xxx_defconfig就是用arch/xxx/xxx_defconf...
make
config
- 纯文本界面 (最常用的选择)。
make
menu
config
- 基于文本彩色菜单和单选列表。这个选项可以加快开发者开发速度。需要安装ncurses(ncurses-devel)。
make
n
config
- 基于文本的彩色菜单。需要安装curses (libcdk5-dev)。
make
x
config
- QT/X-windows 界面。需要安装QT。
1. 要修改在arch/arm/
config
s下的文件xxx_
def
config
2.
make
xxx_
def
config
会生成.
config
文件。
3.
make
menu
config
修改配置后保存
4.
make
save
def
config
生成
def
confgi文件
5. cp
def
config
arch/arm/
config
s/xxx_
def
config
保存
这样保存的
在进行 linux 内核的配置编译的时候,最常见的就是
make
menu
config
命令。总所周知,linux是一个模块化定制的系统,那么它又是如何来实现模块化的配置的呢?在配置的过程中,我们最重要的就是理清楚 k
config
、.
config
、 menu
config
之间的关系。在Linux内核中,添加驱动代码一般有3部:将代码拷贝到Linux内核代码恰当的地方新建或者修改对应的k
config
文件新建或修改对应的
make
file文件
1.1 de
config
文件
一般由平台厂商提供,内核编译用做 的
当前 uboot 的配置已经完全变成Linux 内核的配置形式了,完全可以按照Linux 内核的分析方是区分析 uboot。
uboot 和Linux的代码配置项由 K
config
来完成的,关于 K
config
语法,可参见:linux/Documentation/kbuild/k
config
-language.txt
在编译时,先进行配置,...
之前的文章:《一次搞定交叉编译》 给大家讲了如何安装交叉编译工具链,搭建交叉编译环境。
这篇文章主要教大家如何正确的去编译 Linux Kernel、U-Boot 这些著名的开源软件。
也许很多同学会说:编译是小 case 啊,我都
make
过成千上万次了!
可是你是否有思考过,你编译的时候每一个步骤、执行的每一个命令.....
它背后隐藏的原理是什么?为什么要这么做?你的方法是最高效最科学的吗?你的方法是否潜藏着漏洞
1、如果.
config
不存在,运行
make
config
/menu
config
时的缺省设置由固化在各个K
config
文件中各项目的缺省值决定。
2. 如果.
config
存在,运行
make
config
/menu
config
时的缺省设置即是当前.
config
的设置,若对设置进行了修改,.
config
将被更新。
3. arch/arm/
def
config
是一个缺省的配置文件,
make
def
con
3. 安装必要的编译工具和依赖库,例如 gcc、
make
、libncurses-dev 等。
4. 配置内核编译选项,可以使用
make
menu
config
命令进入配置界面,也可以使用
make
def
config
命令使用默认配置。
5. 编译内核,使用
make
命令进行编译,可以使用 -j 参数指定并行编译的线程数。
6. 安装内核,使用
make
install 命令进行安装,会将编译好的内核镜像和模块安装到指定的目录下。
7. 更新 boot loader 配置,将新内核添加到 boot loader 的配置文件中,例如 grub2 的 /etc/grub.d/40_custom 文件。
8. 重启系统,选择新内核启动,检查系统是否正常运行。
以上是编译 Linux 5.0 内核安装的基本步骤,具体操作可以根据实际情况进行调整。