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

时间:2019-01-29 16:04:44

标签: yocto

这可能是一个非常简单的问题,我缺少一些东西。我正在尝试使用wic代替布局引导分区的自定义脚本。该设备是IMX6,uboot写为0x400,fat32引导分区可通过/ boot文件夹进行加载。包含一些文件

/boot
    uImage
    root.squashfs
    splash.bmp
    devicetree.dts
    6x_bootscript

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

# Copied from https://community.nxp.com/thread/389816
# Image Creator .wks

part u-boot --source rawcopy --sourceparams="file=u-boot.imx" --ondisk mmcblk --no-table --align 1

# Boot partition

part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4096 --size 8M --extra-space 0

1 个答案:

答案 0 :(得分:1)

您可以使用bootimg-partition wic插件重命名文件。您需要在IMAGE_BOOT_FILES变量中的分号后指定新名称。有一个示例重命名“ uImage->内核”(并按原样添加u-boot.img):

IMAGE_BOOT_FILES = "u-boot.img uImage;kernel"

您还可以使用glob模式选择多个文件并将其保存到目录中(但无法重命名单个文件)。同样,来自doc的示例:

IMAGE_BOOT_FILES = "bcm2835-bootfiles/*;boot/"

有关完整说明和更多示例,请参见documentation for IMAGE_BOOT_FILES variable

WKS_FILE_DEPENDS变量(see doc for more information)中定义了wic映像(例如本机工具,引导程序)的构建时依赖性。确保IMAGE_BOOT_FILES中列出的文件对各自的配方具有适当的依赖性。


当然,您也可以在do_deploy期间重命名文件,因此无需在wic中处理重命名。而且,如果您需要非常具体的功能,也可以创建一个新的wic插件。