标签: qemu

Android SDK 14 - 无法创建GTV设备

我是Google TV开发人员,今天,在android sdk 14发布后不久,我更新了所有内容,从android sdk到eclipse ADT.从那时起,我无法创建Google TV虚拟设备.我完全删除了所有内容并试图进行全新安装.这是发生的事情:

只需安装Android 3.1和Google TV插件即可下载Android sdk:

$ android list targets

Available Android targets:
----------
id: 1 or "android-12"
     Name: Android 3.1
     Type: Platform
     API level: 12
     Revision: 3
     Skins: WXGA (default)
     ABIs : armeabi
----------
id: 2 or "Google Inc.:Google TV Addon:12"
     Name: Google TV Addon
     Type: Add-On
     Vendor: Google Inc.
     Revision: 2
     Based on Android 3.1 (API level 12)
     Skins: WXGA, 1080p-overscan, 1080p, 720p (default), 720p-overscan
     ABIs : x86

$ android create avd -n …
Run Code Online (Sandbox Code Playgroud)

android qemu android-virtual-device google-tv

9
推荐指数
1
解决办法
5909
查看次数

控制寄存器和gdb

我很好奇为什么gdb不显示x86的控制寄存器.我一直在使用带有qemu的gdb来调试一些内核.我使用info寄存器和info all-registers获取寄存器值.

但是,我不能得到cr3和cr2.(一般CRs).有没有办法得到它们.如果没有,那么他们为什么不提供.

-谢谢

debugging gdb qemu linux-kernel

9
推荐指数
2
解决办法
2923
查看次数

使用qemu-user进行信号处理

在我的机器上,我有一个aarch64二进制文件,它是静态编译的.我使用带-g 6566标志的qemu-aarch64-static运行它.在另一个终端,我启动gdb-multiarch并连接为target remote localhost:6566.

我希望二进制文件引发一个信号,我在二进制文件中定义了一个处理程序.我gdb-multiarch在连接到远程后从内部设置了一个断点.但是,当信号出现时,断点不会在gdb-multiarch上命中.相反,在运行二进制文件的终端上,我得到一条消息:

[1]     + 8388 suspended (signal)  qemu-aarch64-static -g 6566 ./testbinary
Run Code Online (Sandbox Code Playgroud)

为什么会这样?如何在处理程序上设置断点并对其进行调试?我尝试过SIGCHLD和SIGFPE.

linux gdb signals qemu signal-handling

9
推荐指数
1
解决办法
543
查看次数

qemu + pulseaudio和声音质量差

我正在使用我的gentoo作为主机操作系统用于vv passthrough用于在Windows上播放,但我有声音问题,质量不好,我听到声音中的噼啪声.我在主机操作系统上使用pulseaudio(带--system模式),并尝试了不同的采样率,但没有帮助.我对vm的命令:

qemu-system-x86_64 \
   -vga none \
   -enable-kvm -m 10000 -cpu host -smp 8,cores=4,threads=2,sockets=1 \
   -device ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
   -device vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
   -net nic,macaddr=50:E5:49:57:74:E3 -net bridge,vlan=0 \
   -soundhw hda \
   -boot d \
   -hda /dev/sdb \
   -usb -usbdevice host:09da:000a 
Run Code Online (Sandbox Code Playgroud)

我尝试设置PULSE_LATENCY_MSEC,QEMU_PA_SAMPLES,但没有帮助.我还检查了客户虚拟机上的live cd,以确定它是否不是Windows问题,但结果是一样的.我也试过设置-soundhw ac97,但是在Windows 10上没有官方支持ac97,我有一些声音延迟,但干扰较少.

我的音频是:

00:1f.3 Audio device [0403]: Intel Corporation Sunrise Point-H HD Audio [8086:a170] (rev 31) (snd_hda_intel on msi z170a m7),
Run Code Online (Sandbox Code Playgroud)

以及qemu和pulseaudio的版本:

QEMU emulator version 2.3.0, Copyright (c) 2003-2008 Fabrice Bellard
pulseaudio 5.0
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮忙吗?

kvm qemu gentoo pulseaudio

9
推荐指数
1
解决办法
2万
查看次数

qemu-system-arm -redir 无效选项

尝试按照https://azeria-labs.com/emulate-raspberry-pi-with-qemu/设置实验室。以下命令出现错误

qemu-system-arm -kernel '/root/Documents/Raspbian qemu/qemu-rpi-kernel-master/kernel-qemu-4.4.34-jessie' -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda '/root/Documents/Raspbian qemu/2017-04-10-raspbian-jessie.img' -redir tcp:5022::22 -no-reboot

qemu-system-arm: -redir: invalid option
Run Code Online (Sandbox Code Playgroud)

linux arm qemu emulation raspberry-pi

9
推荐指数
1
解决办法
6014
查看次数

使用套接字网络后端创建 QEMU 桥接器

