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-0x000000005fffffff

** Patch added: "[Zesty] Enable compressed kernel support for ARM64"
   
https://bugs.launchpad.net/ubuntu/+source/kexec-tools/+bug/1661363/+attachment/4812741/+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

Reply via email to