Articles of qemu

linux:在qemu中运行自编译的内核:VFS:无法在未知的wn-block(0,0)上挂载根fs

我试图让这个跑步,不知道我做错了什么。 我已经创build了一个Debian.img(原始格式的虚拟设备pipe理器的磁盘 – gui libvirt我猜)和安装debian没有麻烦。 现在我想用一个自编译的内核来运行它。 我从我的工作(虚拟)debian复制.config文件,并没有做任何更改。 这就是我所做的: qemu-system-x86_64 -m 1024M -kernel /path/to/bzImage -hda /var/lib/libvirt/images/Debian.img -append "root=/dev/sda1 console=ttyS0" -enable-kvm -nographic 但是在启动时我总是得到这个错误信息。 [ 0.195285] Initializing network drop monitor service [ 0.196177] List of all partitions: [ 0.196641] No filesystem could mount root, tried: [ 0.197292] Kernel panic – not syncing: VFS: Unable to mount root fs […]

如何使用DDD进行本地Qemu虚拟机的内核debugging?

我想使用GNU DDD (gdb graphic shell)来debuggingLinux内核,它正在qemu中运行(在一些发行版中)。 我在Qemu之外有vmlinux镜像,用-s -S启动Qemu,所以它的行为就像gdbserver(在启动时停止并等待debugging命令)。 现在,如何使用本地vmlinux映像将DDD连接到该gdbserver? 我应该打开图像并告诉gdb'target remote'吗?

QEMU和KVM问题

我试图安装qemu,但是我应该首先安装kvm,并且检查了我的cpu支持虚拟化,所以我不知道为什么。 这是我inputkvm时的错误。 open /dev/kvm: No such file or directory Could not initialize KVM, will disable KVM support qemu的新窗口出来了,但启动失败….无法读取启动盘,无法从CDROM读取(代码0003) 我能做什么?

让两个Linux(虚拟)盒子通过串口通话

什么是最好的方式来设置一个Linux机器来监听其串行端口的传入连接? 我做了大量的Googlesearch,但是我找不到正确的命令组合来让他们说话! 我的主要目标是提供一个串行接口来运行kvm / qemu虚拟机的实例。 他们目前只有一个VNC接口(他们在无头的服务器上,没有X)。 我可以通过使用-serial file:标志启动虚拟机来创build一个串行设备,但是如何与之交谈则是另外一个问题。 两个盒子都运行Ubuntu 8.04。

修补和编译Ext4作为内核模块

我目前正在修补Ext4作为学术用途(只有linux / fs / ext4 / *,比如file.c,ioctl.c,ext4.h)。 我正在开发QEMU虚拟机,并加速我selectExt4作为内核模块进行编译的整个过程。 问题出现在testing新的更改时,因为即使运行make modules ARCH=x86 && make modules_install ARCH=x86并重新引导计算机(/是Ext4),除非重新编译整个内核,否则它们是不可见的。 这有点奇怪,因为我有各种各样的标志,Ext4已被编译为一个模块: 它被configuration为: $ grep EXT4 .config CONFIG_EXT4_FS=m 它编译为一个模块: $ make modules ARCH=x86 (…) CC [M] fs/ext4/ioctl.o LD [M] fs/ext4/ext4.o Building modules, stage 2. MODPOST 3 modules LD [M] fs/ext4/ext4.ko $ make modules_install ARCH=x86 ,/lib/modules/3.13.3/kernel/fs/中的文件具有适当的时间戳记。 最后: $ lsmod Module Size Used […]

QEMU是否适合在ARM和PowerPC的汇编程序中学习编程?

我想学习用汇编语言编写的PowerPC和ARM编程,但我无法为此购买真正的硬件。 我正在考虑使用QEMU。 然而,我不确定它是否足够好地模拟了两种体系结构,我将编译并运行我的程序在本地汇编器上呢?

“(gdb)在qemu仿真arm架构上运行可执行文件时运行”崩溃

这是我的第一个信息,我写信给你,因为这次我不能真的把我从这个问题中解救出来。 我正在经历一个关于gdb的课程。 在后面的课程中,这个课程涵盖了ARM架构的debugging,所以我给出了一个让我模拟这种情况的设置。 我目前的设置是由: Windows 10:物理主机 Ubuntu 12.04.5 LTS:通过Windows 10上的Oracle Virtual Box访客操作系统 Linux debian-armel 2.6.32-5-versatile:在Ubuntu上通过qemu 2.8.0访客操作系统 ARM Debian镜像来自https://people.debian.org/~aurel32/qemu/armel/ 该图像与启动 qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_squeeze_armel_standard.qcow2 -append "root=/dev/sda1" -m 256 -redir tcp:2222::22 我修改了sources.list和apt.conf以允许apt工作,因为de distro相当不合时宜。 我更新和升级并安装了gcc和gdb。 尝试debugging时出现问题:我可以在gdb中加载可执行文件 root@debian-armel:~/video-11/video-11# file ./main ./main: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), […]

内核用户I / O应用程序开发

我已经阅读了关于用户I / O的以下链接: http : //www.hep.by/gnu/kernel/uio-howto/ 并遵循http://nairobi-embedded.org/uio_example.html 。 我正在使用ivshmem设备将内存从主机映射到客户机(在QEmu中)。 我使用的客户端驱动程序是来自https://www.gitorious.org/nahanni/guest-code的 kernel_module / uio / uio_ivshmem.c。 我已经成功地共享了几个guest虚拟机之间的内存,我也可以使用上面的git仓库中的ivshmem-server发出主机到客户机的中断。 但我不知道如何从客人“中断”,注意到写入内存已完成。 即告诉其他客人,它应该读取第一个客人写的东西。 我究竟做错了什么? 有没有办法使用UIO发送中断,或者我只能接收? 还有什么我应该注意到我已经完成了写作/阅读?

在QEMU中,是否可以拦截Linux Guest OS发送/接收的数据包?

我们正在做一个小项目,涉及监控来自hypervisor层(即QEMU)的Guest OS(例如Linux)。 我们要监控的事情之一是进出Guest OS的networkingstream量。 有没有可能这样做,而不修改客户操作系统? 一种方法是拦截在创build套接字时创build的相关系统调用,并在执行指令时从相关寄存器获取值。 但是我们不太确定这是否容易,或者是否正确。

加载内核时QEMU崩溃

我创build了一个C内核,并在QEMU模拟器中加载内核。 但是当我加载内核,它似乎崩溃QEMU,它抱怨说,它不能访问KVM文件夹。 这是否意味着kvm丢失,或者我不是pipe理员; 因为我以root用户身份login。 这里是来自terminal的错误信息: danny@ubuntu:~/Desktop$ sudo qemu -kernel os.bin open /dev/kvm: No such file or directory Could not initialize KVM, will disable KVM support pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin" qemu: fatal: Trying to execute code outside RAM or ROM at 0x000a0000 EAX=00004500 EBX=00000000 ECX=00000000 EDX=00000000 ESI=00000000 EDI=00000000 EBP=00000000 ESP=00009fe0 EIP=0000fdfb EFL=00000002 [——-] CPL=0 […]