标签: qemu

模拟处理器(有限)资源,包括时钟速度

我想要一个软件环境,我可以使用特定资源在硬件上测试我的软件速度.例如,当我的主机硬件是带有12GB内存的3GHz四核amd64时,这个程序在带有24 Mb RAM的800MHz x86上运行的速度有多快?像qemu这样的仿真器可以像"底层硬件"一样"快速"运行.我想让它运行得慢一些.有没有办法做到这一点?

performance qemu emulation virtual-machine

10
推荐指数
1
解决办法
2860
查看次数

修改Android模拟器源代码

我想修改qemu源代码以从Android模拟器获取一些较低级别的信息.

我在哪里可以获得Android模拟器源代码?(我假设源代码也可能包含qemu源代码)

提前致谢

android qemu android-emulator

10
推荐指数
1
解决办法
9835
查看次数

QEMU CPU仿真原理

在QEMU中,操作系统可以在软件模拟CPU之上运行.如何通过软件模拟CPU?我想知道细节.

如果CPU是由软件模拟的,寄存器是用主机系统内存模拟的吗?说有ARM汇编代码

LDRB r0,[r1],#1

如何在x86环境中模拟?我的猜测是仿真软件为r0(4byte),r1(4byte)保留内存映射空间,然后更新相应内存位置的寄存器值...我错了吗?我想详细说明......

先感谢您

linux qemu emulation

10
推荐指数
1
解决办法
1469
查看次数

在Windows上的VirtualBox上运行的Ubuntu上启用kvm

我有一台带有Intel CPU的Windows机器(启动菜单上启用了VMX).我正在使用VirtualBox运行Ubuntu Guest.我正在运行qemu以运行另一个客户操作系统,使用kvm(-enable-kvm选项).

尝试插入kvm-intel模块时出现以下错误:

FATAL: Error inserting kvm_intel (/lib/modules/2.6.20-ARCH/kernel/drivers/kvm/kvm-intel.ko): Operation not supported
Run Code Online (Sandbox Code Playgroud)

我在客户操作系统中检查了vmx标志,我也没看到

$ grep vmx /proc/cpuinfo
$
Run Code Online (Sandbox Code Playgroud)

无论如何在客户端Ubuntu操作系统中启用kvm支持,以便我可以在Ubuntu客户机上运行支持kvm的qemu?

virtualization virtualbox kvm qemu

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

如何在Docker容器中运行emulator64-arm?

我试图在Docker容器中运行emulator64-arm,但它报告:

$ emulator64-arm -avd t2 -no-window -no-accel -gpu off
qemu: could not open disk image /home/testuser/.android/avd/t2.avd/sdcard.img: Interrupted system cal
Run Code Online (Sandbox Code Playgroud)

我认为qemu-aarch64应该是一个纯粹的软件模拟器,没有任何花哨的东西,但我错了.我也尝试启动容器,--privileged但仍然没有运气.

在我的情况下,我们需要为我们的Android APK运行一些冒烟测试,速度并不重要,但Android-X86不是一个选项.

android arm qemu android-emulator docker

10
推荐指数
1
解决办法
520
查看次数

如何确定 Docker 容器(在 M1 MacBook 上)何时通过 qemu 运行?

已经提到,当在 M1 Mac 上使用 x86_64 Docker 镜像时,当没有可用的 ARM64 镜像时,该容器将在qemu仿真下启动以实现兼容性。(以性能为代价。)

很多时候,当我运行一组容器(以及针对该批次的集成测试)时,我会看到qemu-system-aarch64一些核心。

我的问题:对于给定的运行容器列表(即docker ps),我如何确定哪些是本机运行的,哪些是被模拟的?

macos qemu docker apple-silicon

10
推荐指数
1
解决办法
1121
查看次数

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
查看次数

为什么 macos(x86) 可以运行 docker arm 容器 arm64v8/alpine?

我碰巧发现在我的 macos(x86) 上可以为 arm 图像 arm64v8/alpine 运行 docker 容器,但有警告,见下文

docker run -it arm64v8/alpine uname -a

警告:请求的映像平台 (linux/arm64) 与检测到的主机平台 (linux/amd64) 不匹配,并且未请求特定平台 Linux d5509c57dd24 4.19.121-linuxkit #1 SMP Tue Dec 1 17:50:32 UTC 2020 aarch64 Linux

而且我很确定该图像不是多架构图像(docker manifest inspect --verbose arm64v8/alpine)。为什么 x86 可以运行 arm 容器?

提前致谢

qemu emulation linux-kernel docker

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