mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
wic: get rid of using wic-tools
At the moment, when building images with IMAGE_FSTYPES=wic one ends up depending on wic-tools and thus syslinux and grub-efi even when not using those at all. Ideally, building an image with wic should only build the tools and components really needed. The problem is that "wic-tools" is needed also for the manual invocations of wic, in which case everything that might be needed has to be built in advance. Replaced dependency on wic-tools with dependency to a much shorter set of tools that wic uses almost for any image: 'parted', 'gptfdisk', 'dosfstools' and 'mtools'. [YOCTO #11552] (From OE-Core rev: 33ca15b94dbe7204c556c4b5526edd529f6d85f4) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
223d3b44c0
commit
b6dd87f2a8
@@ -39,7 +39,7 @@ IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES"
|
||||
USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}"
|
||||
WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}"
|
||||
do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}"
|
||||
do_image_wic[depends] += "wic-tools:do_populate_sysroot"
|
||||
do_image_wic[depends] += "${@' '.join('%s-native:do_populate_sysroot' % r for r in ('parted', 'gptfdisk', 'dosfstools', 'mtools'))}"
|
||||
WKS_FILE_DEPENDS ??= ''
|
||||
DEPENDS += "${@ '${WKS_FILE_DEPENDS}' if d.getVar('USING_WIC') else '' }"
|
||||
|
||||
|
||||
@@ -139,14 +139,11 @@ def exec_native_cmd(cmd_and_args, native_sysroot, pseudo=""):
|
||||
if pseudo:
|
||||
cmd_and_args = pseudo + cmd_and_args
|
||||
|
||||
wtools_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", "wic-tools")
|
||||
native_paths = "%s/sbin:%s/usr/sbin:%s/usr/bin" % \
|
||||
(native_sysroot, native_sysroot, native_sysroot)
|
||||
|
||||
native_paths = \
|
||||
"%s/sbin:%s/usr/sbin:%s/usr/bin:%s/sbin:%s/usr/sbin:%s/usr/bin" % \
|
||||
(wtools_sysroot, wtools_sysroot, wtools_sysroot,
|
||||
native_sysroot, native_sysroot, native_sysroot)
|
||||
native_cmd_and_args = "export PATH=%s:$PATH;%s" % \
|
||||
(native_paths, cmd_and_args)
|
||||
(native_paths, cmd_and_args)
|
||||
logger.debug("exec_native_cmd: %s", native_cmd_and_args)
|
||||
|
||||
# If the command isn't in the native sysroot say we failed.
|
||||
|
||||
@@ -45,10 +45,9 @@ class BootimgPcbiosPlugin(SourcePlugin):
|
||||
@classmethod
|
||||
def _get_bootimg_dir(cls, bootimg_dir, dirname):
|
||||
"""
|
||||
Check if dirname exists in default bootimg_dir or
|
||||
in wic-tools STAGING_DIR.
|
||||
Check if dirname exists in default bootimg_dir or in STAGING_DIR.
|
||||
"""
|
||||
for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR", "wic-tools")):
|
||||
for result in (bootimg_dir, get_bitbake_var("STAGING_DATADIR")):
|
||||
if os.path.exists("%s/%s" % (result, dirname)):
|
||||
return result
|
||||
|
||||
|
||||
@@ -342,7 +342,7 @@ class IsoImagePlugin(SourcePlugin):
|
||||
|
||||
if not os.path.isfile("%s/EFI/BOOT/%s" \
|
||||
% (bootimg_dir, grub_image)):
|
||||
grub_path = get_bitbake_var("STAGING_LIBDIR", "wic-tools")
|
||||
grub_path = get_bitbake_var("STAGING_LIBDIR")
|
||||
if not grub_path:
|
||||
raise WicError("Couldn't find STAGING_LIBDIR, exiting.")
|
||||
|
||||
@@ -411,7 +411,7 @@ class IsoImagePlugin(SourcePlugin):
|
||||
exec_cmd(chmod_cmd)
|
||||
|
||||
# Prepare files for legacy boot
|
||||
syslinux_dir = get_bitbake_var("STAGING_DATADIR", "wic-tools")
|
||||
syslinux_dir = get_bitbake_var("STAGING_DATADIR")
|
||||
if not syslinux_dir:
|
||||
raise WicError("Couldn't find STAGING_DATADIR, exiting.")
|
||||
|
||||
|
||||
@@ -154,8 +154,10 @@ def wic_create_subcommand(options, usage_str):
|
||||
rootfs_dir = get_bitbake_var("IMAGE_ROOTFS", options.image_name)
|
||||
kernel_dir = get_bitbake_var("DEPLOY_DIR_IMAGE", options.image_name)
|
||||
bootimg_dir = get_bitbake_var("STAGING_DATADIR", options.image_name)
|
||||
native_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE",
|
||||
options.image_name) #, cache=False)
|
||||
|
||||
native_sysroot = options.native_sysroot
|
||||
if options.vars_dir and not native_sysroot:
|
||||
native_sysroot = get_bitbake_var("RECIPE_SYSROOT_NATIVE", options.image_name)
|
||||
else:
|
||||
if options.build_rootfs:
|
||||
raise WicError("Image name is not specified, exiting. "
|
||||
|
||||
Reference in New Issue
Block a user