xenial guest on arm64 drops to busybox under openstack bionic-rocky
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Xenial |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
High
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned | ||
linux-raspi2 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned | ||
linux-snapdragon (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Xenial |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
Unassigned | ||
Cosmic |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
[Impact]
on openstack rocky-bionic (with patch, see 1771662), xenial guests will fail to launch as they drop to the busybox prompt after booting. The reason is that the EFI firmware image switched to ACPI mode by default in bionic. We knew that was happening, and backported some minimal ACPI support to keep xenial guests booting (bug 1744754). But, now we're seeing guests panic when trying to initialize PCI.
[Test Case]
Deploy rocky-bionic OpenStack and try to launch a xenial guest.
[Fix]
Backport ACPI/PCIe support for arm64 from upstream.
[ Regression Risk ]
TLDR: Definitely warrants some regression testing on armhf/arm64, but regression risk seems low for other architectures. Here's a patch-by-patch risk analysis:
> 0001-UBUNTU-
Enables code that will be added in the next patch.
> 0002-PCI-
Only adds new code w/ no callers yet
> 0003-PCI-
As noted in the commit message:
"The patch does not introduce any functional changes other than a very minor one: with the new code, on 64-bit platforms, we do just a single ioremap for the whole config space."
> 0004-PCI-
As noted, no functional change.
> 0005-PCI-
As noted, no functional change.
> 0006-PCI-
This makes changes to the ecam code, but that was added in this series, so no regression risk there. The pci-thunder-pem changes will be regression tested on the hardware that uses that driver (Cavium ThunderX).
> 0007-PCI-
Only adds new code, w/ no callers yet
> 0008-PCI-
Adds and calls a new function that is a no-op on !ARM (PCI_IOBASE is only defined on ARM). Also adds a call to pci_unmap_
> 0009-UBUNTU-
Enables code that will be added in the next patch.
> 0010-PCI-
Adds parsing of a new ACPI table. A possible regression risk to platforms an MCFG table that were working fine w/ 4.4 and there's a latent bug in this parsing code.
> 0011-PCI-
As noted, no functional change intended.
> 0012-PCI-
Again, no functional change.
> 0013-ARM64-
Only impacts ARM due to CONFIG_
> 0014-ARM64-
arm64-specific PCI initialization code - mitigate risk by regression testing on supported platforms (X-Gene, ThunderX).
> 0015-ARM64-
Adds new code for arm64-ACPI support. We didn't previously support these devices, so regression risk is negligible.
Changed in linux (Ubuntu): | |
importance: | Undecided → High |
Changed in linux (Ubuntu Bionic): | |
importance: | Undecided → High |
status: | New → Triaged |
Changed in linux (Ubuntu): | |
status: | Incomplete → Triaged |
tags: | added: kernel-da-key |
tags: | removed: performing-bisect |
description: | updated |
summary: |
- xenial guest on arm64 drops to busybux under openstack bionic-rocky + xenial guest on arm64 drops to busybox under openstack bionic-rocky |
Changed in linux (Ubuntu Xenial): | |
status: | Triaged → Fix Committed |
Changed in linux-raspi2 (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in linux-snapdragon (Ubuntu Xenial): | |
status: | New → Fix Committed |
Changed in linux (Ubuntu Cosmic): | |
status: | New → Fix Released |
Changed in linux-raspi2 (Ubuntu): | |
status: | New → Fix Released |
Changed in linux-raspi2 (Ubuntu Bionic): | |
status: | New → Fix Released |
Changed in linux-raspi2 (Ubuntu Cosmic): | |
status: | New → Fix Released |
Changed in linux-snapdragon (Ubuntu Cosmic): | |
status: | New → Fix Released |
Changed in linux-snapdragon (Ubuntu): | |
status: | New → Fix Released |
Changed in linux-snapdragon (Ubuntu Bionic): | |
status: | New → Fix Released |
tags: | added: cscc |
This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:
apport-collect 1797092
and then change the status of the bug to 'Confirmed'.
If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.
This change has been made by an automated script, maintained by the Ubuntu Kernel Team.