diff options
| author | Simon Glass <sjg@chromium.org> | 2026-01-06 09:27:35 -0700 |
|---|---|---|
| committer | Nathan Chancellor <nathan@kernel.org> | 2026-02-03 17:20:10 -0700 |
| commit | fcdcf22a34b0768471d6c834254ef041e3d9c3dc (patch) | |
| tree | 3f72af10daa920f71d86f299b289d81646035efb /scripts | |
| parent | 9a329df6e004190ce7422cc040c09374efa34289 (diff) | |
scripts/make_fit: Support a few more parallel compressors
Add support for pbzip2, xz and plzip which can compress in parallel.
This speeds up the ramdisk compression.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Nicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20260106162738.2605574-6-sjg@chromium.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/make_fit.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/scripts/make_fit.py b/scripts/make_fit.py index 7ddaf3c0d783..defb87f223d7 100755 --- a/scripts/make_fit.py +++ b/scripts/make_fit.py @@ -50,11 +50,12 @@ import libfdt CompTool = collections.namedtuple('CompTool', 'ext,tools') COMP_TOOLS = { - 'bzip2': CompTool('.bz2', 'bzip2'), + 'bzip2': CompTool('.bz2', 'pbzip2,bzip2'), 'gzip': CompTool('.gz', 'pigz,gzip'), 'lz4': CompTool('.lz4', 'lz4'), - 'lzma': CompTool('.lzma', 'lzma'), + 'lzma': CompTool('.lzma', 'plzip,lzma'), 'lzo': CompTool('.lzo', 'lzop'), + 'xz': CompTool('.xz', 'xz'), 'zstd': CompTool('.zstd', 'zstd'), } @@ -207,7 +208,12 @@ def compress_data(inf, compress): done = False for tool in comp.tools.split(','): try: - subprocess.call([tool, '-c'], stdin=inf, stdout=outf) + # Add parallel flags for tools that support them + cmd = [tool] + if tool in ('zstd', 'xz'): + cmd.extend(['-T0']) # Use all available cores + cmd.append('-c') + subprocess.call(cmd, stdin=inf, stdout=outf) done = True break except FileNotFoundError: |
