如何在BuildRoot构建Rootfs的最后一次构建自己的软件包



i创建br2_external软件包,并且只有在已经构建rootfs时才开始构建它们。可能是我的外部包装树的根MK文件中的设置下降吗?但是未知是谁是最后一个...还是可以选择更多的解决方案?

buildroot使用普通软件包基础架构构建rootfs后不支持构建包。该顺序已固定为以下(有点简化):

  1. 构建所有软件包
  2. 运行目标最终确定脚本(包括构建后脚本)。
  3. 构建rootfs图像。
  4. 运行图像后脚本。

有一个例外。对于builtin-initramfs(br2_target_rootfs_initramfs)的内核,在Linux软件包中有一个额外的make规则来重建rootfs cpio image之后重建Linux。可以在br2_external软件包中执行类似的操作。

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

也可以编写一个软件包,以便在构建中不做任何事情,并在后图像脚本中运行类似make -C "$(make printvars VARS=MY_PACKAGE_BUILD_DIR)"的内容。

最新更新