diff options
Diffstat (limited to 'scripts/lib/wic/plugins/source/bootimg_pcbios.py')
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg_pcbios.py | 42 |
1 files changed, 36 insertions, 6 deletions
diff --git a/scripts/lib/wic/plugins/source/bootimg_pcbios.py b/scripts/lib/wic/plugins/source/bootimg_pcbios.py index f50a5ae0e2..1fa9d895bb 100644 --- a/scripts/lib/wic/plugins/source/bootimg_pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg_pcbios.py | |||
@@ -31,6 +31,9 @@ class BootimgPcbiosPlugin(SourcePlugin): | |||
31 | 31 | ||
32 | name = 'bootimg_pcbios' | 32 | name = 'bootimg_pcbios' |
33 | 33 | ||
34 | # Variable required for do_install_disk | ||
35 | loader = '' | ||
36 | |||
34 | @classmethod | 37 | @classmethod |
35 | def _get_bootimg_dir(cls, bootimg_dir, dirname): | 38 | def _get_bootimg_dir(cls, bootimg_dir, dirname): |
36 | """ | 39 | """ |
@@ -56,23 +59,50 @@ class BootimgPcbiosPlugin(SourcePlugin): | |||
56 | logger.debug("Installing MBR on disk %s as %s with size %s bytes", | 59 | logger.debug("Installing MBR on disk %s as %s with size %s bytes", |
57 | disk_name, full_path, disk.min_size) | 60 | disk_name, full_path, disk.min_size) |
58 | 61 | ||
59 | cls._do_install_syslinux(creator, bootimg_dir, | 62 | if cls.loader == 'grub': |
63 | cls._do_install_grub(creator, kernel_dir, | ||
64 | native_sysroot, full_path) | ||
65 | elif cls.loader == 'syslinux': | ||
66 | cls._do_install_syslinux(creator, bootimg_dir, | ||
60 | native_sysroot, full_path) | 67 | native_sysroot, full_path) |
68 | else: | ||
69 | raise WicError("boot loader some how not specified check do_prepare_partition") | ||
61 | 70 | ||
62 | @classmethod | 71 | @classmethod |
63 | def do_configure_partition(cls, part, source_params, creator, cr_workdir, | 72 | def do_configure_partition(cls, part, source_params, creator, cr_workdir, |
64 | oe_builddir, bootimg_dir, kernel_dir, | 73 | oe_builddir, bootimg_dir, kernel_dir, |
65 | native_sysroot): | 74 | native_sysroot): |
66 | 75 | try: | |
67 | cls._do_configure_syslinux(part, creator, cr_workdir) | 76 | if source_params['loader-bios'] == 'grub': |
77 | cls._do_configure_grub(part, creator, cr_workdir) | ||
78 | elif source_params['loader-bios'] == 'syslinux': | ||
79 | cls._do_configure_syslinux(part, creator, cr_workdir) | ||
80 | else: | ||
81 | raise WicError("unrecognized bootimg_pcbios loader: %s" % source_params['loader-bios']) | ||
82 | except KeyError: | ||
83 | cls._do_configure_syslinux(part, creator, cr_workdir) | ||
68 | 84 | ||
69 | @classmethod | 85 | @classmethod |
70 | def do_prepare_partition(cls, part, source_params, creator, cr_workdir, | 86 | def do_prepare_partition(cls, part, source_params, creator, cr_workdir, |
71 | oe_builddir, bootimg_dir, kernel_dir, | 87 | oe_builddir, bootimg_dir, kernel_dir, |
72 | rootfs_dir, native_sysroot): | 88 | rootfs_dir, native_sysroot): |
73 | 89 | try: | |
74 | cls._do_prepare_syslinux(part, cr_workdir, bootimg_dir, | 90 | if source_params['loader-bios'] == 'grub': |
75 | kernel_dir, native_sysroot) | 91 | cls._do_prepare_grub(part, cr_workdir, oe_builddir, |
92 | kernel_dir, rootfs_dir, native_sysroot) | ||
93 | elif source_params['loader-bios'] == 'syslinux': | ||
94 | cls._do_prepare_syslinux(part, cr_workdir, bootimg_dir, | ||
95 | kernel_dir, native_sysroot) | ||
96 | else: | ||
97 | raise WicError("unrecognized bootimg_pcbios loader: %s" % source_params['loader-bios']) | ||
98 | |||
99 | # Required by do_install_disk | ||
100 | cls.loader = source_params['loader-bios'] | ||
101 | except KeyError: | ||
102 | # Required by do_install_disk | ||
103 | cls.loader = 'syslinux' | ||
104 | cls._do_prepare_syslinux(part, cr_workdir, bootimg_dir, | ||
105 | kernel_dir, native_sysroot) | ||
76 | 106 | ||
77 | @classmethod | 107 | @classmethod |
78 | def _get_staging_libdir(cls): | 108 | def _get_staging_libdir(cls): |