Váš citát z Wikipedie,
Ačkoli existuje populární mylná představa, že
bz
prefix znamená, že je použita komprese bzip2 [...], není tomu tak.
říká opak vaší teorie:bz
v bzImage
nemá žádný vztah k bzip2
a bzImage
nemusí být komprimován pomocí bzip2
. Ve skutečnosti je výchozí režim komprese jádra stále gzip
a není důvod používat bzip2
v dnešní době — je pomalejší než LZMA a xz
ale také se nekomprimuje.
Chcete-li přesvědčivě určit, jaká komprese byla použita pro daný obraz jádra, aniž byste jej museli spouštět nebo zjišťovat jeho konfiguraci, můžete použít přístup používaný jádrem extract-vmlinux
skript:
-
hledejte podpis kompresoru na obrázku:
gunzip
:\037\213\010
xz
:\3757zXZ\000
bzip2
:BZh
lzma
:\135\0\0\0
lzo
:\211\114\132
lz4
:\002!L\030
zstd
:(\265/\375
-
pokuste se extrahovat data z obrázku, počínaje odsazením jakéhokoli nalezeného podpisu;
- zkontrolujte, zda je výsledkem (pokud existuje) obrázek ELF.
Zde jsem upravil skript tak, aby hlásil pouze typ komprese. Neuvádím jej zde, protože je licencován pouze pod licencí GPL 2.
Můžete se podívat, jaké kompresní metody vaše jádro podporuje. Může být vybrán pouze jeden, takže to prokáže, který to je.
Zde používám gzip:
$ zgrep CONFIG_KERNEL_ /proc/config.gz
CONFIG_KERNEL_GZIP=y
# CONFIG_KERNEL_BZIP2 is not set
# CONFIG_KERNEL_LZMA is not set
# CONFIG_KERNEL_XZ is not set
# CONFIG_KERNEL_LZO is not set
# CONFIG_KERNEL_LZ4 is not set