u-boot/common
Stephan Gerhold bc599042d4 image: android: Automatically detect more compression types
At the moment android_image_get_kcomp() can automatically detect
LZ4 compressed kernels and the compression specified in uImages.
However, especially on ARM64 Linux is often compressed with GZIP.
Attempting to boot an Android image with a GZIP compressed kernel
image currently results in a very strange crash, e.g.

  Starting kernel ...
  "Synchronous Abort" handler, esr 0x02000000
   ...
  Code: 5555d555 55555d55 555f5555 5d555d55 (00088b1f)

Note the 1f8b, which are the "magic" bytes for GZIP images.

U-Boot already has the image_decomp_type() function that checks for
the magic bytes of bzip2, gzip, lzma and lzo. It's easy to make use
of it here to increase the chance that we do the right thing and the
user does not become confused with strange crashes.

This allows booting Android boot images that contain GZIP-compressed
kernel images.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
2021-07-15 19:06:49 -04:00
..
eeprom SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
init bootstage: Eliminate when not enabled 2021-07-07 10:17:54 -04:00
spl bootstage: Eliminate when not enabled 2021-07-07 10:17:54 -04:00
android_ab.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
autoboot.c autoboot: fix MENUKEY 2021-07-02 15:03:53 -04:00
avb_verify.c avb: Fix error when partition not found 2021-03-17 12:50:19 -04:00
bedbug.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
bloblist.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
board_f.c sandbox: don't refer to symbol _init 2021-07-06 10:38:03 -06:00
board_info.c board-info: Call sysinfo_detect() before sysinfo_get_str() 2021-07-14 16:48:00 -04:00
board_r.c env: allow environment to be amended from control dtb 2021-05-04 11:50:50 -04:00
boot_fit.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
bootm.c bootm: Skip command-line substitution if !CONFIG_CMDLINE 2021-03-27 15:04:31 +13:00
bootm_os.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
bootretry.c common: Move get_ticks() function out of common.h 2019-12-02 18:23:13 -05:00
bootstage.c bootstage: Warning if space is exhausted 2021-03-27 15:04:31 +13:00
bouncebuf.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
cli.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_hush.c cli: slighly more clear error messages 2021-05-17 17:06:42 -04:00
cli_readline.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
cli_simple.c cli: Support macro processing with a fixed-size buffer 2020-12-04 16:10:01 -05:00
command.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
common_fit.c common: fit: Add weak board_fit_config_name_match 2021-04-14 15:23:01 -04:00
console.c console: Report an error when output buffer is exhausted 2021-06-08 11:39:09 -04:00
cros_ec.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
ddr_spd.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
dfu.c dfu: add support for the dfu_alt_info reintialization from the flashed script 2021-01-31 14:08:56 +01:00
dlmalloc.c malloc: add SPDX license identifiers 2021-06-23 08:45:03 -04:00
dlmalloc.src Consolidate bool type 2013-04-01 16:33:52 -04:00
edid.c common: edid: Search for valid timing in extension block 2021-04-24 13:44:47 +02:00
exports.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
fdt_region.c fdt_region: Check for a single root node of the correct name 2021-02-15 19:17:18 -05:00
fdt_support.c spl: fit: Also record architecture in /fit-images 2021-06-23 09:48:36 +02:00
flash.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
hash.c hash: Kconfig option for SHA512 hardware acceleration 2021-05-18 12:36:12 +02:00
hwconfig.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-android-dt.c common: image-android-dt: Fix logic in print fdt info routine 2019-08-07 15:31:05 -04:00
image-android.c image: android: Automatically detect more compression types 2021-07-15 19:06:49 -04:00
image-cipher.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
image-fdt.c image-fdt: save no-map parameter of reserve-memory 2021-06-07 10:48:40 -04:00
image-fit-sig.c lib: Rename rsa-checksum.c to hash-checksum.c 2021-04-14 15:06:08 -04:00
image-fit.c fit: Load DTO into temporary buffer and ignore load address 2021-07-15 19:06:37 -04:00
image-sig.c lib: Add support for ECDSA image signing 2021-04-14 15:06:08 -04:00
image.c Respect that some compression algos can be enabled separately for SPL 2021-03-01 10:21:36 +01:00
iomux.c IOMUX: Fix buffer overflow in iomux_replace_device() 2021-04-27 08:05:30 -04:00
iotrace.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
kallsyms.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
Kconfig Add support for stack-protector 2021-04-20 07:31:12 -04:00
Kconfig.boot Revert "lib: introduce HASH_CALCULATE option" 2021-05-28 16:17:01 +02:00
kgdb.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
kgdb_stubs.c common: Drop asm/ptrace.h from common header 2020-05-18 21:19:23 -04:00
lcd.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
lcd_console.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
lcd_console_rotation.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
lcd_simplefb.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
log.c log: Add support for logging a buffer 2021-06-08 11:39:09 -04:00
log_console.c log: Handle line continuation 2021-03-12 17:41:35 -05:00
log_syslog.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
lynxkdi.c Remove unnecessary instances of DECLARE_GLOBAL_DATA_PTR 2018-04-27 14:54:48 -04:00
main.c efi_loader: capsule: add capsule_on_disk support 2020-12-03 21:22:49 +01:00
Makefile Add support for stack-protector 2021-04-20 07:31:12 -04:00
malloc_simple.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
memsize.c common: Drop asm/global_data.h from common header 2021-02-02 15:33:42 -05:00
menu.c menu: add support for client defined statusline function 2020-05-07 09:01:42 -04:00
miiphyutil.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
qfw.c x86: qemu: move QFW to its own uclass 2021-04-12 17:44:55 -04:00
s_record.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
scp03.c common: SCP03 control (enable and provision of keys) 2021-03-13 13:14:52 -05:00
splash.c splash: Fix build warning on 64 bits CPU 2020-06-28 01:03:09 +02:00
splash_source.c common: splash_source: fix -Wint-to-pointer-cast warning 2021-02-19 22:17:10 +01:00
stackprot.c Add support for stack-protector 2021-04-20 07:31:12 -04:00
stdio.c stdio: Introduce a new helper stdio_file_to_flags() 2021-02-16 11:16:07 -05:00
system_map.c Add support for Linux-like kallsysms 2009-06-12 20:45:48 +02:00
update.c image: Adjust the workings of fit_check_format() 2021-02-15 22:31:52 -05:00
usb.c common: Drop linux/delay.h from common header 2020-05-18 21:19:23 -04:00
usb_hub.c usb: hub: Fix usb_get_port_status() for big-endian platforms 2021-04-06 16:38:57 +02:00
usb_kbd.c usb: kbd: Also accept keyboards with Interrupt OUT endpoint 2021-02-26 15:30:55 +01:00
usb_storage.c Xilinx changes for v2021.04 2021-01-06 07:57:33 -05:00
xyzModem.c common: rename getc() to getchar() 2020-10-22 09:54:53 -04:00