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
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user