Age | Commit message (Collapse) | Author | Files |
|
Partition UUID for msdos partitioning is based on a 4 bytes long
system identifier. Wic uses random number to generate system
identifier. For the numbers starting with 0 partition uuid is
shorter, which makes wic images non-bootable as kernel expects
8 charactest in PARTUUID parameter.
Padded system identifier with '0' when generating partition UUID
to make it always 8 characters long. This should fix the boot
issue.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Fixed test failure caused by using bootimg_dir path
instead of kernel_dir to find systemd-efi bootloader:
FAIL: test_systemd_bootdisk (oeqa.selftest.wic.Wic)
...
FileNotFoundError: [Errno 2] No such file or directory:
'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot/usr/share'
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Used wic-tools STAGING_DATADIR if syslinux can't be found
in default bootimg_dir.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Removed do_install_disk and do_configure_partition methods from
bootimage-partition, fsimage and rawcopy plugins as they're empy
and not used.
[YOCTO #10618]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
sparse_copy creates output file that is smaller than input
file when input file ends with unmapped blocks.
Used truncate(<input file size>) when output file is created
to ensure the size of output file will always be equal to
the size of input file.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
bootimg_dir is usually set to the value of STAGING_DATADIR and
kernel_dir - to the value of DEPLOY_DIR_IMAGE, so usage of
kernel_dir is more logical in bootimg-efi, bootimg-partition and
rawcopy plugins.
Replaced usage of bootimg_dir to kernel_dir in 3 above mentioned
plugins that use DEPLOY_DIR_IMAGE as a default artifact location.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Changing bootimg_dir in plugins is a dangerous hack as this
value comes from wic command line and can be used by multiple
plugins.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Removed broken unused plugin.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This patch avoids the creation of a corrupt EXT file system.
Since there are no checks if a EXT file system was successfully created,
this should add to prevent possible system failures.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
We don't need the gap that the extended partition occupies if we
already know that we have less than five partitions. Saves up to one
full alignment of space.
Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
If we are both having a bootloader and a U-Boot environment file, we
can end up with two entries using "--source rawcopy" and "--no-table",
and since they reuse the same file [1], their cleanup handlers will
try to delete the same file twice. So make sure we only do it once.
[1] Although they reuse the same file, the resulting output is
correct, so it appears the file is accessed in properly sequential
order.
Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
This patches removes the empty space in front of the copied file which
was skipped. Without this reduction it's not possible to place a
partition with rawcopy and skip parameter on a desired alignment.
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Without the int() function this variable will be a string. This will led
to a error in Filemap on line 545 due wrong types.
> [...]
> File
> ".../poky/scripts/lib/wic/filemap.py", line 545, in sparse_copy
> if start < skip < end:
> TypeError: unorderable types: int() < str()
Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
Added 3 new targets to directdisk-bootloader-config.cfg to
match hddimg syslinux config.
This is a preparation for dropping hddimg in favor of wic.
[YOCTO #11044]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Installed vesamenu.c32 and its dependencies to support
vesamenu ui in syslinux config.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced forgotten calls of logger.error with raising
WicError exception. Otherwise errors will be ignored.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Defined variable 'out' to fix this exception:
UnboundLocalError: local variable 'out' referenced before assignment
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Added search paths to the debug message to make it
easier to see where the native command is searched.
[YOCTO #11017]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Currently there is no way to specify a dependency on native
tools for wic without modifying wic-tools recipe. Obvious
way to make it more flexible is to use image sysroot and
wic-tools together to find an executable.
Modified run_native_cmd to use image and wic-tools sysroots
to find native executable.
[YOCTO #11017]
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Made PluginMeta to populate global PLUGINS dictionary that
is accessed by PluginMgr. This should make the code more
understandable as PluginMgr don't need to get data directly
from PlugnMeta attribute.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
As PluginMgr class contains only one method it's
better to move it to pluginbase to have all plugin
related APIs in one module.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Store results of PluginMgr.get_plugins to avoid
loading plugins more than once.
This should speed up finding plugins.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Call methods directly instead of getting them with
get_plugin_methods and then calling.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Throw WicError if do_create method of imager plugin is
not implemented.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Used more readable syntax to specify metaclass for
the base plugin classes.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Removed all private methods and complicated logic.
Put all code to get plugins into get_plugins method.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Simplified the implementation of get_plugin_methods:
- get rid of looping over the dicrtionary, used access by key instead
- get rid of filling a dictionary that passed as a parameter
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Used get_plugins('source') instead of get_source_plugins to
unify and simplify API to get plugins.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Instead of making a singleton object of PluginMgr class
it's simpler to use PluginMgr class directly as any class
is a singleton.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Removed unused exceptions from error.py
Moved definition of WicError to lib/wic/__init__.py
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
There is no need to raise special exceptions. Raising
WicError should be enough.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced sys.exit with raising WicError in wic plugins.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced sys.exit with raising WicError in the core wic modules.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Moved from lib/wic/utils/ to lib/wic as this is a core module.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Removed custom logger module msger as it's replaced
by wic logger.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced msger with wic logger in wic source plugins.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced msger with wic logger in the direct plugin.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced msger with wic logger in the core wic modules.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Moved creation of PartitionedImage object from DirectPlugin.create
method to init. It makes the code a bit more readable and logical.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Moved the code that generates real partition numbers from DirectPlugin
to PartitionedImage.
The idea is to have all code that works with partitions
in PartitionedImage class.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Moved code that calls prepare method of Partition objects
from DirectPlugin to PartitionedImage.prepare.
The idea is to have all code that works with partitions
in PartitionedImage class.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Moved setting of bootloader source from do_create method
to __init__ as it doesn't have anything to do with image
creation.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Moved code that generates partition UUIDs from DirectPlugin to
PartitionedImage class as it's more logical to have it there.
This allows the code to be reused by other imager plugins.
Got rid of having yet another list of partitions in PartitionedImage.
Reused the list passed from DirectPlugin.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Replaced call of _get_part_num method with an attribute.
This eliminates the need to call the method and loop over
partitions every time we need to know realnum for partition.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Removed catching CreatorError and raising it again.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Don't transform ImagerError exception into warning.
Let wic to catch it on the upper level.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Removed java-like setter set_bootimg_dir. It's more pythonic
to access public attributes directly.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
Set default value of --ondisk to 'sda' to ensure
we always have disk name for the partition.
This is a first step of replacing --ondisk with
disk <name> attribute of .wks. This is better as
all partitions share the same disk.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
This file and utils/oe folder are not needed anymore as
all modules were removed or moved out of this directory.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|
|
As PartitionedImage is only used in direct.py it makes sense
to move it there. It's easier to maintain (and refactor) it
this way.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
|