`
feixf1974
  • 浏览: 42010 次
  • 来自: ...
社区版块
存档分类
最新评论

使用QEMU仿真ARM Linux系统

阅读更多

使用方法,网上有很多文章可以参考:
http://www.aurel32.net/info/debian_arm_qemu.php
http://qemu-forum.ipi.fi/viewtopic.php?p=11353
http://jun7903.blog.sohu.com/rss
http://en.opensuse.org/MicroSUSE_System_Builder%27s_Guide

创建一个虚拟硬盘
$ qemu-img create -f qcow hda.img 10G

创建文件系统
sudo dd if=/dev/zero of=rootfs.img bs=1M count=100
sudo mkfs.ext2 -N 512 rootfs.img


安装Linux系统
$ qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram"


运行Linux系统
$ qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-6-versatile -initrd initrd.img-2.6.18-6-versatile -hda hda.img -append "root=/dev/sda1"


qemu-system-arm -kernel zImage.integrator -initrd arm_root.img -nographic -append "console=ttyAMA0"


qemu-system-arm -kernel <path to the kernel image>/zImage-<kernel version>-qemu-arm -initrd ususe.img -nographic -append console=ttyAMA0

Framebuffer console:

qemu-system-arm -kernel <path to the kernel image>/zImage-<kernel version>-qemu-arm -initrd ususe.img -append console=tty1



转载示例
先安装Qemu,因为sdl很难搞定.linux建议下载qemu-0.8.2-i386.tar.gz,在根目录下解压即可,自动安装到bin.
创建模拟盘
sudo qemu-img create -f qcow hda.img 1G
下载kernel
sudo wget http://people.debian.org/~aurel32/arm-versatile/vmlinuz-2.6.18-2-versatile
sudo wget http://people.debian.org/~aurel32/arm-versatile/initrd.img-2.6.18-2-versatile
下载initrd安装文件
sudo wget http://ftp.nl.debian.org/debian/dists/testing/main/installer-arm/rc1/images/rpc/netboot/initrd.gz
安装Debian Etch(在桌面环境下)
sudo qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-2-versatile -initrd initrd.gz -hda hda.img -append "root=/dev/ram"
跳过安装
运行(在桌面环境下)
sudo qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.18-2-versatile -initrd initrd.img-2.6.18-2-versatile -hda hda.img -append "root=/dev/sda1"
出现login之后退出
安装相应的内核
sudo apt-get install initramfs-tools
sudo wget http://people.debian.org/~aurel32/arm-versatile/linux-image-2.6.18-2-versatile_2.6.18-5+versatile_arm.deb
sudo dpkg -i linux-image-2.6.18-2-versatile_2.6.18-5+versatile_arm.deb
然后重新运行qemu
进入命令行,输入dmeg出现 arm的提示就ok





如下是qemu-system-arm的帮助文件:
QEMU PC emulator version 0.9.0, Copyright (c) 2003-2007 Fabrice Bellard
usage: qemu [options] [disk_image]

'disk_image' is a raw hard image image for IDE hard disk 0

Standard options:
-M machine select emulated machine (-M ? for list)
-fda/-fdb file use 'file' as floppy disk 0/1 image
-hda/-hdb file use 'file' as IDE hard disk 0/1 image
-hdc/-hdd file use 'file' as IDE hard disk 2/3 image
-cdrom file use 'file' as IDE cdrom image (cdrom is ide1 master)
-boot [a|c|d|n] boot on floppy (a), hard disk (c), CD-ROM (d), or network (n)
-snapshot write to temporary files instead of disk image files
-no-quit disable SDL window close capability
-m megs set virtual RAM size to megs MB [default=128]
-smp n set the number of CPUs to 'n' [default=1]
-nographic disable graphical output and redirect serial I/Os to console
-k language use keyboard layout (for example "fr" for French)
-localtime set the real time clock to local time [default=utc]
-full-screen start in full screen
-usb enable the USB driver (will be the default soon)
-usbdevice name add the host or guest USB device 'name'

Network options:
-net nic[,vlan=n][,macaddr=addr][,model=type]
create a new Network Interface Card and connect it to VLAN 'n'
-net user[,vlan=n][,hostname=host]
connect the user mode network stack to VLAN 'n' and send
hostname 'host' to DHCP clients
-net tap[,vlan=n][,fd=h][,ifname=name][,script=file]
connect the host TAP network interface to VLAN 'n' and use
the network script 'file' (default=/etc/qemu-ifup);
use 'script=no' to disable script execution;
use 'fd=h' to connect to an already opened TAP interface
-net socket[,vlan=n][,fd=h][,listen=[host]:port][,connect=host:port]
connect the vlan 'n' to another VLAN using a socket connection
-net socket[,vlan=n][,fd=h][,mcast=maddr:port]
connect the vlan 'n' to multicast maddr and port
-net none use it alone to have zero network devices; if no -net option
is provided, the default is '-net nic -net user'

-tftp prefix allow tftp access to files starting with prefix [-net user]
-smb dir allow SMB access to files in 'dir' [-net user]
-redir [tcp|udp]:host-port:[guest-host]:guest-port
redirect TCP or UDP connections from host to guest [-net user]

Linux boot specific:
-kernel bzImage use 'bzImage' as kernel image
-append cmdline use 'cmdline' as kernel command line
-initrd file use 'file' as initial ram disk

Debug/Expert options:
-monitor dev redirect the monitor to char device 'dev'
-serial dev redirect the serial port to char device 'dev'
-parallel dev redirect the parallel port to char device 'dev'
-pidfile file Write PID to 'file'
-S freeze CPU at startup (use 'c' to start execution)
-s wait gdb connection to port 1234
-p port change gdb connection port
-d item1,... output log to /tmp/qemu.log (use -d ? for a list of log items)
-hdachs c,h,s[,t] force hard disk 0 physical geometry and the optional BIOS
translation (t=none or lba) (usually qemu can guess them)
-L path set the directory for the BIOS, VGA BIOS and keymaps
-no-reboot exit instead of rebooting
-loadvm file start right away with a saved state (loadvm in monitor)
-vnc display start a VNC server on display
-daemonize daemonize QEMU after initializing
-option-rom rom load a file, rom, into the option ROM space

During emulation, the following keys are useful:
ctrl-alt-f toggle full screen
ctrl-alt-n switch to virtual console 'n'
ctrl-alt toggle mouse and keyboard grab

When using -nographic, press 'ctrl-a h' to get some help.

 

分享到:
评论

相关推荐

    Qemu-windows.rar_qemu_qemu arm windows_qemu arm 仿真_qemu windows

    2. "使用 QEMU 进行系统仿真的.htm"和"使用QEMU仿真ARM Linux系统 - Eu-Linux - 阿炳哥的Linux田地.htm"是两个HTML文档,很可能提供了详细的Qemu使用教程,包括如何设置和运行系统仿真,特别是针对ARM Linux的配置。...

    使用QEMU搭建U-boot+linux+NFS开发环境.zip

    通过NFS,开发主机可以作为服务器,提供Linux内核、文件系统和其他资源给QEMU模拟的客体系统。这种方法的优点在于,任何对文件系统的修改都会立即反映在主机上,无需每次更新后重新编译和部署。 以下是搭建步骤: ...

    qemu arm仿真

    qemu仿真arm A9 linux内核,支持uboot启动内核,支持网络DHCP协议,支持telnet连接,支持FTP协议。 双击sim_uboot.bat即可启动仿真,需要安装TAP虚拟网卡支持。如果qemu安装位置不同,需要简单修改下qemu路径即可。

    qemu x86_vesa仿真

    当使用QEMU仿真Linux 4.11内核时,我们需要确保QEMU配置正确地指定了VESA图形模式。这通常通过在命令行参数中包含`-vga std`或`-vga vesa`来实现,这会告诉QEMU使用VESA兼容的图形适配器。同时,我们还需要确保QEMU...

    ARM嵌入式Linux系统开发技术详解—随书光盘

    《ARM嵌入式Linux系统开发技术详解》一书的随书光盘包含了丰富的资源,旨在帮助读者深入理解和实践ARM架构下的嵌入式Linux系统开发。光盘内容主要围绕以下几个核心知识点展开: 1. **ARM架构**:ARM是Advanced RISC...

    Linux 主机上 QEMU 仿真器的嵌入式编码器接口:Linux 主机上 QEMU 仿真器的嵌入式编码器接口-matlab开发

    ARM Cortex-A 和 ARM Cortex-M 的 Embedded Coder 目标可以与 QEMU 一起使用,但需要进行一些修改。 基本上,这个包提供了 QEMU 目标的原始文件和 ARM Cortex-A 和 ARM Cortex-M 目标的一些修改文件。 在文件中...

    QEMU+树莓派3B调试Linux-设备树以及原版内核文件

    通过QEMU,开发者可以在不实际拥有硬件的情况下,测试和调试针对不同架构(如ARM架构)的操作系统和应用程序。这对于树莓派这样的嵌入式设备尤其有用,因为它允许我们在个人电脑上进行快速而便捷的开发和调试。 ...

    arm-linux开发环境搭建

    这个过程可能涉及硬件仿真、交叉编译工具链、操作系统移植以及开发工具的配置等多方面内容。以下将详细讲解这个过程。 1. **交叉编译工具链**: 在PC上编写和调试代码,然后通过交叉编译工具链生成适用于ARM处理器...

    build-Linux-ARM-Executables.rar_linux arm_linux arm镜像

    8. **测试和调试**:最后,通过仿真器(如QEMU)或实际硬件设备测试可执行文件,确保其在目标环境中正常工作。如果遇到问题,可以使用GDB等调试工具进行调试。 在“build Linux ARM Executables.pdf”文档中,应...

    qemu仿integratorcp开发板(arm) .pdf

    本项目旨在通过QEMU模拟器实现对ARM架构下的integratorcp开发板的仿真,以便于进行嵌入式系统及驱动程序的开发工作。由于实际硬件资源有限,无法为每位开发人员提供真实的开发板,因此采用QEMU作为替代方案,可以在...

    linux-QEMU-基于imx6ull

    【Linux QEMU 基于 imx6ull 的仿真指南】 在进行嵌入式系统开发时,有时我们可能没有实际的开发板可用,这时就可以利用 QEMU(Quick Emulator)来模拟硬件环境。QEMU 是一个强大的开源模拟器,能够模拟多种处理器...

    Ubuntu-for-Arm根文件系统制作.doc

    Ubuntu-for-Arm根文件系统制作 Ubuntu-for-Arm 根文件系统制作是指使用 rootstock 工具创建一个 Ubuntu 根文件系统的过程...同时,使用 qemu 模拟器和 SPICE 软件可以在仿真环境中访问文件系统,并实现远程桌面协议。

    嵌入式设计及Linux驱动开发指南:基于ARM9处理器_0.rar

    嵌入式设计与Linux驱动开发是现代电子设备和物联网(IoT)系统中的核心环节,尤其是在基于ARM9处理器的平台上。ARM9是一个广泛使用的微处理器架构,以其高效能和低功耗特性受到青睐,适用于各种嵌入式应用,如移动...

    qemu-0.10.5

    QEMU 0.10.5是该软件的一个早期版本,发布于2007年,当时QEMU正逐渐成为开发者和系统管理员的必备工具,因为它提供了对多种处理器架构的仿真,包括x86、ARM、MIPS等。这个版本可能包含了对当时最新Linux内核版本的...

    Qemu开发者在USENIX上发表的设计论文

    1. **全系统仿真**:在这种模式下,QEMU可以完全模拟一个虚拟机环境,在其中运行未经修改的目标操作系统(例如Windows或Linux),以及所有的应用程序。这使得用户能够在不同的硬件平台上体验和测试相同的操作系统...

    qemu-0.11.1

    使用QEMU虚拟机对于开发者、测试人员以及系统管理员来说非常有价值,因为它允许他们在单一的物理机器上运行多个独立的虚拟环境,进行系统测试、应用开发、故障排查等工作,而无需实际的硬件资源。然而,对于个人用户...

    qemu-new.rar_qemu

    4. **多平台支持**:QEMU支持多种处理器架构,如x86、ARM、MIPS、PowerPC等,以及各种操作系统,包括但不限于Linux、Windows、FreeBSD、OpenBSD等。 5. **网络模拟**:QEMU可以模拟网络设备和网络环境,如网卡、...

    嵌入式Linux系统教学PPT

    嵌入式Linux系统教学PPT是针对《ARM 11嵌入式Linux系统实践与应用》这本教材的配套教学资源,旨在帮助学生和开发者深入理解嵌入式系统的原理和应用,特别是基于ARM 11架构的Linux系统。在本教学PPT中,将涵盖以下几...

Global site tag (gtag.js) - Google Analytics