问题标签 [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.
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
linux - yocto中wic和hddimg格式的区别
我在 Yocto 中为我的英特尔板生成了一个 core-image-minimal 图像。
查看 tmp/deploy/images 文件夹,它们有很多图像。
我使用 *.wic 闪烁图像dd
,它创建了两个分区( Boot 和 Platform ),并且只允许执行实时启动,而不允许它安装在主板的硬盘上。
然后我使用 *.hddimg 在 USB 上闪烁dd
然后我使用命令它只创建了一个包含 rootfs.img、syslinux 和 EFI 文件夹的“引导”分区。
使用 USB 启动为我提供了一个“安装”选项,该选项安装在板上,当我安装后重新启动时,它显示“未找到可启动媒体”
使用可引导映像在硬盘中有两个分区。为什么不开机。。
后续步骤:
- 使用“bitbake core-image-minimal”命令创建了一个最小的 yocto 图像
- 使用该
dd
命令刷写 USB。
- 点击安装并输入“sda”</li>
- 安装成功,当我尝试通过移除 USB 驱动器重新启动时,它显示“未找到启动选项。请安装可启动媒体并重新启动。”
我在这里做错了什么。
选择哪个图像以及何时..
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 开发工具包中,然后启动闪屏,之后什么都没有发生。
kernel - Yocto系统卡住,等待根设备PARTUUID
系统设置:
WKS 文件生成 WIC 映像,
通过这些设置,我可以创建 WIC 映像。一旦我在 USB 驱动器上使用 DD 命令写入相同的内容,我就可以从 USB 设备正确启动。现在,当我通过 DD 命令将 WIC 映像写入 SSD 驱动器时出现问题,系统卡在Waiting for root device PARTUUID=<...>。
我已经尝试了以下方法来正确启动,
以上所有的实验我已经什么都没做。
您可能想查看许多其他更改,因此请告诉我您想要的具体项目,我将分享更多详细信息。
非常感谢任何帮助。
yocto - 如何使用 yocto wic 创建自定义分区布局?
这可能是一个相当简单的问题,我缺少一些东西。我正在尝试wic
用作自定义脚本的替代品来布置引导分区。该设备是 IMX6,uboot 写入 0x400,还有一个 fat32 引导分区,用于加载 /boot 文件夹.. 包含一些文件
我简要研究了使用 bootimg-partition 的插件wic
。似乎是一种包含文件的简单方法,但对文件名称的控制不够。它可以占用整个文件夹,但我不确定如何使用这些特定文件创建目录。复制后文件必须具有正确的名称。
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手册,那里没有任何线索。
感谢某人的善意帮助。
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 一样简单
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 指令/设置。
我怎样才能做到这一点?谢谢。
yocto - 用 wic 构建 yocto/poky 图像?
如果我尝试对图像进行 bitbake
local.conf 包含以下内容:
然后构建退出并出现错误:
如果我尝试wic
在熟模式下运行命令,则会出现相同的错误。如果我尝试以wic
原始模式运行:
我仍然得到同样的错误。
我需要为 jetson-nano 创建一个可以使用需要两个 rootfs 才能工作的RAUC 更新工具的图像。Wic 工具似乎能够做到这一点。如何上传它以及它是否可以在 jetson nano 上运行是另一个问题,但现在我只想能够用 wic 制作图像。
编辑:由于这是针对 SD 卡的,因此我使用以下内容制作了自己的“directdisk-multi-rootfs.wks”文件版本:
这给了我一个新但非常相似的错误:
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。除了有问题的依赖性之外,生成的图像完全符合我的需要。