【问题标题】:bzImage and grub config not installed to .dsk in yocto dsk buildbzImage 和 grub 配置未安装到 yocto dsk 构建中的 .dsk
【发布时间】:2017-12-02 19:24:14
【问题描述】:

我正在使用bitbake 构建yocto 图像,图像类型为dsk(默认为wic,我在local.conf 中更改为dsk)。它生成bzImage, boot/grub/grub.conf。但这些都没有安装在 dsk 中。

在 .dsk 格式中,我有两个分区保存相同的 EFI,第三个分区作为 OS 根文件系统。

在第一个两个分区树中,

├── EFI
│   └── BOOT
│       └── bootia32.efi
├── EFI_internal_storage
│   └── BOOT
│       └── bootia32.efi
├── emmc-partitions-data
└── rmc.db

所以,这里没有内核和 grub 配置。如何将内核和 grub 映像作为 dsk 映像的一部分安装到该分区?

我的另一个问题是,拥有两个相同的分区持有 EFI 有什么意义?

【问题讨论】:

  • 据我所知,目前的 OpenEmbedded 中没有dsk 图像类型。您使用的是什么层和版本? dsk-image 类型在哪里定义?
  • 这是为 dsk 添加的本地脚本。

标签: linux yocto bitbake


【解决方案1】:
  • 在四处探索之后,我最终发现 vmlinuz 必须重命名为 bzImage 的形式,而 initrd 必须重命名为 .cpio 存档的形式。没有什么技术性的。
  • 我们必须通过安装脚本单独安装grub config,方法是放入图像创建脚本的bbappend(基于目标的使用范围)的bbclass。好像这不是通用要求,不确定。

    INST_LOC=${IMAGE_ROOTFS}/boot install -d ${INST_LOC}/boot/grub install -m 0644 ${DEPLOY_DIR_IMAGE}/boot/grub/grub.conf ${INST_LOC}/boot/grub/grub.conf

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 2019-07-06
    • 1970-01-01
    相关资源
    最近更新 更多