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

Marcus Folkesson
2024-07-22T07:36:23Z

[-- Attachment #1: Type: text/plain, Size: 3278 bytes --]

Hi Ross,

On Tue, Jul 16, 2024 at 11:28:46AM +0000, Ross Burton wrote:
>
>
> > 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.

The biggest benefit is that the bootimg-partition and image-bootfiles
becomes interchangeable, you may go from a separate boot partition with
all your boot files to whatever directory in rootfs you want. The
content will be the same, all renamed files will be the same and
everything works as before.

>
> Cheers,
> Ross

Best regards,
Marcus Folkesson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]