[Yakkety SRU] Enable KEXEC support in ARM64 kernel
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Undecided
|
Manoj Iyer | ||
Yakkety |
Fix Released
|
Undecided
|
Tim Gardner |
Bug Description
[Impact]
* If the kernel is not built with CONFIG_KEXEC support, kexec-tools will not be able to live boot a new kernel over the running one.
* Our partners/customers have requested this feature.
[Test Case]
* Install a version of kexec-tools that supports ARM64
* Run the command: sudo kexec -l /boot/<kernel> --initrd=
* You should see the message: kexec_load failed: Function not implemented
[Regression Potential]
* The proposed config changes are limited to ARM64 architecture, overall risk of regression is low.
[Other Info]
* Please note that kexec-tools currently is not built for ARM64
* I have an SRU to enable that https:/
* I am working with dannf to get kexec-tools to support ARM64 in yakkety.
summary: |
- [Yakkety] Enable KEXEC support in ARM64 kernel + [Yakkety SRU] Enable KEXEC support in ARM64 kernel |
description: | updated |
Changed in linux (Ubuntu Yakkety): | |
status: | In Progress → Fix Committed |
[Testing]
== Build & Install kernel and kexec-tools ==
Built kexec-tools with patches needed for ARM64 support, and built a 4.8.0-38 Yakkety kernel with CONFIG_KEXEC and CONFIG_KEXEC_CORE set to Y.
ubuntu@test:~$ cat /etc/issue
Ubuntu 16.10 \n \l
ubuntu@test:~$
ubuntu@test:~$ dpkg -l | grep kexec-tools
ii kexec-tools 1:2.0.10-2ubuntu1.1 arm64 tools to support fast kexec reboots
ubuntu@test:~$
ubuntu@test:~$ sudo file /boot/vmlinuz- 4.8.0-38- generic 4.8.0-38- generic: gzip compressed data, max compression, from Unix
/boot/vmlinuz-
ubuntu@test:~$
== Load kexec kernel == 4.8.0-38- generic --initrd= /boot/initrd. img-4.8. 0-38-generic --append= "root=LABEL= cloudimg- rootfs vt.handoff=7"
ubuntu@test:~$ sudo kexec -l /boot/vmlinuz-
ubuntu@test:~$
== Initiate kexec ==
ubuntu@test:~$ sudo kexec -e
ubuntu@test:~$
== Successful boot == 40ubuntu1- generic 4.8.17)
test login: [ 66.553187] kexec_core: Starting new kernel
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.8.0-38-generic (manjo@tangerine) (gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) ) #40ubuntu1 SMP Mon Feb 6 21:55:35 UTC 2017 (Ubuntu 4.8.0-38.
[ 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