Message ID | 20230207190305.3071923-1-kareem.zarka@huawei.com |
---|---|
State | New |
Headers | show |
Series | wic/plugins/source/bootimg-efi: Configure installation of | expand |
Hi Kareem, On Tue, 7 Feb 2023 20:03:04 +0100 "Kareem Zarka" <zarkakareem@gmail.com> wrote: > The issue with installing the kernel image to both rootfs > and boot partition is that some systems rely on the kernel image in > rootfs and not in the boot partition. > This leads to duplication of the kernel image, which can cause > unnecessary storage usage. > > This patch provides a solution to the problem by adding a new parameter > "install-kernel-into-boot-dir" to the wic kickstart file. > If this parameter is set to 'true', the plugin will install the > kernel image to the boot partition. If the parameter is set to 'false', > the plugin will skip installing the kernel image, avoiding duplication. > > Tests for this functionality will be added in the next patch. > > Signed-off-by: Kareem Zarka <kareem.zarka@huawei.com> I think your subject line is missing something: "Configure installation of.. what?" About the content, testing on the autobuilders with these patches revealed this error: AssertionError: Command 'wic cp /home/pokybuild/yocto-worker/oe-selftest-armhost/build/build-st-3401455/wic-tmp/tmp7rdi3u6g-202302081514-sda.direct:1 /tmp/tmpenbv64e3' returned non-zero exit status 1: ERROR: Can't find executable 'mcopy' Can you check that? Here are some logs: https://autobuilder.yoctoproject.org/typhoon/#/builders/127/builds/929/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/80/builds/4726/steps/14/logs/stdio https://autobuilder.yoctoproject.org/typhoon/#/builders/86/builds/4778/steps/14/logs/stdio Best regards,
diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index 4b00913a70..4e99d37f26 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -363,9 +363,10 @@ class BootimgEFIPlugin(SourcePlugin): objcopy_cmd += " %s %s/EFI/Linux/linux.efi" % (efi_stub, hdddir) exec_native_cmd(objcopy_cmd, native_sysroot) else: - install_cmd = "install -m 0644 %s/%s %s/%s" % \ - (staging_kernel_dir, kernel, hdddir, kernel) - exec_cmd(install_cmd) + if source_params.get('install-kernel-into-boot-dir') != 'false': + install_cmd = "install -m 0644 %s/%s %s/%s" % \ + (staging_kernel_dir, kernel, hdddir, kernel) + exec_cmd(install_cmd) if get_bitbake_var("IMAGE_EFI_BOOT_FILES"): for src_path, dst_path in cls.install_task:
The issue with installing the kernel image to both rootfs and boot partition is that some systems rely on the kernel image in rootfs and not in the boot partition. This leads to duplication of the kernel image, which can cause unnecessary storage usage. This patch provides a solution to the problem by adding a new parameter "install-kernel-into-boot-dir" to the wic kickstart file. If this parameter is set to 'true', the plugin will install the kernel image to the boot partition. If the parameter is set to 'false', the plugin will skip installing the kernel image, avoiding duplication. Tests for this functionality will be added in the next patch. Signed-off-by: Kareem Zarka <kareem.zarka@huawei.com> --- scripts/lib/wic/plugins/source/bootimg-efi.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)