在最后一次通过buildroot构建rootfs时如何构建自己的软件包?

时间:2019-02-25 22:44:34

标签: package external buildroot

我创建了br2_external软件包,并希望仅在rootfs已经构建时才开始构建它们。 可能在我的外部软件包树的根mk文件中设置了依赖吗?但不知道谁是最后一个...还是可能有更正确的解决方案?

1 个答案:

答案 0 :(得分:0)

在使用常规软件包基础结构构建了rootfs之后,Buildroot不支持构建软件包。订单固定为以下内容(略有简化):

  1. 构建所有软件包
  2. 运行目标完成脚本(包括构建后脚本)。
  3. 构建rootfs映像。
  4. 运行图像后脚本。

对此有一个例外。对于带有内置initiramfs的内核(BR2_TARGET_ROOTFS_INITRAMFS),在Linux软件包中有一个额外的make规则可以在生成rootfs cpio映像后重建Linux。可以在BR2_EXTERNAL程序包中执行类似的操作。

通常,实际上,在生成rootfs之后,您实际上不需要真正构建任何东西。相反,您只需要运行一些后处理工具。因此,通常的方法是将该后处理工具构建为普通的程序包,然后从后图像脚本运行它。

还可以编写一个程序包,使其在构建和安装步骤中不做任何事情,并从后映像脚本运行类似make -C "$(make printvars VARS=MY_PACKAGE_BUILD_DIR)"的程序。