9

Yocto Project 3.4 (Honister) released

 2 years ago
source link: https://lwn.net/Articles/874409/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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.netSubject:  Yocto Project 3.4 (Honister) releasedDate:  Fri, 29 Oct 2021 16:07:44 +0200Message-ID:  <[email protected]>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



(Log in to post comments)


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK