Buildroot 更改目标目录/创建 "out of target" 个包
Buildroot change target directory / create "out of target" packages
我正在使用 buildroot 为 raspberry pi 创建一个 linux 系统。我想使用 initramfs 来启用系统自我修补。程序大致运行如下:
- Raspi 启动,内核加载 initramfs
- initramfs 系统(包含 busybox、zsync 等)连接到中央服务器并检查是否有可用的引导文件更新(例如新内核)
- 如果没有,它会检查是否有可用的系统更新并在需要时下载
- 下载的(squashfs)系统镜像通过
switch_root
挂载执行
我的问题是我需要为不属于主系统的 initramfs 编译一个辅助 busybox(和更多的包)。我目前通过手动修补要安装到 target/initramfs
中的包文件解决了这个问题,用预构建将这个文件夹移出,然后用 post-build 再次移回,但这看起来很老套。此外,不同的包类型需要不同类型的更改。这个问题有更好的解决方案吗?如果可以手动覆盖每个包的目标目录,这个问题就很容易解决了。
创建两个单独的 buildroot 配置。
一个配置将包含内核和 initramfs。
其他配置只有squashfs rootfs。
从配置创建部分 rootfs 非常棘手,因为您必须确保不会遗漏某些程序所需的任何共享库或其他辅助文件。
请注意,要加快构建速度,您可以使用 ccache and/or 使用外部工具链。参见 the manual。
我正在使用 buildroot 为 raspberry pi 创建一个 linux 系统。我想使用 initramfs 来启用系统自我修补。程序大致运行如下:
- Raspi 启动,内核加载 initramfs
- initramfs 系统(包含 busybox、zsync 等)连接到中央服务器并检查是否有可用的引导文件更新(例如新内核)
- 如果没有,它会检查是否有可用的系统更新并在需要时下载
- 下载的(squashfs)系统镜像通过
switch_root
挂载执行
我的问题是我需要为不属于主系统的 initramfs 编译一个辅助 busybox(和更多的包)。我目前通过手动修补要安装到 target/initramfs
中的包文件解决了这个问题,用预构建将这个文件夹移出,然后用 post-build 再次移回,但这看起来很老套。此外,不同的包类型需要不同类型的更改。这个问题有更好的解决方案吗?如果可以手动覆盖每个包的目标目录,这个问题就很容易解决了。
创建两个单独的 buildroot 配置。
一个配置将包含内核和 initramfs。
其他配置只有squashfs rootfs。
从配置创建部分 rootfs 非常棘手,因为您必须确保不会遗漏某些程序所需的任何共享库或其他辅助文件。
请注意,要加快构建速度,您可以使用 ccache and/or 使用外部工具链。参见 the manual。