[Impact]
kexec-tools will not load a compressed kernel on arm64. Ubuntu ships compressed kernel images on arm64 starting with 16.10 (and hwe kernels for 16.04). A workaround is to manually decompress the kernel before loading it, but this is not supported by the use-kexec-for-reboot-by-default feature of the kexec-tools package.
[Test Case]
ubuntu@ubuntu:~$ sudo file /boot/vmlinuz-4.9.0-15-generic
/boot/vmlinuz-4.9.0-15-generic: gzip compressed data, max compression, from Unix
ubuntu@ubuntu:~$ sudo kexec -d -l /boot/vmlinuz-4.9.0-15-generic -t Image
arch_process_options:141: command_line: (null)
arch_process_options:143: initrd: (null)
arch_process_options:144: dtb: (null)
kernel: 0xffff8ff61010 kernel_size: 0x6ee18b
get_memory_ranges_iomem_cb: 0000000040000000 - 00000000ffffbfff : System RAM
get_memory_ranges_iomem_cb: 0000000100000000 - 000000013858ffff : System RAM
get_memory_ranges_iomem_cb: 0000000138750000 - 000000013bc1ffff : System RAM
get_memory_ranges_iomem_cb: 000000013c000000 - 000000013fffffff : System RAM
image_arm64_probe: Bad arm64 image header.
elf_arm64_probe: Not an ELF executable.
image_arm64_probe: Bad arm64 image header.
Cannot determine the file type of /boot/vmlinuz-4.9.0-15-generic
[Impact] for-reboot- by-default feature of the kexec-tools package.
kexec-tools will not load a compressed kernel on arm64. Ubuntu ships compressed kernel images on arm64 starting with 16.10 (and hwe kernels for 16.04). A workaround is to manually decompress the kernel before loading it, but this is not supported by the use-kexec-
[Test Case] 4.9.0-15- generic 4.9.0-15- generic: gzip compressed data, max compression, from Unix 4.9.0-15- generic -t Image options: 141: command_line: (null) options: 143: initrd: (null) options: 144: dtb: (null) ranges_ iomem_cb: 0000000040000000 - 00000000ffffbfff : System RAM ranges_ iomem_cb: 0000000100000000 - 000000013858ffff : System RAM ranges_ iomem_cb: 0000000138750000 - 000000013bc1ffff : System RAM ranges_ iomem_cb: 000000013c000000 - 000000013fffffff : System RAM 4.9.0-15- generic
ubuntu@ubuntu:~$ sudo file /boot/vmlinuz-
/boot/vmlinuz-
ubuntu@ubuntu:~$ sudo kexec -d -l /boot/vmlinuz-
arch_process_
arch_process_
arch_process_
kernel: 0xffff8ff61010 kernel_size: 0x6ee18b
get_memory_
get_memory_
get_memory_
get_memory_
image_arm64_probe: Bad arm64 image header.
elf_arm64_probe: Not an ELF executable.
image_arm64_probe: Bad arm64 image header.
Cannot determine the file type of /boot/vmlinuz-