Yocto Project 3.4 (Honister) released
Version 3.4 of The Yocto Project has been released. Yocto provides a system for building embedded Linux distributions. This release comes with "
Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades", support for building and cross-compiling Rust code, tons of new recipes, a way to create a SPDX bill of materials (BoM), overlayfs and seccomp support, optimizations, bug fixes, and more. The full release notes have further information.
From: | Michael Opdenacker <michael.opdenacker-AT-bootlin.com> | |
To: | lwn-AT-lwn.net | |
Subject: | Yocto Project 3.4 (Honister) released | |
Date: | Fri, 29 Oct 2021 16:07:44 +0200 | |
Message-ID: | <92e1fbd5-4c5a-5bb6-1067-ff52fe0f2682@bootlin.com> | |
Cc: | michael.opdenacker-AT-bootlin.com |
The new 3.4 ("Honister") version of The Yocto Project (https://yoctoproject.org), a system to build embedded Linux distributions, has been released on October 26, 2021. Here is the list of new features in this release: * Linux kernel 5.14, glibc 2.34 and ~280 other recipe upgrades * Switched override character to ':' (replacing '_') for more robust parsing and improved performance - see migration guide for help on migrating * Rust integrated into core, providing rust support for cross-compilation and SDK * New create-spdx class for creating SPDX SBoM documents * New recipes: cargo, core-image-ptest-all, core-image-ptest-fast, core-image-weston-sdk, erofs-utils, gcompat, gi-docgen, libmicrohttpd, libseccomp, libstd-rs, perlcross, python3-markdown, python3-pyyaml, python3-smartypants, python3-typogrify, rust, rust-cross, rust-cross-canadian, rust-hello-world, rust-llvm, rust-tools-cross-canadian, rustfmt, xwayland * Several optimisations to reduce unnecessary task dependencies for faster builds * seccomp integrated into core, with additional enabling for gnutls, systemd, qemu * New overlayfs class to help generate overlayfs mount units * debuginfod support now enabled by default * Switched several recipes over to using OpenSSL instead of GnuTLS (wpa-supplicant, curl, glib-networking) or disable GnuTLS (cups) by default * Improvements to LTO plugin installation and reproducibility * Architecture-specific enhancements: - glibc: Enable memory tagging for aarch64 - testimage: remove aarch64 xorg exclusion - arch-arm*: add better support for gcc march extensions - tune-cortexm*: add support for all Arm Cortex-M processors - tune-cortexr*: add support for all Arm Cortex-R processors - arch-armv4: Allow -march=armv4 - qemuarm*: use virtio graphics - baremetal-helloworld: Enable RISC-V 64/32 port - ldconfig-native: Add RISC-V support - qemuriscv: Enable 4 core emulation - Add ARC support in gdb, dpkg, dhcpcd - conf/machine-sdk: Add ppc64 SDK machine - libjpeg-turbo: Handle powerpc64le without Altivec - pixman: Handle PowerPC without Altivec - mesa: enable gallium Intel drivers when building for x86 - mesa: enable crocus driver for older Intel graphics * Kernel-related enhancements: - Support zstd-compressed modules and initramfs images - Allow opt-out of split kernel modules - linux-yocto-dev: base AUTOREV on specified version - kernel-yocto: provide debug / summary information for metadata - kernel-uboot: Handle gzip and lzo compression options - linux-yocto/5.14: added devupstream support - linux-yocto: add vfat KERNEL_FEATURE when MACHINE_FEATURES include vfat - linux-yocto: enable TYPEC_TCPCI in usbc fragment * Image-related enhancements: - New erofs, erofs-lz4 and erofs-lz4hc image types - New squashfs-zst and cpio.zst image types - New lic-pkgs IMAGE_FEATURES item to install all license packages - Added zsync metadata conversion support - Use xargs to set file timestamps for significant (>90%) do_image speedup - Find .ko.gz and .ko.xz kernel modules as well when determining need to run depmod on an image - Show formatted error messages instead of tracebacks for systemctl errors - No longer ignore installation failures in complementary package installation - Remove ldconfig auxiliary cache when not needed * wic enhancements: - Added erofs filesystem support - Added --extra-space argument to leave extra space after last partition - Added --no-fstab-update part option to allow using the stock fstab - bootimg-efi: added Unified Kernel Image option - bootimg-pcbios: use label provided when formatting a DOS partition * SDK-related enhancements: - Enable do_populate_sdk with multilibs - New SDKPATHINSTALL variable decouples default install path from built in path to avoid rebuilding nativesdk components on e.g. DISTRO_VERSION changes - eSDK: Error if trying to generate an eSDK from a multiconfig - eSDK: introduce TOOLCHAIN_HOST_TASK_ESDK to be used in place of TOOLCHAIN_HOST_TASK to add components to the host part of the eSDK * bitbake enhancements: - New bitbake-getvar helper command to query a variable value (with history) - bitbake-layers: layerindex-fetch: add --fetchdir parameter to - bitbake-layers: show-recipes: add skip reason to output - bitbake-diffsigs: sort diff output for consistency - Allow setting upstream for local hash equivalence server - fetch2/s3: allow to use credentials and switch profile from environment variables - fetch2/s3: Add progress handler for S3 cp command - fetch2/npm: Support npm archives with missing search directory mode - fetch2/npmsw: Add support for local tarball and link sources - fetch2/svn: Allow peg-revision functionality to be disabled - fetch2/wget: verify certificates for HTTPS/FTPS by default - fetch2/wget: Enable FTPS - prserv: added read-only mode - prserv: replaced XML RPC with modern asyncrpc implementation - Numerous warning/error message improvements * New PACKAGECONFIG options in btrfs-tools, ccache, coreutils, cups, dbus, elfutils, ffmpeg, findutils, glib-2.0, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-base, libarchive, libnotify, libpsl, man-db, mesa, ovmf, parted, prelink, qemu, rpm, shadow, systemd, tar, vim, weston * u-boot enhancements: - Make SPL suffix configurable - Make UBOOT_BINARYNAME configurable - Package extlinux.conf separately - Allow deploying the u-boot DTB * opensbi: Add support for specifying a device tree * busybox enhancements: - Added tmpdir option into mktemp applet - Support mounting swap via labels - Enable long options for enabled applets * Ptest enhancements: - ptest-runner: install script to collect system data on failure - Added ptest support to python3-hypothesis, python3-jinja2, python3-markupsafe - Enhanced ptest support in lttng, util-linux, and others - New leaner ptest image recipes based upon core-image-minimal * buildhistory enhancements: - Add option to strip path prefix - Add output file listing package information - Label packages providing per-file dependencies in depends.dot * Other enhancements: - Move tune files to architecture subdirectories - buildstats: log host data on failure separately to task specific file - buildstats: collect "at interval" and "on failure" logs in the same file - scripts/contrib/image-manifest: add new script - Add beginnings of Android target support - devtool upgrade: rebase override-only patches as well - devtool: print a warning on upgrades if PREFERRED_VERSION is set - systemd: set zstd as default compression option - init-manager-systemd: add a weak VIRTUAL-RUNTIME_dev_manager assignment - Add proper unpack dependency for .zst compressed archives - util-linux: build chfn and chsh by default - qemu: use 4 cores in qemu guests - runqemu: decouple bios and kernel options - qemu: add a hint on how to enable CPU render nodes when a suitable GPU is absent - devupstream: Allow support of native class extensions - Prelinking now disabled in default configuration - python3: statistics module moved to its own python3-statistics package - pypi: allow override of PyPI archive name - Allow global override of golang GO_DYNLINK - New gi-docgen class for GNOME library documentation - meson.bbclass: Make the default buildtype "debug" if DEBUG_BUILD is 1 - distro_features_check: expand with IMAGE_FEATURES - Add extended packagedata in JSON format - local.conf.sample: Update sstate mirror entry with new hash equivalence setting - poky: Use https in default PREMIRRORS - reproducible_build.bbclass: Enable -Wdate-time - yocto-check-layer: ensure that all layer dependencies are tested too - core-image-multilib-example: base on weston, and not sato - npm.bbclass: Allow nodedir to be overridden by NPM_NODEDIR - cve-extra-exclusions.inc: add exclusion list for intractable CVE's - license_image.bbclass: Detect broken symlinks - sysstat: make the service start automatically - sanity: Add error check for '%' in build path - sanity: Further improve directory sanity tests - sanity.bbclass: mention CONNECTIVITY_CHECK_URIS in network failure message - tzdata: Allow controlling zoneinfo binary format - oe-time-dd-test.sh: add options and refactor - vim: add option to disable NLS support - zstd: Include pzstd in the build - mirrors.bbclass: provide additional rule for git repo fallbacks - own-mirrors: Add support for s3:// scheme in SOURCE_MIRROR_URL - common-licenses: add missing SPDX licences - Add MAINTAINERS.md file to record subsystem maintainers The complete release notes are available on https://lists.yoctoproject.org/g/yocto-announce/message/229 -- Michael Opdenacker, Bootlin Embedded Linux and Kernel engineering https://bootlin.com