Re: [OE-core] [PATCH v4 0/2] image-bootfiles: new class

Ross Burton
2024-07-16T11:29:09Z

> On 11 Jun 2024, at 14:22, Marcus Folkesson <marcus.folkesson@gmail.com> wrote:
>
> Hi Ross,
>
> On Tue, Jun 11, 2024 at 10:37:06AM +0000, Ross Burton wrote:
>> On 30 May 2024, at 10:53, Marcus Folkesson via lists.openembedded.org <marcus.folkesson=gmail.com@lists.openembedded.org> wrote:
>>> The image-bootfiles class is used to put all files listed in
>>> IMAGE_BOOT_FILES into the root filesystem.
>>>
>>> IMAGE_BOOT_FILES is used by the bootimg-partition wic plugin to put the
>>> files into a boot partition.
>>> Be able to list files as "boot files" in e.g. your .conf or image files
>>> instead of install those in every recipe is a good thing.
>>>
>>> It is not always desired to have a separate boot partition for boot
>>> files. Sometimes it could be good to have them as a part of the root
>>> filesystem.
>>>
>>> For example, if a double copy strategy is used for update the system,
>>> then you probably want to update both the boot files and root filesystem
>>> at the same time as there may be dependencies.
>>
>> In my mind, IMAGE_BOOT_FILES is a workaround for the fact that some /boot partitions (such as ones generated by wic) are not managed by bitbake directly. If you have a setup where you just have a / that contains /boot isn’t adding eg grub to IMAGE_INSTALL sufficient to get it in the right place in the rootfs?
>
> I don't know about the workaround, but it would'nt surprise me as it is
> not handled by bitbake as it is now.
>
> For some packages yes, but not for all. If you, for instance, have an embedded
> system where you depend on other files that are critical for the boot
> process, there is no uniform way to specify that for those files.
>
> IMAGE_BOOT_FILES is good as it let you include e.g. ramdisks and such
> that does not have installation scripts to the boot partition.
>
> The use case that I had was that I was first using a separate boot
> partition using the bootimg-partition wic plugin. Everything was good.
> Then I wanted to include those files into the root filesystem instead to
> be able to do an atomic update on everything, but there is no good way
> to achive that.
>
> This image-class make the swap from bootimg-partition to rootfs
> seamless as it uses the same mechanics for both implementations.

The uniform way to put files into the file system is to package them up, surely.

For example, the u-boot recipe produces a u-boot package:

$ oe-pkgdata-util list-pkg-files u-boot
u-boot:
/boot/u-boot-qemuarm64-2024.07-r0.bin
/boot/u-boot.bin

If I add u-boot to the image then it contains /boot/u-boot.bin.

So sorry, I still don’t understand what problem this is solving.

Cheers,
Ross