ARM64 builds needs build dependency on libz-dev inorder to support compressed kernels. The attached patch adds that support. Note. amd64 and i386 do not have this dependency, I tested the current zesty version of the kexec-tools on amd64 and i386 and it works. The patch only apply to ARM64 build.
[TEST] == Before Patch == ubuntu@test:~$ sudo kexec -l /boot/vmlinuz-4.9.0-15-generic --initrd=/boot/initrd.img-4.9.0-15-generic --append="root=LABEL=cloudimg-rootfs vt.handoff=7" Cannot determine the file type of /boot/vmlinuz-4.9.0-15-generic ubuntu@test:~$ == After Patch == ubuntu@test:~$ sudo kexec -l /boot/vmlinuz-4.9.0-15-generic --initrd=/boot/initrd.img-4.9.0-15-generic --append="root=LABEL=cloudimg-rootfs vt.handoff=7" ubuntu@test:~$ sudo kexec -e Ubuntu Zesty Zapus (development branch) test ttyAMA0 test login: [ 7616.705779] kexec_core: Starting new kernel [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.9.0-15-generic (buildd@bos01-arm64-009) (gcc version 6.3.0 20161229 (Ubuntu/Linaro 6.3.0-2ubuntu1) ) #16-Ubuntu SMP Fri Jan 20 15:29:58 UTC 2017 (Ubuntu 4.9.0-15.16-generic 4.9.5) [ 0.000000] Boot CPU: AArch64 Processor [510f8000] [ 0.000000] efi: Getting EFI parameters from FDT: [ 0.000000] efi: EFI v2.50 by EDK II [ 0.000000] efi: SMBIOS=0x5bdb0000 SMBIOS 3.0=0x58660000 PROP=0x5f714518 ACPI=0x58690000 ACPI 2.0=0x58690014 [ 0.000000] NUMA: No NUMA configuration found [ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000005 ** Patch added: "[Zesty] Enable compressed kernel support for ARM64" https://bugs.launchpad.net/ubuntu/+source/kexec-tools/+bug/1661363/+attachment/4812742/+files/zesty-enable-compressed-kernel-arm64.patch -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to kexec-tools in Ubuntu. https://bugs.launchpad.net/bugs/1661363 Title: Fails to load compressed kernels on arm64 Status in kexec-tools package in Ubuntu: In Progress Bug description: [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 [Regression Risk] kexec-tools did not support arm64 until zesty so, assuming the fix is localized to arm64 code, regression risk is negligible. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/kexec-tools/+bug/1661363/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp