@@ -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.
Current oe-core bootimg_pcbios wic plugin only supports booting with syslinux. This commit seperates syslinux creation from class BootimgPcbiosPlugin(SourcePlugin) override functions in prepartion of supporting booting other bootloaders in the wics plugin such as * grub * extlinux Being moved now to make it easier to include future bootloaders. Signed-off-by: Vincent Davis Jr <vince@underview.tech> --- .../lib/wic/plugins/source/bootimg_pcbios.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+)