Migration notes for 6.0 (wrynose)
This section provides migration information for moving to the Yocto Project 6.0 Release (codename “wrynose”) from the prior release. For a list of new features and enhancements, see the Release notes for 6.0 (wrynose) section.
The 6.0 (wrynose) release is the new LTS release after 5.0 (scarthgap). If you are migrating from the 5.0 version, be sure to read the previous migration guides:
See also the list of new features and enhancements of the previous releases:
Supported kernel versions
The OLDEST_KERNEL setting is XXX in this release, meaning that out the box, older kernels are not supported. See 4.3 migration notes for details.
Supported distributions
Compared to the previous releases, running BitBake is supported on new GNU/Linux distributions:
XXX
On the other hand, some earlier distributions are no longer supported:
XXX
BitBake fetcher removals
The following BitBake fetchers have been disabled or removed:
Default INIT_MANAGER definition changed to systemd
The default definition of INIT_MANAGER in the defaultsetup.conf file was changed
from none to systemd.
This means that users of the default distro setup (appearing as the nodistro
DISTRO) will be using systemd as the default init
manager.
This does not change the default init manager of the Poky distribution, which remains SysVinit.
Reverting to SysVinit can be done by specifying the INIT_MANAGER in your own DISTRO configuration file:
INIT_MANAGER = "sysvinit"
See commit 0b4061c for more information.
Changes to the list of DISTRO_FEATURES enabled by default
The following DISTRO_FEATURES are now enabled by default in meta/conf/bitbake.conf:
multiarch: Enable building applications with multiple architecture support.opengl: Include the Open Graphics Library, which is a cross-language multi-platform application programming interface used for rendering two and three-dimensional graphics.ptest: Enable building the package tests where supported by individual recipes. To add the built ptest packages to the image, addptest-pkgsto IMAGE_FEATURES in your image recipe.vulkan: Include support for the Vulkan API.wayland: Include the Wayland display server protocol and the library that supports it.
See commit 2e1e7c8 for more information.
native and cross classes DEBUG_BUILD change
Previously, setting DEBUG_BUILD to “1” globally would prevent the OpenEmbedded Build System from stripping target, native and cross binaries. This was changed so that only target binaries are stripped when this variable is set.
This change can be reverted by setting the two following lines in a configuration file:
INHIBIT_SYSROOT_STRIP:class-cross = "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
INHIBIT_SYSROOT_STRIP:class-native = "${@oe.utils.vartrue('DEBUG_BUILD', '1', '', d)}"
See commit 3c29afe for more information.
U-Boot configuration flow changes (uboot-config)
Declaring multiple U-Boot configurations used to be entirely defined by one UBOOT_CONFIG variable flag per configuration, e.g.:
UBOOT_CONFIG ??= "foo bar"
UBOOT_CONFIG[foo] = "config,images,binary"
UBOOT_CONFIG[bar] = "config2,images2,binary2"
This has now been split into more variable flags, e.g.:
UBOOT_CONFIG ??= "foo bar"
UBOOT_CONFIG[foo] = "config"
UBOOT_CONFIG[bar] = "config2"
UBOOT_CONFIG_IMAGE_FSTYPES[bar] = "fstype"
UBOOT_CONFIG_BINARY[foo] = "binary"
UBOOT_CONFIG_MAKE_OPTS[foo] = "FOO=1"
UBOOT_CONFIG_MAKE_OPTS[bar] = "BAR=1"
UBOOT_CONFIG_FRAGMENTS[foo] = "foo.fragment"
See the documentation of the uboot-config for full details.
While the previous legacy approach is still supported, it will be removed in for the next release. Users are advised to migrate to the new approach.
See commit cd9e730 for more information.
Note
Single configuration builds have not changed and are still declared using the following statements:
UBOOT_MACHINE = "config"
UBOOT_BINARY = "u-boot.bin"
Rust language changes
systemd changes
Support for SysVinit compatibility in systemd was dropped
Support for the SysVinit compatibility in systemd was dropped.
This is due to recent announcements in systemd which is planning to drop support for the SysVinit compatibility.
This means that the systemd and sysvinit distro features cannot be used together anymore.
Users are advised to switch to one init manager or the other entirely.
See commit d9ec9e2 for more information.
Recipe changes
Removed variables
The following variables have been removed:
Removed recipes
The following recipes have been removed in this release:
Removed PACKAGECONFIG options
Removed classes
The following classes have been removed in this release:
oelint: remove as most of the checks done by this class are done in other areas of code now, making this class obsolete.
Removed features
The following features have been removed in this release: