首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QEMU运行臂Ubuntu不支持的机器类型

QEMU运行臂Ubuntu不支持的机器类型
EN

Stack Overflow用户
提问于 2017-10-26 13:10:18
回答 1查看 2.8K关注 0票数 1

我试图在ARM机器上运行一个基本的虚拟Ubuntu。

我的QEMU命令如下所示:

代码语言:javascript
复制
$: qemu-system-aarch64 -machine virt-2.6 -machine type=virtual -kernel /home/projects/projects/transfer/jfrye/QemuTestImages/ubuntu-16.04.3-server-arm64.iso

但是,我收到了一个错误:

代码语言:javascript
复制
qemu-system-aarch64: -machine virt-2.6: unsupported machine type

现在,我列出了支持aarch64的机器类型,并在这里查找了它们:

https://wiki.qemu.org/Documentation/Platforms/ARM

代码语言:javascript
复制
[jfrye@cserh4 ~]$ qemu-system-aarch64 -M help
Supported machines are:
akita                Sharp SL-C1000 (Akita) PDA (PXA270)
arm-generic-fdt      ARM device tree driven machine model
arm-generic-fdt-plnx ARM device tree driven machine model for PetaLinux Zynq
borzoi               Sharp SL-C3100 (Borzoi) PDA (PXA270)
canon-a1100          Canon PowerShot A1100 IS
cheetah              Palm Tungsten|E aka. Cheetah PDA (OMAP310)
collie               Sharp SL-5500 (Collie) PDA (SA-1110)
connex               Gumstix Connex (PXA255)
cubieboard           cubietech cubieboard
highbank             Calxeda Highbank (ECX-1000)
imx25-pdk            ARM i.MX25 PDK board (ARM926)
integratorcp         ARM Integrator/CP (ARM926EJ-S)
kzm                  ARM KZM Emulation Baseboard (ARM1136)
lm3s6965evb          Stellaris LM3S6965EVB
lm3s811evb           Stellaris LM3S811EVB
mainstone            Mainstone II (PXA27x)
midway               Calxeda Midway (ECX-2000)
musicpal             Marvell 88w8618 / MusicPal (ARM926EJ-S)
n800                 Nokia N800 tablet aka. RX-34 (OMAP2420)
n810                 Nokia N810 tablet aka. RX-44 (OMAP2420)
netduino2            Netduino 2 Machine
none                 empty machine
nuri                 Samsung NURI board (Exynos4210)
palmetto-bmc         OpenPOWER Palmetto BMC
raspi2               Raspberry Pi 2
realview-eb          ARM RealView Emulation Baseboard (ARM926EJ-S)
realview-eb-mpcore   ARM RealView Emulation Baseboard (ARM11MPCore)
realview-pb-a8       ARM RealView Platform Baseboard for Cortex-A8
realview-pbx-a9      ARM RealView Platform Baseboard Explore for Cortex-A9
smdkc210             Samsung SMDKC210 board (Exynos4210)
spitz                Sharp SL-C3000 (Spitz) PDA (PXA270)
sx1                  Siemens SX1 (OMAP310) V2
sx1-v1               Siemens SX1 (OMAP310) V1
terrier              Sharp SL-C3200 (Terrier) PDA (PXA270)
tosa                 Sharp SL-6000 (Tosa) PDA (PXA255)
verdex               Gumstix Verdex (PXA270)
versatileab          ARM Versatile/AB (ARM926EJ-S)
versatilepb          ARM Versatile/PB (ARM926EJ-S)
vexpress-a15         ARM Versatile Express for Cortex-A15
vexpress-a9          ARM Versatile Express for Cortex-A9
virt                 QEMU 2.6 ARM Virtual Machine (alias of virt-2.6)
virt-2.6             QEMU 2.6 ARM Virtual Machine
xilinx-zynq-a9       Xilinx Zynq Platform Baseboard for Cortex-A9
xlnx-ep108           Xilinx ZynqMP EP108 board
z2                   Zipit Z2 (PXA27x)

为什么virt-2.6失败了?我已经成功地使用了arm-generic并提供了一个设备树来测试我的Zynq。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-31 18:28:55

您的问题是命令行两次指定机器类型:"-machine virt-2.6“表示”将机器类型设置为‘virt-2.6’,而"-machine type=virtual“则表示”将机器类型设置为‘虚拟’“。

QEMU之所以抱怨,是因为它使用了命令行上给出的最后一个计算机类型,在本例中,该类型是“虚拟的”,而且不存在。

不幸的是,错误消息打印中的一个错误意味着,如果您多次传递参数,则错误消息将显示第一个计算机类型,这非常具有误导性。

我们应该做的是禁止设置机器类型不止一次,但QEMU的参数解析代码是非常巴洛克的,这很可能很难修复.

当您修复命令行的这一部分时,您会发现下一个问题是您试图将一个.iso文件传递给-kernel。这不起作用(它在x86 QEMU上也不起作用-kernel想要一个内核文件)。您可以(a)使用- can /-initrd传递内核和initrd,这些内核和initrd将被引导,然后可以读取磁盘映像;或者(b)使用-bios传递能够从磁盘映像中读取内核的UEFI映像。

我的总体建议是,您应该找到并遵循一个好的教程,因为您不太可能通过尝试和错误获得一些有用的东西--使用网络和硬盘的QEMU“virt”设置的命令行可能会变得相当复杂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46955244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档