ubuntu12.04下使用qemu模拟mips处理器安装debian
注:ubuntu是不支持mips处理器的,只能在x86下安装运行
第一步、安装qemu
- sudo apt-get install qemu qemu-system 。
执行 qemu-system-mips --version 发现版本太低,因为后面需要更高版本的qemu。 下载http://wiki.qemu-project.org/download/qemu-2.1.2.tar.bz2,然后解压,执行 make ,这一步执行的时间很长,make完成后执行 make install .
如果之前执行过“sudo apt-get install qemu qemu-system”,请先执行“sudo apt-get remove qemu qemu-system”- 嫌弃时间长的可以直接用下面这个链接,是我制作的deb包,版本是2.12的:http://pan.baidu.com/s/1bnvUvlt
注:没有必要安装KVM,原因如下:QEMU can make use of KVM when running a target architecture that is the same as the host architecture. For instance, when running qemu-system-x86 on an x86 compatible processor, you can take advantage of the KVM acceleration - giving you benefit for your host and your guest system. (摘自http://wiki.qemu.org/KVM)
第二步、使用debian开发人员做好的镜像,其中已经包含了debian的squeeze版。下载地址为http://people.debian.org/~aurel32/qemu/mips/。下载后启动qemu即可使用
Start QEMU with the following arguments for a 64-bit machine: - qemu-system-mips64 -M malta -kernel vmlinux-2.6.32-5-5kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0" - qemu-system-mips64 -M malta -kernel vmlinux-3.2.0-4-5kc-malta -hda debian_wheezy_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0"
这个内容在下载页面的下面有,我下载啦
vmlinux-2.6.32-5-5kc-malta 和 debian_squeeze_mips_standard.qcow2(这个比较大)
下载完成后执行:
qemu-system-mips64 -M malta -kernel vmlinux-2.6.32-5-5kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0"
会启动系统,后面会提示:
user: user(写user即可)
password:user(自己设置)。
这样就设置完成啦。
注意这个窗体会锁住鼠标,使用ctrl+alt 解除鼠标锁定。
关闭QEMU窗体,第二次启动也是使用这个命令:qemu-system-mips64 -M malta -kernel vmlinux-2.6.32-5-5kc-malta -hda debian_squeeze_mips_standard.qcow2 -append "root=/dev/sda1 console=tty0"
第三步:执行gcc 编译mipis架构下的程序
在终端执行gcc, gcc command not found, 执行"sudo apt-get install gcc",提示 "sudo command not found" 无语啦,重新打开QEMU模拟器,在提示输入user:时输入root, password 也输入root,这样就以root身份登入,登入的文件目录是/root/.
然后执行安装apt-get install gcc vim.
安装完成之后,编写一个test.c:
#include <stdio.h> #include <stdlib.h> int main() { printf("Hello World,Qemu Mipis\n"); }
执行 gcc test.c ,生成a.out, 执行得到“Hello World,Qemu Mipis”.