【问题标题】:Modifying core-image-minimal to only make rootfs修改 core-image-minimal 只制作 rootfs
【发布时间】:2017-01-24 15:59:44
【问题描述】:

我正在 Zedboard 上开发一个嵌入式项目。我想(至少现在)只使用 Bitbake 来生成正确的 rootfs。我使用配方 core-image-minimal,因为我只需要有限数量的员工。我如何“告诉”它不编译内核,不制作 u-boot 等,只关注 rootfs?

这是我到目前为止所做的:

  1. 创建了我的构建环境
  2. 已下载所需图层
  3. 修改 local.conf 以将所需的包添加到 rootfs

然后在输入之后

bitbake core-image-minimal

我得到了我的 rootfs,以及所有这些不必要的人员。如何避免?

【问题讨论】:

  • 你想在这里实现什么?更少的时间来构建图像?更少的磁盘使用量?在事物的方案中,内核和 u-boot 只是构建过程中非常小的一部分,因此删除它们可能不会有太大的区别。大部分构建时间用于构建编译器和 libc。
  • 我想以正确的方式做事,我想更好地了解Yocto。正如你所说,时间并不重要,因为编译 rootfs 大约需要 3 小时,内核大约需要 15 分钟。

标签: yocto bitbake recipe


【解决方案1】:

我最近也有同样的需要用 yocto 构建 rootfs,跳过内核、uboot、映像创建等其他事情。这样做有很多正当理由。无论如何,这是你必须做的:

bitbake core-image-minimal -c image_cpio

在 krogoth 中,这将填充 build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/ 中的 rootfs 目录并在 build/tmp/deploy/images/$MACHINE/ 中创建一个 rootfs.cpio 文件

在 morty 中,rootfs.cpio 档案似乎在 build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/deploy-core-image-minimal-image-complete/

【讨论】:

    【解决方案2】:

    有趣的概念。但是,据我观察,Yocto 必须在内核和 u-boot 中获取 defconfig 才能对映像本身进行配置。因此,删除该进程将使 rootfs 无法启动。

    因为我使用不同的内核为不同的机器进行编译,所以这些对我来说发生了很多次。我认为 ARM 映像将是相同的,并且适用于所有机器,但我错了。

    对于 Debian,编译出来的镜像需要使用内核对应的配置编译 rootfs 才能工作。 Yocto 也是一样。

    【讨论】:

    • 好吧,正如我已经说过的,我只是忽略了 Yocto 的内核和 U-boot,只使用 rootfs,它就可以工作。可能是因为默认内核配置与我的相似。我将对此进行调查,谢谢! +1 指出重要的事情(我希望这不是非法的:))
    【解决方案3】:
    bitbake -e |grep IMAGE_FSTYPE
    

    会给你类似的东西:

    IMAGE_FSTYPES="tar.gz cpio cpio.gz.u-boot ...."
    

    这是将生成的所有图像的列表,用于删除不需要的图像,在 local.conf 文件中使用:

    IMAGE_FSTYPES_remove = " cpio cpio.gz.u-boot"
    

    第一个元素之前的空格不是可选的。 问候

    【讨论】:

    • 为什么那个空间不是可选的?我们是否回到了间隔等标签的美好时光? :)
    • 否,是因为已附加到现有列表。例如,如果列表是“A B C”,而您在没有空格的情况下附加“D E F”,则结果列表将是“A B CD E F”,这不是我们想要的。
    【解决方案4】:

    如果您不想构建内核,请将虚拟/内核的首选提供程序设置为“linux-dummy”。

    【讨论】:

      猜你喜欢
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2018-12-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      • 2018-06-18
      相关资源
      最近更新 更多