summaryrefslogtreecommitdiff
path: root/poky/scripts
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2021-10-07 00:15:23 +0300
committerPatrick Williams <patrick@stwcx.xyz>2021-10-07 00:16:59 +0300
commit93c203f3a38be7db9cd7bb6b4954f3eb655acc8e (patch)
tree04bda7390e80d6fbca827a2759af81fc2d8bab78 /poky/scripts
parent17e10e6463249dda117e09d86749610931b52053 (diff)
downloadopenbmc-93c203f3a38be7db9cd7bb6b4954f3eb655acc8e.tar.xz
subtree updates
meta-security: de6712a806..a85fbe980e: Anton Antonov (1): Upgrade parsec-service 0.8.1 and parsec-tool 0.4.0 Armin Kuster (1): chkrootkit: update to 0.55 Bhupesh Sharma (1): recipes-security/fscrypt: Add fscrypt .bb file Christer Fletcher (1): dmverity: Make use of DATA_BLOCK_SIZE variable in initrdscript. Kristian Klausen (1): libtpm: update to 0.8.7 Zoltán Böszörményi (1): clamav: Set clamav:clamav ownership on /var/lib/clamav in do_install poky: 06dcace68b..80f2b56ad8: Anibal Limon (1): recipes-support/ptest-runner: Bump to v2.4.2 Bruce Ashfield (5): linux-yocto-dev: update to v5.15-rcX lttng-modules/dev-upstream: update to 2.13-latest lttng-modules: fix build against 5.15+ linux-yocto/5.13: drop recipes yocto-bsp/5.13: drop recipes Chandana kalluri (1): scriptutils.py: Add check before deleting path Daniel Wagenknecht (2): common-tasks: add note about license implications of bundled initramfs ref-manual: add note about license implications of bundled initramfs Joshua Watt (2): lib/oe/spdx.py: Add comments python3: Fix sysroot reproducibility Kenfe-Mickael Laventure (1): package_ipk: Use localdata store when signing packages Kiran Surendran (1): ffmpeg: fix CVE-2021-38171 Kristian Klausen (2): ovmf: add TPM PACKAGECONFIG and enable if tpm is in MACHINE_FEATURES wic/bootimg-efi: Add Unified Kernel Image option Markus Volk (1): wic:direct.py: ignore invalid mountpoints during fstab update Matt Madison (1): autotools.bbclass: use ordinary append for file-checksums update Michael Halstead (1): releases: update to include 3.1.11 Minjae Kim (1): vim: fix CVE-2021-3778 Quentin Schulz (1): ref-manual: fix missed override syntax change Rasmus Villemoes (1): kernel.bbclass: remove unnecessary dead code Richard Purdie (29): oeqa/qemurunner: Use oe._exit(), not sys.exit() pseudo: Add in ability to flush database with shutdown request packagegroup-core-tools-profile: Exclude systemtap from riscv32 as well bitbake: bitbake-worker: Allow shutdown/database flush of pseudo server at task exit bitbake: siggen: Fix sorting in diff output bitbake: cooker/command: Add a dummy event for tinfoil testing oeqa/selftest/gotoolchain: Fix temp file cleanup oeqa/buildproject: Ensure temp directories are cleaned up libc_package/buildstats: Fix python regex quoting warnings oeqa/selftest/tinfoil: Update to use test command glew: Stop polluting /tmp during builds rpm: Ensure compression parallelism isn't coded into rpms package: Ensure pclist files are deterministic and don't use full paths gnupg: Be deterministic about sendmail mesa: Ensure megadrivers runtime mappings are deterministic util-linux: Fix reproducibility libtool: Allow libtool-cross to reproduce gobject-introspection: Don't write $HOME into scripts oeqa/selftest/bbtests: Add uuid to force build test image: Exclude IMAGE_VERSION_SUFFIX from expansion in image tasks sstatesig: Revert "Test cross/native hashserv method extension" bitbake: data: Ensure functions are defined in a deterministic order bitbake.conf: Set vardepvalue for PARALLEL_MAKEINST externalsrc: Fix a source date epoch race in reproducible builds sstatesig: Add processing for full build paths in sysroot files python3: Drop broken pyc files image-artifact-names: Use SOURCE_DATE_EPOCH when making reproducible builds for deploy abi_version/sstate: Bump HASH_VERSION and SSTATE_VERSION reproducible_build: Work around caching issues Robert P. J. Day (3): ref-manual: extend explanation of PACKAGE_DEBUG_SPLIT_STYLE ref-manual: mention INHIBIT_PACKAGE_DEBUG_SPLIT variable overview-manual: delete bad backslashes in SSTATE_MIRRORS example Saul Wold (3): spdx-licenses.json: Use 3.14 tagged version spdx.py: Add SPDXAnnotation Object create-spdx: Use SPDXAnnotation to track native recipes Thomas Perrot (2): libevent: mark util/monotonic_prc_fallback as retriable ruby: fix the reproducibility issue Tom Pollard (2): bzip2: Update soname for libbz2 1.0.8 libsamplerate0: Set correct soname for 0.1.9 Trevor Woerner (1): hello-mod/hello.c: convert printk to pr_xxx William A. Kennington III (1): rm_work.bbclass: Fix for files starting with - Yi Zhao (1): inetutils: fix CVE-2021-40491 wangmy (1): strace: upgrade 5.13 -> 5.14 meta-openembedded: cff8331f96..23dc4f060f: Armin Kuster (1): README: update to main repo Chandana kalluri (1): python3-humanfriendly: Add nativesdk to BBCLASSEXTEND Changqing Li (1): layer.conf: add openembedded-layer as LAYERDEPENDS Khem Raj (3): smcroute: Add missing pkgconfig inherit packagegroup-meta-oe: Add new packages smarty and libjs-jquery-icheck gattlib: Upgrade to latest LiweiSong (1): chipsec: platform security assessment framework Martin Jansa (5): opencv: fix build with protobuf-3.18 when dnn PACKAGECONFIG is enabled libeigen: backport fix for -Werror=class-memaccess issues when NEON is enabled README: mention linux-libc-dev:i386 for luajit on ubuntu-21.10 gpsd: inherit pkgconfig pahole: use MACHINE_ARCH Matteo Croce (1): pahole: don't download vendored libbpf Mingli Yu (1): libqb: Upgrade to 2.0.3 Nandor Han (1): libiio: depend on avahi only when network backed is used Peter Kjellerstedt (1): netdata: Move the version to the file name and correct the SRC_URI Richard Purdie (1): gattlib: Place pkgconfig file in correct package Yi Zhao (1): phpmyadmin: upgrade 5.1.0 -> 5.1.1 wangmy (7): unionfs-fuse: upgrade 2.1 -> 2.2 smcroute: upgrade 2.4.4 -> 2.5.3 snort: upgrade 2.9.18 -> 2.9.18.1 libsass: upgrade 3.6.4 -> 3.6.5 sanlock: upgrade 3.8.3 -> 3.8.4 sassc: upgrade 3.6.1 -> 3.6.2 valijson: upgrade 0.5 -> 0.6 zangrc (8): python3-pychromecast: upgrade 9.2.0 -> 9.2.1 python3-pyro4: upgrade 4.80 -> 4.81 python3-pyzmq: upgrade 22.2.1 -> 22.3.0 python3-robotframework: upgrade 4.1 -> 4.1.1 python3-sqlparse: upgrade 0.4.1 -> 0.4.2 python3-tqdm: upgrade 4.62.2 -> 4.62.3 libjs-jquery-icheck: Add recipe smarty: Add recipe zhengruoqin (6): python3-cmd2: upgrade 2.1.2 -> 2.2.0 python3-huey: upgrade 2.4.0 -> 2.4.1 python3-humanfriendly: upgrade 9.2 -> 10.0 cifs-utils: upgrade 6.13 -> 6.14 cmark: upgrade 0.30.1 -> 0.30.2 gpsd: upgrade 3.23 -> 3.23.1 Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie782ff5d7f3004fb1f1ac9a4c8644a178bae46ad
Diffstat (limited to 'poky/scripts')
-rw-r--r--poky/scripts/lib/scriptutils.py3
-rw-r--r--poky/scripts/lib/wic/plugins/imager/direct.py2
-rw-r--r--poky/scripts/lib/wic/plugins/source/bootimg-efi.py74
3 files changed, 67 insertions, 12 deletions
diff --git a/poky/scripts/lib/scriptutils.py b/poky/scripts/lib/scriptutils.py
index f92255d8d..3164171eb 100644
--- a/poky/scripts/lib/scriptutils.py
+++ b/poky/scripts/lib/scriptutils.py
@@ -215,7 +215,8 @@ def fetch_url(tinfoil, srcuri, srcrev, destdir, logger, preserve_tmp=False, mirr
pathvars = ['T', 'RECIPE_SYSROOT', 'RECIPE_SYSROOT_NATIVE']
for pathvar in pathvars:
path = rd.getVar(pathvar)
- shutil.rmtree(path)
+ if os.path.exists(path):
+ shutil.rmtree(path)
finally:
if fetchrecipe:
try:
diff --git a/poky/scripts/lib/wic/plugins/imager/direct.py b/poky/scripts/lib/wic/plugins/imager/direct.py
index 9d10ec01d..495518fac 100644
--- a/poky/scripts/lib/wic/plugins/imager/direct.py
+++ b/poky/scripts/lib/wic/plugins/imager/direct.py
@@ -117,7 +117,7 @@ class DirectPlugin(ImagerPlugin):
updated = False
for part in self.parts:
if not part.realnum or not part.mountpoint \
- or part.mountpoint == "/":
+ or part.mountpoint == "/" or not part.mountpoint.startswith('/'):
continue
if part.use_uuid:
diff --git a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
index cdc72543c..0391aebdc 100644
--- a/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
+++ b/poky/scripts/lib/wic/plugins/source/bootimg-efi.py
@@ -12,6 +12,7 @@
import logging
import os
+import tempfile
import shutil
import re
@@ -119,12 +120,13 @@ class BootimgEFIPlugin(SourcePlugin):
bootloader = creator.ks.bootloader
loader_conf = ""
- loader_conf += "default boot\n"
+ if source_params.get('create-unified-kernel-image') != "true":
+ loader_conf += "default boot\n"
loader_conf += "timeout %d\n" % bootloader.timeout
initrd = source_params.get('initrd')
- if initrd:
+ if initrd and source_params.get('create-unified-kernel-image') != "true":
# obviously we need to have a common common deploy var
bootimg_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
if not bootimg_dir:
@@ -183,11 +185,12 @@ class BootimgEFIPlugin(SourcePlugin):
for rd in initrds:
boot_conf += "initrd /%s\n" % rd
- logger.debug("Writing systemd-boot config "
- "%s/hdd/boot/loader/entries/boot.conf", cr_workdir)
- cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w")
- cfg.write(boot_conf)
- cfg.close()
+ if source_params.get('create-unified-kernel-image') != "true":
+ logger.debug("Writing systemd-boot config "
+ "%s/hdd/boot/loader/entries/boot.conf", cr_workdir)
+ cfg = open("%s/hdd/boot/loader/entries/boot.conf" % cr_workdir, "w")
+ cfg.write(boot_conf)
+ cfg.close()
@classmethod
@@ -288,9 +291,60 @@ class BootimgEFIPlugin(SourcePlugin):
kernel = "%s-%s.bin" % \
(get_bitbake_var("KERNEL_IMAGETYPE"), get_bitbake_var("INITRAMFS_LINK_NAME"))
- install_cmd = "install -m 0644 %s/%s %s/%s" % \
- (staging_kernel_dir, kernel, hdddir, kernel)
- exec_cmd(install_cmd)
+ if source_params.get('create-unified-kernel-image') == "true":
+ initrd = source_params.get('initrd')
+ if not initrd:
+ raise WicError("initrd= must be specified when create-unified-kernel-image=true, exiting")
+
+ deploy_dir = get_bitbake_var("DEPLOY_DIR_IMAGE")
+ efi_stub = glob("%s/%s" % (deploy_dir, "linux*.efi.stub"))
+ if len(efi_stub) == 0:
+ raise WicError("Unified Kernel Image EFI stub not found, exiting")
+ efi_stub = efi_stub[0]
+
+ with tempfile.TemporaryDirectory() as tmp_dir:
+ label = source_params.get('label')
+ label_conf = "root=%s" % creator.rootdev
+ if label:
+ label_conf = "LABEL=%s" % label
+
+ bootloader = creator.ks.bootloader
+ cmdline = open("%s/cmdline" % tmp_dir, "w")
+ cmdline.write("%s %s" % (label_conf, bootloader.append))
+ cmdline.close()
+
+ initrds = initrd.split(';')
+ initrd = open("%s/initrd" % tmp_dir, "wb")
+ for f in initrds:
+ with open("%s/%s" % (deploy_dir, f), 'rb') as in_file:
+ shutil.copyfileobj(in_file, initrd)
+ initrd.close()
+
+ # Searched by systemd-boot:
+ # https://systemd.io/BOOT_LOADER_SPECIFICATION/#type-2-efi-unified-kernel-images
+ install_cmd = "install -d %s/EFI/Linux" % hdddir
+ exec_cmd(install_cmd)
+
+ staging_dir_host = get_bitbake_var("STAGING_DIR_HOST")
+
+ # https://www.freedesktop.org/software/systemd/man/systemd-stub.html
+ objcopy_cmd = "objcopy \
+ --add-section .osrel=%s --change-section-vma .osrel=0x20000 \
+ --add-section .cmdline=%s --change-section-vma .cmdline=0x30000 \
+ --add-section .linux=%s --change-section-vma .linux=0x2000000 \
+ --add-section .initrd=%s --change-section-vma .initrd=0x3000000 \
+ %s %s" % \
+ ("%s/usr/lib/os-release" % staging_dir_host,
+ cmdline.name,
+ "%s/%s" % (staging_kernel_dir, kernel),
+ initrd.name,
+ efi_stub,
+ "%s/EFI/Linux/linux.efi" % hdddir)
+ exec_cmd(objcopy_cmd)
+ else:
+ install_cmd = "install -m 0644 %s/%s %s/%s" % \
+ (staging_kernel_dir, kernel, hdddir, kernel)
+ exec_cmd(install_cmd)
if get_bitbake_var("IMAGE_EFI_BOOT_FILES"):
for src_path, dst_path in cls.install_task: