mbox series

[v6,0/2] image-bootfiles: new class

Message ID 20240710085310.147425-1-marcus.folkesson@gmail.com
Headers show
Series image-bootfiles: new class | expand

Message

Marcus Folkesson July 10, 2024, 8:53 a.m. UTC
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.

v2:
    - Removed the documentation from the patch series (will be submitted later)
    - Break out the parts in bootimg-partition that is used by
      image-bootfiles to a common library
    - Make the destination directory in root filesystem configurable
v3:
    - See changelog in patches

v4:
    - See changelog in patches

v5:
    - See changelog in patches

v6:
    - See changelog in patches

Marcus Folkesson (2):
  bootimg-partition: break out code to a common library.
  image-bootfiles.bbclass: new class, copy boot files to root filesystem

 meta/classes/image-bootfiles.bbclass          | 41 +++++++++++++
 meta/lib/oe/bootfiles.py                      | 57 +++++++++++++++++++
 .../wic/plugins/source/bootimg-partition.py   | 39 +------------
 3 files changed, 100 insertions(+), 37 deletions(-)
 create mode 100644 meta/classes/image-bootfiles.bbclass
 create mode 100644 meta/lib/oe/bootfiles.py

Comments

Marcus Folkesson July 15, 2024, 10 a.m. UTC | #1
Hi,

On Wed, Jul 10, 2024 at 10:53:08AM +0200, Marcus Folkesson 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.
> 
> v2:
>     - Removed the documentation from the patch series (will be submitted later)
>     - Break out the parts in bootimg-partition that is used by
>       image-bootfiles to a common library
>     - Make the destination directory in root filesystem configurable
> v3:
>     - See changelog in patches
> 
> v4:
>     - See changelog in patches
> 
> v5:
>     - See changelog in patches
> 
> v6:
>     - See changelog in patches
> 
> Marcus Folkesson (2):
>   bootimg-partition: break out code to a common library.
>   image-bootfiles.bbclass: new class, copy boot files to root filesystem
> 
>  meta/classes/image-bootfiles.bbclass          | 41 +++++++++++++
>  meta/lib/oe/bootfiles.py                      | 57 +++++++++++++++++++
>  .../wic/plugins/source/bootimg-partition.py   | 39 +------------
>  3 files changed, 100 insertions(+), 37 deletions(-)
>  create mode 100644 meta/classes/image-bootfiles.bbclass
>  create mode 100644 meta/lib/oe/bootfiles.py
> 
> -- 
> 2.45.1
> 

I think this is ready to be merged unless someone has any objections.
It has been under review since June 19, v6 that I sent out just under a
week ago just adds Reviewed-by tags to the commit messages.

Thanks,
Marcus Folkesson
Alexandre Belloni July 15, 2024, 12:26 p.m. UTC | #2
On 15/07/2024 12:00:07+0200, Marcus Folkesson wrote:
> 
> I think this is ready to be merged unless someone has any objections.
> It has been under review since June 19, v6 that I sent out just under a
> week ago just adds Reviewed-by tags to the commit messages.
> 

I didn't carry this in my branch yet so it has not been tested but I'll
do this this week.
Marcus Folkesson July 22, 2024, 7:37 a.m. UTC | #3
On Mon, Jul 15, 2024 at 02:26:12PM +0200, Alexandre Belloni wrote:
> On 15/07/2024 12:00:07+0200, Marcus Folkesson wrote:
> > 
> > I think this is ready to be merged unless someone has any objections.
> > It has been under review since June 19, v6 that I sent out just under a
> > week ago just adds Reviewed-by tags to the commit messages.
> > 
> 
> I didn't carry this in my branch yet so it has not been tested but I'll
> do this this week.

How did it go?

/Marcus
Richard Purdie July 23, 2024, 10:51 a.m. UTC | #4
On Wed, 2024-07-10 at 10:53 +0200, Marcus Folkesson via 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.
> 
> v2:
>     - Removed the documentation from the patch series (will be submitted later)
>     - Break out the parts in bootimg-partition that is used by
>       image-bootfiles to a common library
>     - Make the destination directory in root filesystem configurable
> v3:
>     - See changelog in patches
> 
> v4:
>     - See changelog in patches
> 
> v5:
>     - See changelog in patches
> 
> v6:
>     - See changelog in patches
> 
> Marcus Folkesson (2):
>   bootimg-partition: break out code to a common library.
>   image-bootfiles.bbclass: new class, copy boot files to root filesystem

During review we've been in two minds about these changes. It is a
fairly specific use case. In general if you wanted these files in the
rootfs, you'd never have set the variable in the first place. Setting
the variable, then using a class to put them back where they were
originally seems a strange thing to want to do and I'm not sure we want
core support for it.

That said, I understand how someone can get into that situation.

We have therefore merged the first patch which allows a standalone
class but we don't really want to take the class itself. This is partly
also partly as there wouldn't usage/testing in core.

If there becomes a large number of users of it over time, we can
reconsider that decision but right now, I don't think it make sense.

Cheers,

Richard