首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在buildroot中重建rootfs

如何在buildroot中重建rootfs
EN

Stack Overflow用户
提问于 2013-07-26 15:33:58
回答 3查看 27K关注 0票数 10

我将设置构建环境,为AT91SAM9X25板创建自己的linux系统。我在用buildroot做这件事。make命令构建所有目标,首先构建工具链,然后是包,然后是rootfs和rootfs图像(tar,cpio .)。要重建rootfs,我通常使用make,干净,然后再做。make命令移除所有并包含工具链。

因此,我的第一个问题是:有没有什么方法可以不构建工具链来重新生成rootfs?这需要很长时间。

此外,我正在构建内置的linux内核。我在大楼里打开了BR2_LINUX_KERNEL =y。linux配置为使用初始RAM文件系统,因此要构建内核,它需要rootfs的映像(应该由buildroot创建)。当我在buildroot根目录下运行make时,生成失败时出错,无法打开'buildroot-2013.05/output/images/rootfs.cpio'.因为(如果我正确理解的话)构建序列是工具链- pakages - rootfs - linux内核- rootfs的映像。当它试图构建linux内核时,不会创建rootfs.cpio映像。

因此,第二个问题是:如果我想使用初始的RAM文件系统,如何在buildroot中构建linux?

是否有比建造者更有效率的替代方案?

提前谢谢。

EN

回答 3

Stack Overflow用户

发布于 2013-07-26 23:12:59

make命令构建所有目标

您不希望这样做(直到配置了Buildroot )。

您首先需要通过指定目标板来配置Buildroot。

根据手册,您可以从头开始,或者为从类似的板(如解配置 )派生的AT91SAM9X25板创建一个Buildroot文件

除了Buildroot配置文件之外,您还需要一个Linux内核配置文件(除非您想从头开始配置内核)。

带有AT91SAM9x5的Atmel标准板的内核配置文件是解配置

你还应阅读第3.4.2节。创建自己的董事会支持

因此,我的第一个问题是:有没有什么方法可以不构建工具链来重新生成rootfs?这需要很长时间。

答案取决于您如何定义“rootfs”。如果删除目录output/images/,则重写rootfs的文件。

如果删除output/build/中的目录,则这些包或子系统将从源重新编译。

如果您将Buildroot配置为使用您自己的工具链或外部工具链,那么make clean将不会删除它们。如果您将Buildroot配置为安装它在其目录之外构建的工具链,那么它可能会在make clean期间单独使用它。

当然,Buildroot make非常聪明,可以知道自上次构建以来发生了哪些变化,以及需要重新编译哪些内容。

您需要删除output/build/中的目录以强制重新编译,这应该是非常罕见的情况。

因此,第二个问题是:如果我想使用初始的RAM文件系统,如何在buildroot中构建linux?

您需要正确配置Buildroot和Linux内核。

代码语言:javascript
复制
make menuconfig
    Filesystem images --->
make linux-menuconfig
    General setup --->
make

关于使用Buildroot进行AT91SAM9x5的更简洁的信息是 这个Linx4SAM页面

是否有比建造者更有效率的替代方案?

还有其他工具,如开放式嵌入式,但将它们描述为“更有效”是主观的。

增编

如何在buildroot中重建rootfs

要强制重建rootfs (在本例中是initramfs),请删除output/build/linux-x.xx.xx目录中的三个隐藏文件

代码语言:javascript
复制
    .stamp_images_installed
    .stamp_initramfs_rebuilt
    .stamp_target_installed
票数 13
EN

Stack Overflow用户

发布于 2018-12-05 02:39:52

在buildroot中重建rootfs

  1. 视图依赖关系:使显示目标 示例输出: rootfs-cpio rootfs-tar rootfs-ubi rootfs-ubi rootfs
  2. 重建目标。示例:#告诉buildroot重建rootfs-ubi使rootfs-ubi重新构建
票数 0
EN

Stack Overflow用户

发布于 2022-07-29 08:11:27

如果只想重新生成rootfs分区,请执行

代码语言:javascript
复制
rm -r output/target && make

如果您删除了rootfs覆盖中的文件,这会有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17885451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档