scripts/make_fit: Ignore schema checks when decomposing DTBs

With CHECK_DTBS enabled, Kbuild appends a schema validation command to
the fdtoverlay command saved in a composite DTB's .cmd file. When DTB
decomposition is requested, process_dtb() treats every word after -i as
an input file, including the semicolon and the validator arguments.
FIT generation then fails with FileNotFoundError while opening or
checking the size of those words as files.

Limit the input list to the fdtoverlay command before extracting its
arguments. This preserves the base DTB and overlay order and ignores
the subsequent schema validation command.

Fixes: 17c31aded9 ("scripts/make_fit: Support decomposing DTBs")
Assisted-by: LLM
Signed-off-by: Ting-Han Hou <ue081723@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://patch.msgid.link/CA+NtrhQBK8uW32qO3dXxVxO1GSN-0EJfyJ16tnyx0o52T17WtQ@mail.gmail.com
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
This commit is contained in:
Ting-Han Hou 2026-10-06 08:19:54 -07:00 committed by Nathan Chancellor
parent d26ab84593
commit 3bf2237f59
No known key found for this signature in database
GPG Key ID: 1D6B269171C01A96

View File

@ -292,7 +292,8 @@ def process_dtb(fname, args):
if 'scripts/dtc/fdtoverlay' in cmd:
# This depends on the structure of the composite DTB command
files = cmd.split()
# Ignore any subsequent commands, such as schema validation
files = cmd.split(';', 1)[0].split()
files = files[files.index('-i') + 1:]
else:
files = [fname]