linux下的arm仿真,使用QEMU仿真ARM Linux系统
使用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 /zImage--qemu-arm -initrd ususe.img -nographic -append console=ttyAMA0
Framebuffer console:
qemu-system-arm -kernel /zImage--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 Bellardusage: qemu [options] [disk_image]'disk_image' is a raw hard image image for IDE hard disk 0Standard 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 diskDebug/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 spaceDuring emulation, the following keys are useful:ctrl-alt-f????? toggle full screenctrl-alt-n????? switch to virtual console 'n'ctrl-alt??????? toggle mouse and keyboard grabWhen using -nographic, press 'ctrl-a h' to get some help.
總結
以上是生活随笔為你收集整理的linux下的arm仿真,使用QEMU仿真ARM Linux系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux qt libs,linux下
- 下一篇: linux 定时器中断 imx,NXP