Unverified Commit fcdcf22a authored by Simon Glass's avatar Simon Glass Committed by Nathan Chancellor
Browse files

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: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarNicolas Schier <nsc@kernel.org>
Link: https://patch.msgid.link/20260106162738.2605574-6-sjg@chromium.org


Signed-off-by: default avatarNathan Chancellor <nathan@kernel.org>
parent 9a329df6
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -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: