如果您已经有BusyBox配置文件,则可以直接在Buildroot配置中使用指定该文件 BR2_PACKAGE_BUSYBOX_CONFIG
。否则,Buildroot将从默认的BusyBox配置文件开始。
要对配置进行后续更改,请使用make busybox-menuconfig
打开BusyBox配置编辑器。
也可以通过环境变量指定一个BusyBox配置文件,尽管这不是建议的。有关更多详细信息,请参阅 第8.6节“环境变量”。
BR2_UCLIBC_CONFIG
。后续更改的命令是
make uclibc-menuconfig
。
如果你已经有一个内核配置文件,你可以直接在Buildroot配置文件中使用 变量BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
。
如果您还没有内核配置文件,您可以通过在Buildroot配置中指定defconfig来BR2_LINUX_KERNEL_USE_DEFCONFIG
启动,使用 或者创建一个空文件并将其指定为自定义配置文件变量 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
。
要对配置进行后续更改,请使用make linux-menuconfig
打开Linux配置编辑器。
BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG
和
BR2_TARGET_BAREBOX_USE_DEFCONFIG
。要打开配置编辑器,请使用
make barebox-menuconfig
。
U-Boot(版本2015.04或更新版本)的配置以与Linux内核相同的方式完成。相应的配置变量是BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG
和 BR2_TARGET_UBOOT_USE_DEFCONFIG
。要打开配置编辑器,请使用make uboot-menuconfig
。
并非所有的目标都是可用的,.config
文件中的一些设置可能会隐藏一些目标:
busybox-menuconfig
仅在busybox
启用(选中)时才起作用;linux-menuconfig
而linux-savedefconfig
只有当工作linux
启动(选中);uclibc-menuconfig
只有在内部工具链后端选择了uClibc C库时才可用;barebox-menuconfig
而barebox-savedefconfig
只有当工作barebox
启动引导程序。uboot-menuconfig
而uboot-savedefconfig
只有当工作U-Boot
启动引导程序。
output/build
。然后Buildroot将重新提取,重新配置,重新编译和重新安装这个包。使用
make <package>-dirclean
命令,之后使用make <package>命令
从编译步骤重新开始编译包的构建过程,则可以运行make <package>-rebuild
,然后按make
或make <package>
。它将重新开始编译和安装软件包,但不是从头开始:它基本上是重新执行的,make(搜索很麻烦)
而且make install
在软件包内部,所以它只会重建那些已经改变文件。
从配置步骤重新启动程序包的构建过程,可以运行make <package>-reconfigure
,然后按make
或make <package>
。它将重新启动软件包的配置,编译和安装。
make graph-depends 生成已编译完整系统的依赖关系图 output/graphs/graph-depends.pdf
make <pkg>-graph-depends 给定的包生成依赖关系图 output/graph/<pkg>-graph-depends.pdf
软件的构建过程(按它们执行的顺序):make+
命令/目标 | 描述(这些命令都是单步运行) |
---|---|
| 获取源代码(下载压缩包,克隆源代码库等) 下载源码 |
| 构建并安装构建软件包所需的所有依赖关系 检查依赖关系 |
| 把源代码放在包构建目录中(提取压缩包,复制源代码等) 解压源码包 |
| 应用补丁,如果有的话 添加补丁 |
| 运行configure命令(如果有的话) 进行软件的配置 |
| 运行编译命令 进行软件的编译 |
| 目标软件包:如果需要,在分段目录中运行软件包的安装 |
| 目标软件包:如果需要,请在目标目录中运行软件包的安装 |
| 目标包:运行2个以前的安装命令 进行软件的安装 主机包:在主机目录中运行包的安装 |
另外,还有其他一些有用的目标:
命令/目标 | 描述(这些命令都是单步运行) |
---|---|
| 显示构建包所需的依赖关系 |
| 在当前的Buildroot配置的上下文中生成包的依赖关系图。有关依赖关系图的更多详细信息,请参见 本节的 第8.8节“绘制包之间的依赖关系”。 |
| 删除整个包构建目录 |
| 重新运行安装命令 |
| 重新运行编译命令 - 这只有在使用该 |
| 重新运行configure命令,然后重建 - 这只有在使用该 |
<pkg1> _OVERRIDE_SRCDIR = / path / to / pkg1 / sources <pkg2> _OVERRIDE_SRCDIR = / path / to / pkg2 / sources
例如:
LINUX_OVERRIDE_SRCDIR = / home / bob / linux / BUSYBOX_OVERRIDE_SRCDIR = / home / bob / busybox /
然后运行make linux-rebuild allmake busybox-rebuild all
make <pkg>-rebuild all命令
将源代码 <pkg>_OVERRIDE_SRCDIR复制
到output/build/<package>-custom
(仅修改过的文件被复制),并重新启动只是这个包的构建过程(包括 make rebuild 和make install)。<pkg>_OVERRIDE_SRCDIR
已经定义了一个包, 它将不再尝试下载,提取和修补包。它将直接使用指定目录中的可用源代码,而
make clean
不会触及此目录。