我正在使用buildroot为raspberry pi创建一个linux系统。我想使用initramfs来启用系统自我修补。程序大致如下:
switch_root
我的问题是我需要为不属于主系统的initramfs编译辅助busybox(以及更多包)。我目前通过手动修改软件包文件来安装到target/initramfs
中解决了这个问题,通过预构建将该文件夹移出,然后再使用post-build重新安装,但这看起来相当hacky。此外,不同的包类型需要不同类型的更改。这个问题有更好的解决方案吗?如果可以手动覆盖每个包的目标目录,那么这个问题就很容易解决了。
答案 0 :(得分:0)
创建两个单独的buildroot配置。
一个配置将包含内核和initramfs。
其他配置只有squashfs rootfs。
从配置创建部分rootfs非常棘手,因为您必须确保不会错过某些程序所需的任何共享库或其他辅助文件。
请注意,要加快构建速度,您可以使用ccache和/或使用外部工具链。请参阅the manual。