[PATCH 2/2] scripts/make_fit: Speed up operation

From: Simon Glass

Date: Fri Sep 19 2025 - 17:10:20 EST


The kernel is likely at least 16MB so we may as well use that as a step
size when reallocating space for the FIT in memory. Pack the FIT at the
end, so there is no wasted space.

This reduces the time to pack by an order of magnitude, or so.

Signed-off-by: Simon Glass <sjg@xxxxxxxxxxxx>

---

scripts/make_fit.py | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/scripts/make_fit.py b/scripts/make_fit.py
index c43fd9d60809..a8ea41fdaf08 100755
--- a/scripts/make_fit.py
+++ b/scripts/make_fit.py
@@ -100,7 +100,7 @@ def setup_fit(fsw, name):
fsw (libfdt.FdtSw): Object to use for writing
name (str): Name of kernel image
"""
- fsw.INC_SIZE = 65536
+ fsw.INC_SIZE = 16 << 20
fsw.finish_reservemap()
fsw.begin_node('')
fsw.property_string('description', f'{name} with devicetree set')
@@ -331,10 +331,12 @@ def build_fit(args):

entries.append([model, compat, files_seq])

- finish_fit(fsw, entries)
+ finish_fit(fsw, entries, bool(args.ramdisk))

# Include the kernel itself in the returned file count
- return fsw.as_fdt().as_bytearray(), seq + 1, size
+ fdt = fsw.as_fdt()
+ fdt.pack()
+ return fdt.as_bytearray(), seq + 1, size


def run_make_fit():
--
2.43.0

base-commit: 846bd2225ec3cfa8be046655e02b9457ed41973e
branch: fit