问题标签 [yocto-wic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
295 浏览

kernel - Yocto directdisk 引导加载程序删除选项

我正在将我们基于 yocto 的系统从 fido 更新为 morty。我正在构建 VMware 映像,一切正常,系统构建良好并成功启动。

问题是现在我已经更新了系统(在 fido 中没有发生)我在启动虚拟机时可以选择:

如果我选择编辑选项,我可以看到这些选项对应于内核选项,如下所示:

如果我不选择任何东西,它会自动选择图形控制台启动,这很好,因为那是我想要的。

我想知道如何覆盖它并立即选择图形控制台启动并启动启动。

我发现这些选项是在/poky/tree/scripts/lib/wic/canned-wks/directdisk-bootloader-config.cfg中定义的

我还注意到串行控制台没有在 morty 中定义,这也让我感到困惑,因为我不应该看到它,因为它不在 morty 中?但这不是问题,我只是希望它直接使用选项启动/vmlinuz LABEL=boot root=/dev/sda2

0 投票
1 回答
9942 浏览

linux - yocto中wic和hddimg格式的区别

我在 Yocto 中为我的英特尔板生成了一个 core-image-minimal 图像。

查看 tmp/deploy/images 文件夹,它们有很多图像。

我使用 *.wic 闪烁图像dd,它创建了两个分区( Boot 和 Platform ),并且只允许执行实时启动,而不允许它安装在主板的硬盘上。

然后我使用 *.hddimg 在 USB 上闪烁dd然后我使用命令它只创建了一个包含 rootfs.img、syslinux 和 EFI 文件夹的“引导”分区。

使用 USB 启动为我提供了一个“安装”选项,该选项安装在板上,当我安装后重新启动时,它显示“未找到可启动媒体”

使用可引导映像在硬盘中有两个分区。为什么不开机。。

后续步骤:

  1. 使用“bitbake core-image-minimal”命令创建了一个最小的 yocto 图像
  2. 使用该dd命令刷写 USB。
  1. 点击安装并输入“sda”</li>
  2. 安装成功,当我尝试通过移除 USB 驱动器重新启动时,它显示“未找到启动选项。请安装可启动媒体并重新启动。”

我在这里做错了什么。

选择哪个图像以及何时..

0 投票
1 回答
1324 浏览

yocto - 如何在 MX6 SABRE 设备上启动 Yocto 生成的映像

问题:在 i.MX6 四核 Sabre devkit 上运行的 U-boot 平台的 core-image-minimal 应该有什么输出?

我可以看到带有飞思卡尔徽标的闪屏,但随后显示为空白。我期待某种引导序列和 U-Boot> 命令界面。

我还从 uboot_mx6x.pdf 看到以下内容:默认情况下,U-Boot 配置为显示命令提示符并在具有 115,200-8-N-1 设置的某些 UART 端口上接收串行键盘输入。

问题:这是在哪里定义的?我该如何改变它?我怎么听这个?

我按照NXP 论坛上的指南开始了解 Yocto 和 u-boot。我已经从这里安装并遵循了这些程序。

我使用了以下命令:

$ bitbake core-image-minimal

$ wic 创建 imx-uboot-spl-bootpart -e core-image-minimal

最后我使用命令:

dd if=imx-uboot-spl-bootpart-201804091703-mmcblk.direct of=/dev/sdb

在这个过程之后,我把 SDCard 插入到我的 Sabre 开发工具包中,然后启动闪屏,之后什么都没有发生。

启动画面

0 投票
1 回答
1534 浏览

kernel - Yocto系统卡住,等待根设备PARTUUID

系统设置:

WKS 文件生成 WIC 映像,

通过这些设置,我可以创建 WIC 映像。一旦我在 USB 驱动器上使用 DD 命令写入相同的内容,我就可以从 USB 设备正确启动。现在,当我通过 DD 命令将 WIC 映像写入 SSD 驱动器时出现问题,系统卡在Waiting for root device PARTUUID=<...>

我已经尝试了以下方法来正确启动,

以上所有的实验我已经什么都没做。

您可能想查看许多其他更改,因此请告诉我您想要的具体项目,我将分享更多详细信息。

非常感谢任何帮助。

0 投票
1 回答
4419 浏览

yocto - 如何使用 yocto wic 创建自定义分区布局?

这可能是一个相当简单的问题,我缺少一些东西。我正在尝试wic用作自定义脚本的替代品来布置引导分区。该设备是 IMX6,uboot 写入 0x400,还有一个 fat32 引导分区,用于加载 /boot 文件夹.. 包含一些文件

我简要研究了使用 bootimg-partition 的插件wic。似乎是一种包含文件的简单方法,但对文件名称的控制不够。它可以占用整个文件夹,但我不确定如何使用这些特定文件创建目录。复制后文件必须具有正确的名称。

0 投票
1 回答
4649 浏览

yocto - Yocto - 创建并填充一个单独的 /home 分区

我正在创建一个非常简单的基于 x86 的 Yocto 图像。

我希望 / 文件系统是只读的,所以我设置

在原件的自定义副本中core-image-minimal.bb。不过,我确实希望将/home可写文件放在单独的分区上。

所以,我要添加一行

在 genericx86.wks 中。这在最终的 wic 映像中创建了实际的/home分区,但它自然不保存任何数据,因为它没有对应rootfs的。这会导致启动后出现以下非常预期的消息:No directory, logging in with HOME=/.

令人惊讶的是,互联网上关于此的信息很少。有这样的解释:

创建或修改构建配方以为每个分区准备一个 rootfs 目录要简单得多。

我只是希望在文档或示例中有任何关于如何实现这一点的参考。

我可以看到分区正在由 python 脚本(插件)填充rootfs.py,并且图像参数IMAGE_ROOTFS_SIZE在提到的图像配方文件中指定genericx86.wks,但是这不足以让我将这些部分连接在一起。

我已经阅读了created -partitioned-images-using-wic和链接的openembedded kickstart手册,那里没有任何线索。

感谢某人的善意帮助。

0 投票
0 回答
1116 浏览

yocto - 如何在 rootfs/boot 中安装 initramfs?

我想在 rootfs 中安装一个 initramfs /boot(与 wic 引导分区不同)。

在 rootfs/boot中,有一个内核映像,并安装了一个 fit 映像。

我没有将initramfs捆绑在内核中,而是放在fit image中,但是这个fit image是没有initramfs的。

我需要将 initramfs/boot放在 rootfs 上,但我没有找到正在安装这些的东西,或者是否有合法的方法可以在那里安装其他东西,或者我是否需要修补一些东西?

我希望有类似的东西IMAGE_BOOT_FILES,我可以从中指定额外的文件DEPLOY_DIR_IMAGE

作为一个额外的细节,我希望安装的 initramfs 不是使用 INITRAMFS_IMAGE 向内核配方声明的(用于包含适合图像的),而是可以单独构建的备用 initramfs。

但是我在指定依赖项时遇到了麻烦,所以这个额外的 initramfs 是单独构建的。

我尝试使用以下方法指定此 initramfs 配方的名称:

  • DISTRO_EXTRA_RDEPENDS
  • EXTRA_IMAGEDEPENDS
  • 包裹

编辑:部分答案似乎是 initramfs 是一个图像,因此它安装的任何东西(使用暂存)都将是其本身。

显然我需要遵循内核配方计划,这是依赖于 imitramfs 的不同配方,并且它已经产生了它的工件然后窃取它们


简单的答案是在顶级 yocto-image-base.bb 配方中使用类似的东西

但我宁愿inherit staging用类似的东西重新添加到 initramfs bb 中:

重新引入图像配方的能力,以促进更高级别的 sysroot${DEPLOY_IMAGE_DIR}

将 initramfs 放入父 sysroot 中应该与 wic 放入 /boot 一样简单

0 投票
1 回答
1462 浏览

linux - INITRAMFS_IMAGE_BUNDLE 上的 Yocto Warrior 和 SD 卡映像上的 Linux 内核映像

我正在 Ubuntu 18.04 上使用 Yocto Warriors 构建我的嵌入式 Linux 系统。我有自己的核心图像配方和 initramfs 图像配方。

我一直在阅读文档(https://www.yoctoproject.org/docs/current/mega-manual/mega-manual.html#var-INITRAMFS_IMAGE)和互联网上的各种帖子,以便提出以下内容在我的 local.conf 中:

这些行实际上创建了一个 initramfs 内置版本的我的内核,并将其放在名为Image-Initramfs.bin的部署目录中。它比成功启动的Image内核文件略大。所以 Yocto 最终构建了 2 个内核,一个带有 initramfs,一个没有。

文档说这是通过辅助编译路径完成的:

问题是 Yocto 没有将这个 initramfs 内核安装到最终的 SD 卡映像中。仅安装了非 initramfs 内核。我无法找到有关如何使其安装 initramfs 版本而不是非 initramfs 版本的 Yocto 指令/设置。

我怎样才能做到这一点?谢谢。

0 投票
0 回答
2732 浏览

yocto - 用 wic 构建 yocto/poky 图像?

如果我尝试对图像进行 bitbake

local.conf 包含以下内容:

然后构建退出并出现错误:

如果我尝试wic在熟模式下运行命令,则会出现相同的错误。如果我尝试以wic原始模式运行:

仍然得到同样的错误。

我需要为 jetson-nano 创建一个可以使用需要两个 rootfs 才能工作的RAUC 更新工具的图像。Wic 工具似乎能够做到这一点。如何上传它以及它是否可以在 jetson nano 上运行是另一个问题,但现在我只想能够用 wic 制作图像。

编辑:由于这是针对 SD 卡的,因此我使用以下内容制作了自己的“directdisk-multi-rootfs.wks”文件版本:

这给了我一个新但非常相似的错误:

0 投票
1 回答
1588 浏览

yocto - Yocto - 为 WIC 创建对 cpio.gz 映像的依赖项

我正在创建一个小型 Yocto 发行版,它应该在 tmpfs 上的 RAM 中工作。我通过以下方式使用 WIC 配置:

我还添加IMAGE_FSTYPES_append = " cpio.gz "到我的 local.conf,因此它cpio.gz从我的 rootfs 构建存档。

我的问题非常简单——当 WIC 运行时,它会在完成创建 rootfs 之前尝试创建 wic 文件cpio.gz,因此构建失败。我需要的是创建一个依赖项,它会保存 WIC 脚本直到cpio.gz准备好。有谁知道如何实现它?例如,WKS_FILE_DEPENDS可以使用吗?

这是失败:

目前我通过在构建后手动运行 wic 工具来绕过这个问题。为此,我不得不IMAGE_FSTYPES_remove = " wic wic.bmap hddimg "在我的 local.conf 中使用。运行 wic 的命令是:

谢谢!

编辑:也许问题不在于创建所需的依赖项,而在于我创建图像的方式?我只想要一个 UEFI 引导、一个内核和一个带有完整 rootfs 的 cpio.gz 文件,该文件将在引导时挂载。这不是 initramfs,而是我需要的完整 rootfs。除了有问题的依赖性之外,生成的图像完全符合我的需要。