On Sun, Sep 20, 2026 at 06:15:11PM +0300, Aleksei Sviridkin wrote: > LINUX_KERNEL_IMAGE_HEADER has no prompt, so a board can only get the > header through a select in its platform Kconfig, and the text offset > base it needs has no prompt either, so a board cannot set it from its > defconfig. > > The header is what a stock boot loader that only ever starts a kernel > image checks before it jumps, and a board whose stock loader cannot be > replaced has to be chainloaded through it. The Keenetic KN-1012, an > MT7981 router, is such a board: its loader accepts a kernel FIT and > nothing else, and U-Boot runs from it as that kernel. Getting the header > onto the binary took a platform Kconfig change for one board. > > Give both symbols a prompt, so a board defconfig can enable the header > and set the offset base the loader expects. Platforms that select the > header are not affected, and the existing per-platform defaults for the > offset base stay in force. > > Assisted-by: LLM > Signed-off-by: Aleksei Sviridkin <[email protected]> > --- > arch/arm/Kconfig | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig > index 3e9f3b5103..cc40be0048 100644 > --- a/arch/arm/Kconfig > +++ b/arch/arm/Kconfig > @@ -92,18 +92,19 @@ config SPL_USE_SEPARATE_FAULT_HANDLERS > on them separately. > > config LINUX_KERNEL_IMAGE_HEADER > + bool "Place a Linux kernel image header at the start of U-Boot" > depends on ARM64 > - bool > help > Place a Linux kernel image header at the start of the U-Boot binary. > The format of the header is described in the Linux kernel source at > Documentation/arm64/booting.txt. This feature is useful since the > image header reports the amount of memory (BSS and similar) that > - U-Boot needs to use, but which isn't part of the binary. > + U-Boot needs to use, but which isn't part of the binary. It also > + lets a boot loader that only starts kernel images chainload U-Boot. > > config LNX_KRNL_IMG_TEXT_OFFSET_BASE > + hex "Base of the text offset in the Linux kernel image header" > depends on LINUX_KERNEL_IMAGE_HEADER > - hex > help > The value subtracted from CONFIG_TEXT_BASE to calculate the > TEXT_OFFSET value written to the Linux kernel image header.
This isn't a prompted option as boards that need it are expected to select it and provide the correct value. -- Tom
signature.asc
Description: PGP signature
