From: Marcus Folkesson <marcus.folkesson@gmail.com>
To: Quentin Schulz <quentin.schulz@cherry.de>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH v3 2/2] image-bootfiles.bbclass: new class, copy boot files to root filesystem
Date: Tue, 28 May 2024 13:40:33 +0200 [thread overview]
Message-ID: <ZlXCsQkoqxoiwpXN@gmail.com> (raw)
In-Reply-To: <2261f556-6e25-4d18-9147-2f9d361bdaeb@cherry.de>
[-- Attachment #1: Type: text/plain, Size: 2459 bytes --]
Hi Quentin,
On Tue, May 28, 2024 at 01:23:20PM +0200, Quentin Schulz wrote:
> Hi Marcus,
>
[...]
> > +#
> > +#
> > +# Usage: add inherit += "image-bootfiles" to your image
> > +#
>
> Simply
>
> inherit image-bootfiles
Noted
>
> c.f. https://docs.yoctoproject.org/bitbake/bitbake-user-manual/bitbake-user-manual-metadata.html#inherit-directive
>
> since you put this class into meta/classes/ and not meta/classes-recipes/,
> it could be included both with
>
> INHERIT += "image-bootfiles"
>
> and
>
> inherit image-bootfiles
>
> The former is to be included from configuration files (e.g. a distro,
> local.conf, machine conf file, etc.). The latter inside the image recipe
> directly.
>
> I am wondering if we shouldn't make this a recipes-only bbclass? so moving
> it to meta/classes-recipes/? This means that we won't be able to use the
> INHERIT += "image-bootfiles" anymore but.... should we? On one side, we have
> something that only applies to images, on the other hand, it's probably
> something close to a policy, so rather part of a distro. So just wondering,
> not asking for a change :)
I don't have a strong opinion, I let this be to what people think is
the best.
If I must choose, I think it is more of a distro thing.
>
> Cheers,
> Quentin
>
> > +
> > +IMAGE_BOOT_FILES_DIR ?= "boot"
> > +
> > +python bootfiles_populate() {
> > + import shutil
> > + from oe.bootfiles import get_boot_files
> > +
> > + deploy_image_dir = d.getVar("DEPLOY_DIR_IMAGE")
> > + boot_dir = os.path.join(d.getVar("IMAGE_ROOTFS"), d.getVar("IMAGE_BOOT_FILES_DIR"))
> > +
> > + boot_files = d.getVar("IMAGE_BOOT_FILES")
> > + if boot_files is None:
> > + return
> > +
> > + install_files = get_boot_files(deploy_image_dir, boot_files)
> > + if install_files is None:
> > + bb.warn("Could not find any boot files to install even though IMAGE_BOOT_FILES is not empty")
> > + return
> > +
> > + os.makedirs(boot_dir, exist_ok=True)
> > + for src, dst in install_files:
> > + image_src = os.path.join(deploy_image_dir, src)
> > + image_dst = os.path.join(boot_dir, dst)
> > + shutil.copyfile(image_src, image_dst)
>
> This won't work if the parent directory of image_dst doesn't exist yet.
Good catch, I will do as you suggest.
[...]
>
> Cheers,
> Quentin
Best regards,
Marcus Folkesson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2024-05-28 11:34 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-28 9:08 [PATCH v3 0/2] image-bootfiles: new class Marcus Folkesson
2024-05-28 9:08 ` [PATCH v3 1/2] bootimg-partition: break out code to a common library Marcus Folkesson
2024-05-28 11:01 ` Quentin Schulz
2024-05-28 11:48 ` Marcus Folkesson
2024-05-28 9:08 ` [PATCH v3 2/2] image-bootfiles.bbclass: new class, copy boot files to root filesystem Marcus Folkesson
2024-05-28 11:23 ` Quentin Schulz
2024-05-28 11:40 ` Marcus Folkesson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZlXCsQkoqxoiwpXN@gmail.com \
--to=marcus.folkesson@gmail.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=quentin.schulz@cherry.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox