From 336a252dbb0b41043da4c03546d7023c3a65ab54 Mon Sep 17 00:00:00 2001 From: Vincent Davis Jr Date: Thu, 14 Aug 2025 00:25:44 -0400 Subject: bootimg_pcbios: move syslinux install into seperate functions Current oe-core bootimg_pcbios wics plugin only supports installing syslinux directly into the resulting wic image. This commit seperates syslinux installation from class BootimgPcbiosPlugin(SourcePlugin) override functions in preparation of supporting the installation of other bootloaders to the resulting wics plugin such as: * grub * extlinux Being moved now to make it easier to include future bootloaders. (From OE-Core rev: 78addc3a7c2f036e8932305368acd6090937b62d) Signed-off-by: Vincent Davis Jr Signed-off-by: Richard Purdie --- scripts/lib/wic/plugins/source/bootimg_pcbios.py | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'scripts/lib/wic/plugins/source/bootimg_pcbios.py') diff --git a/scripts/lib/wic/plugins/source/bootimg_pcbios.py b/scripts/lib/wic/plugins/source/bootimg_pcbios.py index 21f41e00bb..6bde7a67d3 100644 --- a/scripts/lib/wic/plugins/source/bootimg_pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg_pcbios.py @@ -50,10 +50,18 @@ class BootimgPcbiosPlugin(SourcePlugin): @classmethod def do_install_disk(cls, disk, disk_name, creator, workdir, oe_builddir, bootimg_dir, kernel_dir, native_sysroot): + + cls._do_install_syslinux(disk, disk_name, creator, workdir, oe_builddir, + bootimg_dir, kernel_dir, native_sysroot) + + @classmethod + def _do_install_syslinux(cls, disk, disk_name, creator, workdir, oe_builddir, + bootimg_dir, kernel_dir, native_sysroot): """ Called after all partitions have been prepared and assembled into a disk image. In this case, we install the MBR. """ + bootimg_dir = cls._get_bootimg_dir(bootimg_dir, 'syslinux') mbrfile = "%s/syslinux/" % bootimg_dir if creator.ptable_format == 'msdos': @@ -80,9 +88,19 @@ class BootimgPcbiosPlugin(SourcePlugin): def do_configure_partition(cls, part, source_params, creator, cr_workdir, oe_builddir, bootimg_dir, kernel_dir, native_sysroot): + + cls._do_configure_syslinux(part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + native_sysroot) + + @classmethod + def _do_configure_syslinux(cls, part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + native_sysroot): """ Called before do_prepare_partition(), creates syslinux config """ + hdddir = "%s/hdd/boot" % cr_workdir install_cmd = "install -d %s" % hdddir @@ -138,6 +156,15 @@ class BootimgPcbiosPlugin(SourcePlugin): def do_prepare_partition(cls, part, source_params, creator, cr_workdir, oe_builddir, bootimg_dir, kernel_dir, rootfs_dir, native_sysroot): + + cls._do_prepare_syslinux(part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + rootfs_dir, native_sysroot) + + @classmethod + def _do_prepare_syslinux(cls, part, source_params, creator, cr_workdir, + oe_builddir, bootimg_dir, kernel_dir, + rootfs_dir, native_sysroot): """ Called to do the actual content population for a partition i.e. it 'prepares' the partition to be incorporated into the image. -- cgit v1.2.3-54-g00ecf