mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 12:59:02 +02:00
wic: Introduce empty plugin to create unformatted empty partitions
The empty wic plugin is used to create unformatted empty partitions for wic images. To use it you must pass "empty" as argument for the "--source" parameter in the wks file. For example: part foo --source empty --ondisk sda --size="1024" --align 1024 Also adds a selftest for this plugin where the 'Fstype' column from 'wic ls' should be empty for the second partition as listed in test_empty_plugin.wks. (From OE-Core rev: 77d174fc80663403ef76c5b808aafc1117d3545c) Signed-off-by: Diego Sueiro <diego.sueiro@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
3cc6465464
commit
75b74f6b8d
4
meta-selftest/wic/test_empty_plugin.wks
Normal file
4
meta-selftest/wic/test_empty_plugin.wks
Normal file
|
@ -0,0 +1,4 @@
|
|||
# short-description: image for checking empty partition creation
|
||||
|
||||
part / --source rootfs --fstype=ext4 --align 1024 --use-uuid
|
||||
part empty --source empty --ondisk sda --size 1024 --align 1024
|
|
@ -990,6 +990,26 @@ class Wic2(WicTestCase):
|
|||
out = glob(self.resultdir + "%s-*direct" % wksname)
|
||||
self.assertEqual(1, len(out))
|
||||
|
||||
def test_empty_plugin(self):
|
||||
"""Test empty plugin"""
|
||||
config = 'IMAGE_FSTYPES = "wic"\nWKS_FILE = "test_empty_plugin.wks"\n'
|
||||
self.append_config(config)
|
||||
self.assertEqual(0, bitbake('core-image-minimal').status)
|
||||
self.remove_config(config)
|
||||
|
||||
bb_vars = get_bb_vars(['DEPLOY_DIR_IMAGE', 'MACHINE'])
|
||||
deploy_dir = bb_vars['DEPLOY_DIR_IMAGE']
|
||||
machine = bb_vars['MACHINE']
|
||||
image_path = os.path.join(deploy_dir, 'core-image-minimal-%s.wic' % machine)
|
||||
self.assertEqual(True, os.path.exists(image_path))
|
||||
|
||||
sysroot = get_bb_var('RECIPE_SYSROOT_NATIVE', 'wic-tools')
|
||||
|
||||
# Fstype column from 'wic ls' should be empty for the second partition
|
||||
# as listed in test_empty_plugin.wks
|
||||
result = runCmd("wic ls %s -n %s | awk -F ' ' '{print $1 \" \" $5}' | grep '^2' | wc -w" % (image_path, sysroot))
|
||||
self.assertEqual('1', result.output)
|
||||
|
||||
@only_for_arch(['i586', 'i686', 'x86_64'])
|
||||
def test_biosplusefi_plugin_qemu(self):
|
||||
"""Test biosplusefi plugin in qemu"""
|
||||
|
|
32
scripts/lib/wic/plugins/source/empty.py
Normal file
32
scripts/lib/wic/plugins/source/empty.py
Normal file
|
@ -0,0 +1,32 @@
|
|||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
# The empty wic plugin is used to create unformatted empty partitions for wic
|
||||
# images.
|
||||
# To use it you must pass "empty" as argument for the "--source" parameter in
|
||||
# the wks file. For example:
|
||||
# part foo --source empty --ondisk sda --size="1024" --align 1024
|
||||
|
||||
import logging
|
||||
|
||||
from wic.pluginbase import SourcePlugin
|
||||
|
||||
logger = logging.getLogger('wic')
|
||||
|
||||
class EmptyPartitionPlugin(SourcePlugin):
|
||||
"""
|
||||
Populate unformatted empty partition.
|
||||
"""
|
||||
|
||||
name = 'empty'
|
||||
|
||||
@classmethod
|
||||
def do_prepare_partition(cls, part, source_params, cr, 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.
|
||||
"""
|
||||
return
|
Loading…
Reference in New Issue
Block a user