Testing on Yakkety (16.10)

$ cat /etc/issue
Ubuntu 16.10 \n \l

$ uname -a 
Linux myvm 4.8.0-54-generic #57-Ubuntu SMP Wed May 24 10:21:41 UTC 2017 aarch64 
aarch64 aarch64 GNU/Linux

$ sudo file /boot/vmlinuz-4.10.0-22-generic
/boot/vmlinuz-4.10.0-22-generic: gzip compressed data, max compression, from 
Unix

$ sudo kexec -d -l /boot/vmlinuz-4.10.0-22-generic 
--initrd=/boot/initrd.img-4.10.0-22-generic --reuse-cmdline
arch_process_options:141: command_line: root=LABEL=cloudimg-rootfs ro quiet 
splash vt.handoff=7
arch_process_options:143: initrd: /boot/initrd.img-4.10.0-22-generic
arch_process_options:144: dtb: (null)
Try gzip decompression.
kernel: 0xffffaf279010 kernel_size: 0x12bc200
get_memory_ranges_iomem_cb: 0000000040000000 - 000000005855ffff : System RAM
get_memory_ranges_iomem_cb: 00000000585c0000 - 00000000585ebfff : System RAM
get_memory_ranges_iomem_cb: 0000000058750000 - 000000005bc1ffff : System RAM
get_memory_ranges_iomem_cb: 000000005c000000 - 000000005fffffff : System RAM
elf_arm64_probe: Not an ELF executable.
image_arm64_load: kernel_segment: 0000000040000000
image_arm64_load: text_offset:    0000000000080000
image_arm64_load: image_size:     00000000013cf000
image_arm64_load: phys_offset:    0000000040000000
image_arm64_load: vp_offset:      ffffffffffffffff
image_arm64_load: PE format:      yes
read_1st_dtb: found /sys/firmware/fdt
initrd: base 4144f000, size 1af840fh (28279823)
dtb_set_initrd: start 1095036928, end 1123316751, size 28279823 (27617 KiB)
dtb:    base 42f48000, size 1c49h (7241)
sym: sha256_starts info: 12 other: 00 shndx: 1 value: e80 size: 58
sym: sha256_starts value: 42f4ae80 addr: 42f4a014
machine_apply_elf_rel: CALL26 5800065394000000->580006539400039b
sym: sha256_update info: 12 other: 00 shndx: 1 value: 2df0 size: c
sym: sha256_update value: 42f4cdf0 addr: 42f4a030
machine_apply_elf_rel: CALL26 eb16027f94000000->eb16027f94000b70
sym: sha256_finish info: 12 other: 00 shndx: 1 value: 2e00 size: 1bc
sym: sha256_finish value: 42f4ce00 addr: 42f4a048
machine_apply_elf_rel: CALL26 aa1603e194000000->aa1603e194000b6e
sym:     memcmp info: 12 other: 00 shndx: 1 value: 604 size: 34
sym: memcmp value: 42f4a604 addr: 42f4a058
machine_apply_elf_rel: CALL26 340003a094000000->340003a09400016b
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a068
machine_apply_elf_rel: CALL26 5800042094000000->580004209400012f
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a070
machine_apply_elf_rel: CALL26 5800043694000000->580004369400012d
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a084
machine_apply_elf_rel: CALL26 f100827f94000000->f100827f94000128
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a0a0
machine_apply_elf_rel: CALL26 5800032094000000->5800032094000121
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a0a8
machine_apply_elf_rel: CALL26 38736a8194000000->38736a819400011f
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a0b8
machine_apply_elf_rel: CALL26 f100827f94000000->f100827f9400011b
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a0c8
machine_apply_elf_rel: CALL26 5280002094000000->5280002094000117
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 42f4d038 addr: 42f4a0e0
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4d038
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4cfc8 addr: 42f4a0e8
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4cfc8
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4cfe8 addr: 42f4a0f0
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4cfe8
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4cff8 addr: 42f4a0f8
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4cff8
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4cffe addr: 42f4a100
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4cffe
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4d000 addr: 42f4a108
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4d000
sym:     printf info: 12 other: 00 shndx: 1 value: 524 size: 80
sym: printf value: 42f4a524 addr: 42f4a11c
machine_apply_elf_rel: CALL26 9400000094000000->9400000094000102
sym: setup_arch info: 12 other: 00 shndx: 1 value: e78 size: 4
sym: setup_arch value: 42f4ae78 addr: 42f4a120
machine_apply_elf_rel: CALL26 9400000094000000->9400000094000356
sym: verify_sha256_digest info: 12 other: 00 shndx: 1 value: 0 size: e0
sym: verify_sha256_digest value: 42f4a000 addr: 42f4a124
machine_apply_elf_rel: CALL26 3400004094000000->3400004097ffffb7
sym: post_verification_setup_arch info: 12 other: 00 shndx: 1 value: e74 size: 4
sym: post_verification_setup_arch value: 42f4ae74 addr: 42f4a134
machine_apply_elf_rel: JUMP26 0000000014000000->0000000014000350
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4d010 addr: 42f4a138
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4d010
sym:    putchar info: 12 other: 00 shndx: 1 value: e70 size: 4
sym: putchar value: 42f4ae70 addr: 42f4a1cc
machine_apply_elf_rel: CALL26 2a1303e194000000->2a1303e194000329
sym:    putchar info: 12 other: 00 shndx: 1 value: e70 size: 4
sym: putchar value: 42f4ae70 addr: 42f4a240
machine_apply_elf_rel: CALL26 b9406ba194000000->b9406ba19400030c
sym:    putchar info: 12 other: 00 shndx: 1 value: e70 size: 4
sym: putchar value: 42f4ae70 addr: 42f4a49c
machine_apply_elf_rel: CALL26 f94037a194000000->f94037a194000275
sym: .rodata.str1.1 info: 03 other: 00 shndx: 3 value: 0 size: 0
sym: .rodata.str1.1 value: 42f4d022 addr: 42f4a4a8
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4d022
sym:   vsprintf info: 12 other: 00 shndx: 1 value: 140 size: 368
sym: vsprintf value: 42f4a140 addr: 42f4a518
machine_apply_elf_rel: CALL26 a8d07bfd94000000->a8d07bfd97ffff0a
sym:   vsprintf info: 12 other: 00 shndx: 1 value: 140 size: 368
sym: vsprintf value: 42f4a140 addr: 42f4a598
machine_apply_elf_rel: CALL26 a8d17bfd94000000->a8d17bfd97fffeea
sym:  purgatory info: 12 other: 00 shndx: 1 value: 110 size: 28
sym: purgatory value: 42f4a110 addr: 42f4a648
machine_apply_elf_rel: CALL26 5800001194000000->5800001197fffeb2
sym: arm64_kernel_entry info: 10 other: 00 shndx: 4 value: 120 size: 8
sym: arm64_kernel_entry value: 42f4d158 addr: 42f4a64c
machine_apply_elf_rel: LD_PREL_LO19 5800000058000011->5800000058015871
sym: arm64_dtb_addr info: 10 other: 00 shndx: 4 value: 128 size: 8
sym: arm64_dtb_addr value: 42f4d160 addr: 42f4a650
machine_apply_elf_rel: LD_PREL_LO19 aa1f03e158000000->aa1f03e158015880
sym: sha256_process info: 12 other: 00 shndx: 1 value: ed8 size: 1e00
sym: sha256_process value: 42f4aed8 addr: 42f4cd5c
machine_apply_elf_rel: CALL26 eb15027f94000000->eb15027f97fff85f
sym:     memcpy info: 12 other: 00 shndx: 1 value: 5e4 size: 20
sym: memcpy value: 42f4a5e4 addr: 42f4cdbc
machine_apply_elf_rel: JUMP26 9100c29314000000->9100c29317fff60a
sym:     memcpy info: 12 other: 00 shndx: 1 value: 5e4 size: 20
sym: memcpy value: 42f4a5e4 addr: 42f4cdd8
machine_apply_elf_rel: CALL26 aa1303e194000000->aa1303e197fff603
sym: sha256_process info: 12 other: 00 shndx: 1 value: ed8 size: 1e00
sym: sha256_process value: 42f4aed8 addr: 42f4cde4
machine_apply_elf_rel: CALL26 17ffffd394000000->17ffffd397fff83d
sym:      .data info: 03 other: 00 shndx: 4 value: 0 size: 0
sym: .data value: 42f4d168 addr: 42f4cfc0
machine_apply_elf_rel: ABS64 0000000000000000->0000000042f4d168
kexec_load: entry = 0x42f4a640 flags = 0xb70000
nr_segments = 4
segment[0].buf   = 0xffffaf279010
segment[0].bufsz = 0x12bc200
segment[0].mem   = 0x40080000
segment[0].memsz = 0x13cf000
segment[1].buf   = 0xffffb1769010
segment[1].bufsz = 0x1af840f
segment[1].mem   = 0x4144f000
segment[1].memsz = 0x1af9000
segment[2].buf   = 0x28b5e10
segment[2].bufsz = 0x1c49
segment[2].mem   = 0x42f48000
segment[2].memsz = 0x2000
segment[3].buf   = 0x28b7dc0
segment[3].bufsz = 0x31a8
segment[3].mem   = 0x42f4a000
segment[3].memsz = 0x4000

$ dpkg -l | grep kexec-tools
ii  kexec-tools                                1:2.0.10-2ubuntu1.2              
                arm64        tools to support fast kexec reboots


** Tags added: verification-done-yakkety

-- 
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:
  Fix Released
Status in kexec-tools source package in Xenial:
  Fix Committed
Status in kexec-tools source package in Yakkety:
  Fix Committed

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