qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1243287] Re: [KVM/QEMU][ARM][SAUCY] fails to boot clou


From: Andre Przywara
Subject: [Qemu-devel] [Bug 1243287] Re: [KVM/QEMU][ARM][SAUCY] fails to boot cloud-image due to host kvm fail
Date: Thu, 14 Nov 2013 14:20:08 -0000

Peter, the config option is called: CONFIG_STRICT_DEVMEM
And /dev/mem behaves differently between doing read() and doing mmap().

As Peter already hinted, the memory layout is different on native Midway (which 
has DRAM starting at 0) and mach-virt/vexpress (which start at 128MB / 2GB 
respectively). So accessing 0xf0000 reads memory on native, but faults in stage 
2 mapping in the host kernel.
But the actual problem is that the host kernel passes this abort on to 
userspace, where QEMU just does abort(), thus crashing the whole virtual 
machine. Actually I think we should change the host kernel to inject the data 
abort into the guest. I tested this with a simple patch, it now makes dmidecode 
crash (due to a signal), but keeps the guest alive.

This approach needs some discussion on the ML, I guess.

But near term we should not call dmidecode on ARM, since AFAIK it does
not give any information. There once was a discussion on patching
dmidecode to output hardcoded or elsewhere gathered information to make
scripts happy, but I don't know where this ended.

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1243287

Title:
  [KVM/QEMU][ARM][SAUCY] fails to boot cloud-image due to host kvm fail

Status in QEMU:
  Confirmed

Bug description:
  On booting the cloud image using qemu/kvm fails with the following
  error:

  Cloud-init v. 0.7.3 running 'init' at Thu, 03 Oct 2013 16:45:21 +0000. Up 
360.78 seconds.
  ci-info: +++++++++++++++++++++++++Net device info+++++++++++++++++++++++++
  ci-info: +--------+------+-----------+---------------+-------------------+
  ci-info: | Device | Up | Address | Mask | Hw-Address |
  ci-info: +--------+------+-----------+---------------+-------------------+
  ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . |
  ci-info: | eth0 | True | 10.0.2.15 | 255.255.255.0 | 52:54:00:12:34:56 |
  ci-info: +--------+------+-----------+---------------+-------------------+
  ci-info: ++++++++++++++++++++++++++++++Route 
info++++++++++++++++++++++++++++++
  ci-info: 
+-------+-------------+----------+---------------+-----------+-------+
  ci-info: | Route | Destination | Gateway | Genmask | Interface | Flags |
  ci-info: 
+-------+-------------+----------+---------------+-----------+-------+
  ci-info: | 0 | 0.0.0.0 | 10.0.2.2 | 0.0.0.0 | eth0 | UG |
  ci-info: | 1 | 10.0.2.0 | 0.0.0.0 | 255.255.255.0 | eth0 | U |
  ci-info: 
+-------+-------------+----------+---------------+-----------+-------+
  error: kvm run failed Function not implemented

  /usr/lib/python2.7/dist-
  packages/cloudinit/sources/DataSourceAltCloud.py assumes that
  dmidecode command is availabe (ie it assumes that system is x86) on
  arm systems there is no dmidecode command so host kvm fails with the
  message "error: kvm run failed Function not implemented"

  The patch makes get_cloud_type() function return with UNKNOWN for ARM
  systems.

  I was able to boot the cloud-image on ARM after applying this change.

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1243287/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]