From: Tobias Powalowski Date: Wed, 22 Mar 2023 12:24:57 +0000 (+0100) Subject: ukify: allow uncompressed kernel images for UNAME detection on aarch64 and riscv64... X-Git-Tag: v254-rc1~955 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bf9f07a62966043c0f1fd7ac4a249790643d1f9a;p=thirdparty%2Fsystemd.git ukify: allow uncompressed kernel images for UNAME detection on aarch64 and riscv64 (#26929) Uncompressed aarch64 and riscv64 kernels have a different startpoint than x86. Example output from ukify: aarch64: NotImplementedError: unknown file format (starts with b'MZ@\xfa') riscv64: NotImplementedError: unknown file format (starts with b'MZo\x10') Add check for (b'MZ') to catch both in one call. Fix: https://github.com/systemd/systemd/issues/26923 --- diff --git a/src/ukify/ukify.py b/src/ukify/ukify.py index d34d3acc273..0231c552454 100755 --- a/src/ukify/ukify.py +++ b/src/ukify/ukify.py @@ -106,6 +106,10 @@ def maybe_decompress(filename): # not compressed return f.read() + if start.startswith(b'MZ'): + # not compressed aarch64 and riscv64 + return f.read() + if start.startswith(b'\x1f\x8b'): gzip = try_import('gzip') return gzip.open(f).read()