]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commit
kernel-fitimage.bbclass: do not use the UBOOT_ENV variable
authorAdrian Freihofer <adrian.freihofer@gmail.com>
Thu, 6 Feb 2025 22:56:05 +0000 (23:56 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 11 Feb 2025 11:42:23 +0000 (11:42 +0000)
commitab7f0b5e3d3612c43f9aab9ea2b7bd554d02859d
tree1eda9c218ac2c3f84a3b0275e28119ec76755d5d
parent269605ed053fd8dc7bcbcc04a46c308188115f66
kernel-fitimage.bbclass: do not use the UBOOT_ENV variable

The kernel-fitimage.bbclass evaluates the UBOOT_ENV variable from the
u-boot recipe. Based on this variable an u-boot script might be added to
the fitImage. However, the UBOOT_ENV variable is also used to install
the script as an old u-boot image, usually named boot.scr into the /boot
directory of the target device. This dual usage of one variable leads to
several strange side effects. Some examples:
- If UBOOT_ENV_SUFFIX is set to the default value scr, the boot.cmd
  script gets added as a legacy uImage to the fitImage. That does not
  look useful.
- If the UBOOT_ENV_SUFFIX is set to e.g. txt the script is not converted
  into a legacy uImage and a usable plain text script gets added to the
  fitImage. But the same script ends up redundant in /boot.
  Another strange detail is that the UBOOT_ENV_BINARY gets set to e.g.
  boot.txt for this configuration.
- Appending the script to the u-boot recipe and then hand it over to the
  kernel recipe via the staged /boot directory looks like over
  complicated. Such kind of over complications and u-boot kernel
  inter-dependencies lead to an almost unmaintainable
  kernel-fitimage.bbclass.
- A single variable does not allow you to add a text file to the fitImage
  and at the same time place boot.scr file in the /boot directory of the
  target device.
- It is not documented or obvious how the UBOOT_ENV variable should be
  used together with the kernel-fitimage.bbclass.

The commit which introduced this feature (among other features...) is:
https://git.yoctoproject.org/poky/commit/?id=8a2f4e143b52109fbd0ee8d792e327d460b8c1e6
This commit is going to remove the u-boot script part of it.

The removal of this function requires a note in the migration guide.
The migration should be straightforward: If UBOOT_ENV and the
kernel-fitimage.bbclass are used, the u-boot script must now be appended
to the kernel recipe and the new FIT_UBOOT_ENV variable must be used.

Signed-off-by: Adrian Freihofer <adrian.freihofer@siemens.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes-recipe/kernel-fitimage.bbclass