0.4.0 aarch64 image hangs on Debian 10 host

Bug #1855840 reported by xinliang
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
CirrOS
Confirmed
Undecided
Unassigned

Bug Description

Host:
Debian10
qemu-efi: 0~20181115.85588389-3
qemu-system-aarch64: QEMU emulator version 3.1.0 (Debian 1:3.1+dfsg-8+deb10u3)
libvirt: 5.0.0

Reproduce:
$ cd /tmp/; wget -c http://download.cirros-cloud.net/0.4.0/cirros-0.4.0-aarch64-disk.img
$ virt-install \
  --name guest-01 \
  --memory 2048 \
  --vcpus 2 \
  --nographic \
  --boot uefi \
  --network bridge=docker0 \
  --disk /tmp/cirros-0.4.0-aarch64-disk.img \
  --import

After seeing the grub boot entry, adding kernel param "earlycon=pl011,0x9000000" will see bellow hangs log:

[ 0.000000] Virtual kernel memory layout: [ 0.000000] vmalloc : 0xffff000000000000 - 0xffff7bffbfff0000 (126974 GB)
[ 0.000000] vmemmap : 0xffff7bffc0000000 - 0xffff7fffc0000000 ( 4096 GB maximum)
[ 0.000000] 0xffff7bffc0000000 - 0xffff7bffc0800000 ( 8 MB actual)
[ 0.000000] fixed : 0xffff7ffffa7fd000 - 0xffff7ffffac00000 ( 4108 KB)
[ 0.000000] PCI I/O : 0xffff7ffffae00000 - 0xffff7ffffbe00000 ( 16 MB)
[ 0.000000] modules : 0xffff7ffffc000000 - 0xffff800000000000 ( 64 MB)
[ 0.000000] memory : 0xffff800000000000 - 0xffff800020000000 ( 512 MB)
[ 0.000000] .init : 0xffff800000cb8000 - 0xffff800000d76000 ( 760 KB)
[ 0.000000] .text : 0xffff800000080000 - 0xffff800000cb8000 ( 12512 KB)
[ 0.000000] .data : 0xffff800000d87000 - 0xffff800000e84200 ( 1013 KB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] Build-time adjustment of leaf fanout to 64.
[ 0.000000] RCU restricting CPUs from NR_CPUS=128 to nr_cpu_ids=1.
[ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=64, nr_cpu_ids=1
[ 0.000000] NR_IRQS:64 nr_irqs:64 0
[ 0.000000] Kernel panic - not syncing: No interrupt controller found.
[ 0.000000] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.4.0-28-generic #47-Ubuntu
[ 0.000000] Hardware name: (null) (DT)
[ 0.000000] Call trace:
[ 0.000000] [<ffff80000008a780>] dump_backtrace+0x0/0x1b0
[ 0.000000] [<ffff80000008a954>] show_stack+0x24/0x30
[ 0.000000] [<ffff800000459b3c>] dump_stack+0x98/0xbc
[ 0.000000] [<ffff8000001cc1b8>] panic+0xf8/0x23c
[ 0.000000] [<ffff800000cbba28>] init_IRQ+0x24/0x2c
[ 0.000000] [<ffff800000cb88b0>] start_kernel+0x2a0/0x414
[ 0.000000] [<00000000408fd000>] 0x408fd000
[ 0.000000] ---[ end Kernel panic - not syncing: No interrupt controller found.

Cirros is very small and is a good image to test openstack, such as refstack tests.
This issue blocks the users to use it to do such tests.

Revision history for this message
xinliang (xin3liang) wrote :

The problem might be switching dtb booting from acpi. We had tested it can boot on debian9 host before.
If I don't remember wrong, it boot from dtb on debian9.

I have tested ubuntu-18.04.3 cloud image (with higher version kernel 4.15.0-72-generic) on aarch64, it works fine.

Hoping there is a new version of cirros image built with newer kernel. Because older kernel might not support aarch64 acpi well.

I am glad to help to do such work. But I don't know how to do yet.

description: updated
Revision history for this message
Marcin Juszkiewicz (hrw) wrote :
Changed in cirros:
status: New → Confirmed
Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

Fails also with 'acpi=off' kernel argument.

Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

Cirros daily with kernel/grub from Ubuntu 18.04 boots fine.

Revision history for this message
Jonathan Rosser (jrosser) wrote :

For openstack-ansible we did a ton of work on Cirros for Arm and fixed it up quite a bit though i'm not sure this ever got further than a 'contrib' build.

See https://github.com/openstack/openstack-ansible-os_tempest/blob/0f4570ec2be4af4f55da95c5028bfd965ea680d2/vars/main.yml#L32-L38

Marcin Juszkiewicz (hrw)
summary: - current release 0.4.0 aarch64 image hangs on debian10 host
+ 0.4.0 aarch64 image hangs on Debian 10 host
Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

virtio_gpu module needs to be added to rootfs.

Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

With virtio-gpu added console output goes to serial port anyway.

Revision history for this message
Marcin Juszkiewicz (hrw) wrote :
xinliang (xin3liang)
description: updated
Revision history for this message
Marcin Juszkiewicz (hrw) wrote :

https://github.com/hrw/cirros/releases/tag/hrw_0.5.0_pre2_18.04hwe has images with 18.04-hwe (5.0) kernels.

Please test.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.