buildroot 常用编译命令(前八章)

BusyBox的

如果您已经有BusyBox配置文件,则可以直接在Buildroot配置中使用指定该文件 BR2_PACKAGE_BUSYBOX_CONFIG否则,Buildroot将从默认的BusyBox配置文件开始。

要对配置进行后续更改,请使用make busybox-menuconfig打开BusyBox配置编辑器。

也可以通过环境变量指定一个BusyBox配置文件,尽管这不是建议的。有关更多详细信息请参阅 第8.6节“环境变量”

uClibc的
uClibc的配置与BusyBox相同。用于指定现有配置文件的配置变量是  BR2_UCLIBC_CONFIG 后续更改的命令是 make uclibc-menuconfig
Linux内核

如果你已经有一个内核配置文件,你可以直接在Buildroot配置文件中使用 变量BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG

如果您还没有内核配置文件,您可以通过在Buildroot配置中指定defconfig来BR2_LINUX_KERNEL_USE_DEFCONFIG启动,使用 或者创建一个空文件并将其指定为自定义配置文件变量 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG

要对配置进行后续更改,请使用make linux-menuconfig打开Linux配置编辑器。

Barebox
Barebox的配置与Linux内核的配置相同。相应的配置变量是  BR2_TARGET_BAREBOX_USE_CUSTOM_CONFIG 和  BR2_TARGET_BAREBOX_USE_DEFCONFIG 要打开配置编辑器,请使用 make barebox-menuconfig
的U-Boot

U-Boot(版本2015.04或更新版本)的配置以与Linux内核相同的方式完成。相应的配置变量是BR2_TARGET_UBOOT_USE_CUSTOM_CONFIG和 BR2_TARGET_UBOOT_USE_DEFCONFIG要打开配置编辑器,请使用make uboot-menuconfig

并非所有的目标都是可用的,.config文件中的一些设置可能会隐藏一些目标:

  • busybox-menuconfig仅在busybox启用(选中)时才起作用;
  • linux-menuconfiglinux-savedefconfig只有当工作 linux启动(选中);
  • uclibc-menuconfig 只有在内部工具链后端选择了uCl​​ibc C库时才可用;
  • barebox-menuconfigbarebox-savedefconfig只有当工作 barebox启动引导程序。
  • uboot-menuconfiguboot-savedefconfig只有当工作 U-Boot启动引导程序。
完全重建单个包的最简单的方法是在中删除其构建目录 output/build 然后Buildroot将重新提取,重新配置,重新编译和重新安装这个包。使用  make <package>-dirclean 命令,之后使用make <package>命令

从编译步骤重新开始编译包的构建过程,则可以运行make <package>-rebuild,然后按makemake <package>它将重新开始编译和安装软件包,但不是从头开始:它基本上是重新执行的,make(搜索很麻烦)而且make install 在软件包内部,所以它只会重建那些已经改变文件。


从配置步骤重新启动程序包的构建过程,可以运行make <package>-reconfigure,然后按makemake <package>它将重新启动软件包的配置,编译和安装。



make graph-depends    生成已编译完整系统的依赖关系图   output/graphs/graph-depends.pdf
make <pkg>-graph-depends 给定的包生成依赖关系图      output/graph/<pkg>-graph-depends.pdf

软件的构建过程(按它们执行的顺序):make+

命令/目标 描述(这些命令都是单步运行)

make source

获取源代码(下载压缩包,克隆源代码库等)      下载源码

make depends

构建并安装构建软件包所需的所有依赖关系            检查依赖关系

extract

把源代码放在包构建目录中(提取压缩包,复制源代码等)    解压源码包

patch

应用补丁,如果有的话                                                                     添加补丁

configure

运行configure命令(如果有的话)                                                进行软件的配置

build

运行编译命令                                                                                    进行软件的编译

install-staging

目标软件包:如果需要,在分段目录中运行软件包的安装

install-target

目标软件包:如果需要,请在目标目录中运行软件包的安装

install

目标包:运行2个以前的安装命令                                                        进行软件的安装

主机包:在主机目录中运行的安装

另外,还有其他一些有用的目标:

命令/目标 描述(这些命令都是单步运行)

show-depends

显示构建包所需的依赖关系

graph-depends

在当前的Buildroot配置的上下文中生成包的依赖关系图。有关依赖关系图的更多详细信息请参见 本节的 第8.8节“绘制包之间的依赖关系”

dirclean

删除整个包构建目录

reinstall

重新运行安装命令

rebuild

重新运行编译命令 - 这只有在使用该OVERRIDE_SRCDIR功能(重新指定源码包位置)时才有意义,或者直接在编译目录中修改文件时才有意义

reconfigure

重新运行configure命令,然后重建 - 这只有在使用该OVERRIDE_SRCDIR功能时才有意义,或者直接在build目录中修改文件


Buildroot的正常运行是下载一个tarball,解压缩,打补丁,配置,编译和安装

命令 (重新指定哪个软件包的源码位置)
<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 all
make busybox-rebuild all


make <pkg>-rebuild all命令源代码 <pkg>_OVERRIDE_SRCDIR复制output/build/<package>-custom仅修改过的文件被复制),并重新启动只是这个包的构建过程(包括 make rebuild 和make install)。


当Buildroot发现对于一个给定的包时, <pkg>_OVERRIDE_SRCDIR 已经定义了一个包, 它将不再尝试下载,提取和修补包。它将直接使用指定目录中的可用源代码,而 make clean 不会触及此目录。




  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值