|
|
Subscribe / Log in / New account

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



to post comments


Copyright © 2021, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds