Yocto Project 5.0 “Scarthgap” released with Linux 6.6 and plenty of changes

The Yocto Project 5.0 codenamed “Scarthgap” has just been released with Linux 6.6, glibc 2.39, LLVM 18.1, and over 300 other recipe upgrades. As a result of the release, the developers have made it available for download (bz2 tarball).

The Yocto Project, or Yocto for shorts, is a popular framework used to create custom embedded Linux distributions, and we’ve played with it over the year showing how to create a minimal image for the Raspberry Pi, and last year, we used it again when reviewing two industrial development boards, namely the VOIPAC IMX8M and ADLINK i-Pi SMARC 1200. Yocto is quite a powerful framework/build system with plenty of options that make it highly customizable, but the learning curve is fairly steep.

Yocto Project 5.0

Some other changes in Yocto Project 5.0 include:

  • New variables:
    • CVE_DB_INCR_UPDATE_AGE_THRES: Configure the maximum age of the internal CVE database for incremental update (instead of a full redownload).
    • RPMBUILD_EXTRA_PARAMS: support extra user-defined fields without crashing the RPM package creation.
    • OPKG_MAKE_INDEX_EXTRA_PARAMS: support extra parameters for opkg-make-index.
    • EFI_UKI_PATH, EFI_UKI_DIR: define the location of UKI image in the EFI System partition.
    • TARGET_DBGSRC_DIR: specifies the target path to debug source files
    • USERADD_DEPENDS: provides a way to declare dependencies on the users and/or groups created by other recipes, resolving a long-standing build ordering issue
  • Architecture-specific enhancements:
    • genericarm64: a new MACHINE to represent a 64-bit General Arm SystemReady platform.
    • Add Power8 tune to PowerPC architecture.
    • arch-armv9: remove CRC and SVE tunes, since FEAT_CRC32 is now mandatory and SVE/SVE2 are enabled by default in GCC’s -march=armv9-a.
    • arm/armv*: add all of the additional Arm tunes in GCC 13.2.0
  • Some new core recipes:
    • bmaptool: a tool for creating block maps for files and flashing images, being now under the Yocto Project umbrella.
    • core-image-initramfs-boot: a minimal initramfs image, containing just udev and init, designed to find the main root filesystem and pivot to it.
    •  lzlib: a data compression library that provides LZMA compression and decompression functions.
    •  lzop: a compression utility based on the LZO library, that was brought back after a (now reverted) removal.
    • python3-jsonschema-specifications: support files for JSON Schema Specifications (meta-schemas and vocabularies), added as a new dependency of python3-jsonschema.
    •  python3-maturin: a project that allows building and publishing Rust crates as Python packages.
    • etc…
  • QEMU has been upgraded to version 8.2.1 and had several improvements
  • Rust has been upgraded to version 1.75, the Rust profiler options were enabled back, etc…
  • Several wic Image Creator enhancements
  • Various SDK-related improvements including:
    • nativesdk: let MACHINE_FEATURES be set by machine-sdk configuration files.
    • nativesdk: prevent MACHINE_FEATURES and DISTRO_FEATURES from being backfilled.
    • Support for riscv64 as an SDK host architecture.
    • Extend recipes to nativesdk: acpica, libpcap, python3-setuptools-rust.
  • Several enhancements to testing, utility scripts, BitBake build tool, etc…
  • A long list of security improvements and fixes
  • An even longer list of recipe upgrades
  • Etc…

The list of changes is really long, and you’ll find the full release log on the Yocto Project website, where you’ll also find the latest documentation and the full test report for all the features.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC