Hi Lee, On Fri, 2020-07-24 at 12:12 +0530, Khasim Mohammed wrote: > > ________________________________________ > From: openembedded-core@lists.openembedded.org < > openembedded-core@lists.openembedded.org> on behalf of Lee Chee Yang > via lists.openembedded.org < > chee.yang.lee=intel....@lists.openembedded.org> > Sent: Friday, July 24, 2020 6:28 AM > To: Khasim Mohammed; openembedded-core@lists.openembedded.org > Cc: nd > Subject: Re: [OE-core] [PATCH] wic/bootimg-efi: Add support for > IMAGE_BOOT_FILES > > Hi, > I think currently IMAGE_BOOT_FILES test run on bootimg-partition > only. yes.
> Could you add test cases for bootimg-efi too? > I posted a separate patch to test IMAGE_BOOT_FILES for bootimg-efi. Thanks. Regards, Khasim > -----Original Message----- > From: openembedded-core@lists.openembedded.org < > openembedded-core@lists.openembedded.org> On Behalf Of Khasim > Mohammed > Sent: Thursday, 23 July, 2020 5:52 PM > To: openembedded-core@lists.openembedded.org > Cc: n...@arm.com; Khasim Syed Mohammed <khasim.moham...@arm.com> > Subject: [OE-core] [PATCH] wic/bootimg-efi: Add support for > IMAGE_BOOT_FILES > > List of files defined using IMAGE_BOOT_FILES are installed into the > boot partition when preparing an image using the wic tool with the > bootimg-efi source plugin. > > The code snippet introduced is taken as is from bootimg-partition.py > > Change-Id: I8dbb6b4e7c24870f587a6f31e6ae4a87d7033782 > Issue-Id: PLATFORMS-3134 > Signed-off-by: Khasim Syed Mohammed <khasim.moham...@arm.com> > --- > scripts/lib/wic/plugins/source/bootimg-efi.py | 60 > +++++++++++++++++++ > 1 file changed, 60 insertions(+) > > diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py > b/scripts/lib/wic/plugins/source/bootimg-efi.py > index 2cfdc10ecd..14c1723577 100644 > --- a/scripts/lib/wic/plugins/source/bootimg-efi.py > +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py > @@ -13,6 +13,9 @@ > import logging > import os > import shutil > +import re > + > +from glob import glob > > from wic import WicError > from wic.engine import get_custom_config @@ -209,6 +212,57 @@ class > BootimgEFIPlugin(SourcePlugin): > except KeyError: > raise WicError("bootimg-efi requires a loader, none > specified") > > + if get_bitbake_var("IMAGE_BOOT_FILES") is None: > + logger.debug('No boot files defined in > IMAGE_BOOT_FILES') > + else: > + boot_files = None > + for (fmt, id) in (("_uuid-%s", part.uuid), ("_label-%s", > part.label), (None, None)): > + if fmt: > + var = fmt % id > + else: > + var = "" > + > + boot_files = get_bitbake_var("IMAGE_BOOT_FILES" + > var) > + if boot_files: > + break > + > + logger.debug('Boot files: %s', boot_files) > + > + # list of tuples (src_name, dst_name) > + deploy_files = [] > + for src_entry in re.findall(r'[\w;\-\./\*]+', > boot_files): > + if ';' in src_entry: > + dst_entry = tuple(src_entry.split(';')) > + if not dst_entry[0] or not dst_entry[1]: > + raise WicError('Malformed boot file entry: > %s' % src_entry) > + else: > + dst_entry = (src_entry, src_entry) > + > + logger.debug('Destination entry: %r', dst_entry) > + deploy_files.append(dst_entry) > + > + cls.install_task = []; > + for deploy_entry in deploy_files: > + src, dst = deploy_entry > + if '*' in src: > + # by default install files under their basename > + entry_name_fn = os.path.basename > + if dst != src: > + # unless a target name was given, then treat > name > + # as a directory and append a basename > + entry_name_fn = lambda name: \ > + os.path.join(dst, > + > + os.path.basename(name)) > + > + srcs = glob(os.path.join(kernel_dir, src)) > + > + logger.debug('Globbed sources: %s', ', > '.join(srcs)) > + for entry in srcs: > + src = os.path.relpath(entry, kernel_dir) > + entry_dst_name = entry_name_fn(entry) > + cls.install_task.append((src, > entry_dst_name)) > + else: > + cls.install_task.append((src, dst)) > > @classmethod > def do_prepare_partition(cls, part, source_params, creator, > cr_workdir, @@ -238,6 +292,12 @@ class > BootimgEFIPlugin(SourcePlugin): > (staging_kernel_dir, kernel, hdddir, kernel) > exec_cmd(install_cmd) > > + if get_bitbake_var("IMAGE_BOOT_FILES"): > + for src_path, dst_path in cls.install_task: > + install_cmd = "install -m 0644 -D %s %s" \ > + % (os.path.join(kernel_dir, src_path), > + os.path.join(hdddir, dst_path)) > + exec_cmd(install_cmd) > > try: > if source_params['loader'] == 'grub-efi': > -- > 2.17.1 > IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#140915): https://lists.openembedded.org/g/openembedded-core/message/140915 Mute This Topic: https://lists.openembedded.org/mt/75761847/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-