Adds comments underneath class declaration
defining plugin usage and potential
optional variables to set.
(From OE-Core rev: 6a8c350f595255b6febfdbc5af668286ccb973df)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Commit adds in support for installation of both
grub and syslinux using newly added grub functions.
Due to the bootimg_biosplusefi source_params['loader']
had to be named source_params['loader-bios'] so not
to create conflict in the wics plugin.
Commits also adds ability to set and or not set
source_params. If source_params set check
for both
* syslinux
* grub
if not set default to using syslinux as bootloader.
(From OE-Core rev: 5caf6fe32aa4655f46fb7b490a22778c59b2efc0)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Functions added, but not executed during
wic image creation include:
_get_staging_libdir
* Finds target lib directory if for some
reason STAGING_LIBDIR isn't set.
_do_configure_grub
* Will search for a grub configuration passed via
bootloader --configfile. If not found build a
default one which searches for partition that
contains the given the kernel name via grub
search module.
_do_prepare_grub
1. Sets default values for GRUB_MKIMAGE_FORMAT_PC
and GRUB_PREFIX_PATH if none specified. Both
variables are required by grub-mkimage.
* GRUB_MKIMAGE_FORMAT_PC is used to define
target platform.
* GRUB_PREFIX_PATH is used to define which
directory grub config and modules are going
to reside in.
2. Generates grub config to embed into core.img.
This config is used to search for partition
containing grub config.
3. Creates a custom core.img or grub stage 1.5
with an embedded grub config.
4. Copies all the target built grub modules into
GRUB_PREFIX_PATH directory.
5. Creates boot partition
_do_install_grub
1. dd target platform specific boot.img to the first
0-440 bytes of the resulting wic image. dd grub
stage 1 to wic image. If this wics plugin is used
with GPT as partition table format and grub selected
as bootloader it's more than likely for grub hybrid
booting because bootimg_efi plugin should and more
than likely will be used in that case. So, boot.img
may be dd regardless if partition table format is
GPT or MBR.
2. dd custom core.img (grub stage 1.5) with embedded
configuration to the resulting wic image starting
at byte 512 up to sizeof(core.img).
3. Both boot.img and core.img are required for legacy
bios boot. See grub Wiki for more details on
boot.img and core.img.
https://en.wikipedia.org/wiki/GNU_GRUB
Commit also imports python modules required by the
above implemented functions.
(From OE-Core rev: 27c56962f47303cf49a4cf641e85239e4d7779b5)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit:
1. Removes unrequired function params from
* _do_prepare_syslinux
* _do_install_syslinux
Reason is that they aren't required by
the function.
2. Moves finding of resulting wic image
back into do_install_disk task. As
the same code may be leverage to install
other bootloaders to the resulting disk.
(From OE-Core rev: 27e3fc1ef5304278254d2288ffc99e1757dd4053)
Signed-off-by: Vincent Davis Jr. <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit:
1. Removes all unrequired function parameters.
The part parameter was kept due to it's potential
future usage in _do_configure_syslinux function.
part.fstype specifically may be used with the
rootfstype kernel paramater.
2. Sets a default timeout to 500 if bootloader --timeout
not specified. To avoid 'None' being placed
as the value in resulting configuartion file.
3. Sets a default kernel parameter string if
bootloader --append not specified. This also
helps avoid 'None' being places as the value
in resulting configuration file.
4. Replace all instances of
cr_workdir, "/hdd/boot"
with variable
hdddir
as it's set at the top of the function. No,
need to re-implement what the variable is
already defined to store.
(From OE-Core rev: 5e17a1cf73d0542e0c7ec9333aaf20bbc45df8de)
Signed-off-by: Vincent Davis Jr <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Most bootloaders that will be included in this
wics plugin will require a configuration file
to define kernel params, execute custom
modules, or enable the ability to select
one of multiple boot entries.
Create a seperate generic function to facilitate
finding if a bootloader config file passed through
bootloader --configfile flag. So, that other functions
that are used to create/install a bootloader boot
configuration file can leverage the function.
(From OE-Core rev: 7944e29eb6ab7b80ad3847686dd780100623b196)
Signed-off-by: Vincent Davis Jr. <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit moves the seperated syslinux creation
functions from their current position to end of
file in the order
1. _do_configure_syslinux
2. _do_prepare_syslinux
3. _do_install_syslinux
This is to prepare for inclusion of other
bootloaders. It also makes reading
through the wics plugin much easier if
you group bootloader specific partition
creation functions together and place them
at the bottom of the file versus leaving
them in their current position.
(From OE-Core rev: 9034dd23e4240536a37a2290f2f2dd48d9bddd29)
Signed-off-by: Vincent Davis Jr. <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 <vince@underview.tech>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update the plugin names to account for the "-" to "_" plugin name change.
(From OE-Core rev: afa1b5c9f6ed17c021e37a54d0d6abee50a60bf9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Python not support importing modules with - so change to _.
(From OE-Core rev: 2de444fc3ef450f45f8f93403544e8f7461657b0)
Signed-off-by: Anibal Limon <anibal@limonsoftware.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>