我正在尝试使用套接字网络和名为 Scapy 的 Python 库的组合在我的主机中创建一个接口的桥接器,就像 Virtualbox 和 VMWare 的桥接适配器一样,在 Windows 操作系统或Unix 操作系统上的 libpcap 幕后)。这是我创建的桥接脚本,用于将socketQEMU的网络后端创建的 VLAN 连接到外部接口:

import argparse
import scapy
import threading
import socket
import struct
import scapy.sendrecv
import scapy.packet
import scapy.config
import scapy.layers.l2

MAX_PACKET_SIZE = 65535

send_lock = threading.Lock()
qemu_senders = set()
iface_senders = set()


def qemu_in_iface_out_traffic_thread_func(iface, mcast_addr, mcast_port, local_addr):
    global MAX_PACKET_SIZE
    global send_lock
    global qemu_senders
    global iface_senders

    # Create the multicast listen socket.
    listener_addr = (local_addr, mcast_port)
    sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    sock.bind(listener_addr)
    mcast_group …
Run Code Online (Sandbox Code Playgroud)

python networking lan qemu virtual-machine

9
推荐指数
0
解决办法
596
查看次数

PowerPC仿真:Qemu,PearPC或......?

我目前正在尝试构建一个配置来测试Big-Endian系统上的一些代码.

通过聊天和研究,我一直相信这些测试的一个好目标是PowerPC架构.由于我没有自己的,并且不希望很快就能直接访问,我正在寻找某种仿真软件来测试我的代码.

问题是,我发现在这方面没有"易于使用"的解决方案.

似乎至少有两种可能的解决方案,一种使用QEMU,另一种使用PearPC.它们都不容易部署.

我看到它的方式:

我想要像部署VMWare虚拟机一样简单,只需一个简单的ghost VM即可使用和下载.

附加信息:我认为PowerPC上的Linux可能是更好的操作系统选择,因为模拟MAC环境可能会破坏许可证.我猜QEMU也比PearPC更新,更受支持.主机系统可以是Windows或Linux.主机CPU必须是x86.

qemu powerpc emulation

8
推荐指数
2
解决办法
1万
查看次数

如何通过VNC使用Android模拟器

我想通过VNC访问Android模拟器,让人们测试我的应用程序.

到目前为止,我可以使用以下命令启动Android模拟器:

emulator -avd ice -verbose -qemu -vnc :2
Run Code Online (Sandbox Code Playgroud)

我也可以在端口连接它,5902但我不能做任何输入,我不知道如何将我的鼠标转发到qemu.

android vnc qemu android-emulator

8
推荐指数
1
解决办法
7285
查看次数

-qemu中的serial pty,如何打开?

我正在运行 qemu

-串行 pty

选项,qemu 给出了这个消息

字符设备重定向到/dev/pts/1

但是,它不会生成新窗口,我可以cat从不同的窗口对 pts1 执行操作,但随后我无法向其中输入任何字符。

无论如何,你可以启动一个具有特定点数的新 xterm 吗?

serial-port qemu pts xterm pty

8
推荐指数
1
解决办法
7357
查看次数

如何在没有用户干预的情况下执行裸机程序后干净地退出QEMU?

我正在为ARM系统组装一个交叉编译单元测试装置,并在主机上运行测试qemu-system-arm.具体来说,我使用qemu来模拟Stellaris LM3S6965评估板,因为它包含像我的目标环境一样的Cortex M3处理器.qemu中的二进制运行是使用GNU Tools for ARM构建的.

没有涉及操作系统.测试套件作为裸机应用程序运行,-nographic模式为qemu .工具链和测试台本身工作正常.测试成功完成并在qemu内生成测试结果也很好.

问题在于将qemu包装在自动构建工具中(在本例中为Rake).除了键盘命令之外,我还没有找到一个好方法让qemu在测试套件运行后退出并吐出结果.这会导致构建环境挂起/依赖于用户干预.

我看起来高低,并没有找到关于如何在程序终止后完成简单退出的好资料.我确实找到了一些使用该-no-reboot选项运行qemu的建议,然后从模拟器中运行的程序触发系统重置.我试过这个.它有效......有点儿.我在main()执行后将适当的值写入模拟处理器的复位向量,这确实触发了复位.运行测试套件后qemu报告系统重置.但是,它将此报告为硬件错误,转储寄存器内容,然后退出生气(下面的错误消息).虽然这确实在测试套件运行后完成了退出,然后由于qemu退出并出现错误情况,它会中断自动构建脚本.

qemu: hardware error: System reset
Run Code Online (Sandbox Code Playgroud)

我想避免黑客将键盘命令插入到构建中以模拟用户干预.我还想避免依赖qemu退出错误状态.

我似乎接近一个干净的出口,但不是那里.搜索qemu错误消息(上面)除了切线相关的错误报告之外没有产生任何相关文档.

有没有一种机制可以让main()我在缺少的裸机程序中返回后退出qemu ?这个-no-reboot+系统重置策略会起作用吗?如果是这样,还有什么必要让qemu干净利落?

unit-testing arm qemu bare-metal

8
推荐指数
2
解决办法
2935
查看次数