[PATCH v2 04/10] binman: Add support for externally provided Linux kernel blob

Alexey Charkov <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <[email protected]>
Add an simple named Linux kernel blob type to binman, activated by the
"LINUX_KERNEL" make variable. No processing is done on the passed blob.

Signed-off-by: Alexey Charkov <[email protected]>
---
 Makefile                           |  1 +
 tools/binman/etype/linux_kernel.py | 22 ++++++++++++++++++++++
 tools/binman/missing-blob-help     |  5 +++++
 3 files changed, 28 insertions(+)

diff --git a/Makefile b/Makefile
index c5cc8276fa08..246efa2c23be 100644
--- a/Makefile
+++ b/Makefile
@@ -1692,6 +1692,7 @@ cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \
 		$(if $(KEYDIR),-a keydir=$(KEYDIR)) \
 		-a atf-bl1-path=${BL1} \
 		-a atf-bl31-path=${BL31} \
+		-a linux-kernel-path=${LINUX_KERNEL} \
 		-a tee-os-path=${TEE} \
 		-a ti-dm-path=${TI_DM} \
 		-a opensbi-path=${OPENSBI} \
diff --git a/tools/binman/etype/linux_kernel.py b/tools/binman/etype/linux_kernel.py
new file mode 100644
index 000000000000..74bef0ed8247
--- /dev/null
+++ b/tools/binman/etype/linux_kernel.py
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: GPL-2.0+
+# Copyright (c) 2026 Flipper FZCO
+#
+# Entry-type module for Linux kernel binary blob
+
+from binman.etype.blob_named_by_arg import Entry_blob_named_by_arg
+
+
+class Entry_linux_kernel(Entry_blob_named_by_arg):
+    """Linux kernel image blob
+
+    Properties / Entry arguments:
+        - linux-kernel-path: Filename of file to read into entry. This is
+            typically an uncompressed ARM64 Image.
+
+    This entry allows binman FIT templates to consume a kernel provided via
+    make variable, similar to how BL31 is passed to atf-bl31.
+    """
+
+    def __init__(self, section, etype, node):
+        super().__init__(section, etype, node, 'linux-kernel')
+        self.external = True
diff --git a/tools/binman/missing-blob-help b/tools/binman/missing-blob-help
index 27dc620bd359..c8c56e3ad9b5 100644
--- a/tools/binman/missing-blob-help
+++ b/tools/binman/missing-blob-help
@@ -32,6 +32,11 @@ If CONFIG_WDT_K3_RTI_LOAD_FW is enabled, a firmware image is needed for
 the R5F core(s) to trigger the system reset. One possible source is
 https://github.com/siemens/k3-rti-wdt.
 
+linux-kernel:
+A Linux kernel image is required to build a Falcon mode FIT image, which
+lets SPL start the OS directly instead of U-Boot proper. Build with
+LINUX_KERNEL=/path/to/Image, or disable Falcon mode image generation.
+
 opensbi:
 See the documentation for your board. The OpenSBI git repo is at
 https://github.com/riscv/opensbi.git

-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.