搭建qemu arm虚拟机
参考资料
- 官方链接:http://wiki.qemu.org/Documentation/Platforms/ARM
- 相关镜像文件:https://people.debian.org/~aurel32/qemu/armel/
- 参考教程:https://www.aurel32.net/info/debian_arm_qemu.php
搭建步骤
下载文件
wget https://people.debian.org/~aurel32/qemu/armel/debian_squeeze_armel_standard.qcow2
wget https://people.debian.org/~aurel32/qemu/armel/initrd.img-2.6.32-5-versatile
wget https://people.debian.org/~aurel32/qemu/armel/vmlinuz-2.6.32-5-versatile
配置网络
qemu虚拟机默认是内部网卡,外部机器不能直接访问虚拟机。可以将虚拟机网络配置成桥接模式,这样虚拟机在外部看来就是一台真实的网络主机了。
需要在宿主机里配置桥接网络:
- 新建桥接网卡,编辑 /etc/network/interface,增加如下内容:
auto br0 iface br0 inet dhcp bridge_ports eth0 bridge_maxwait 0
- 安装桥接软件:
sudo apt-get install bridge-utils sudo ifdown eth0 sudo ifup br0
- 修改桥接网卡配置,将 /etc/qemu-ifup文件修改成以下内容
#!/bin/sh echo "Executing /etc/qemu-ifup" echo "Bringing up $1 for bridged mode..." sudo /sbin/ifconfig $1 0.0.0.0 promisc up echo "Adding $1 to br0..." sudo /sbin/brctl addif br0 $1 sleep 2
- 新建qemu账号
sudo useradd -m qemu
- 给qemu账号赋予sudo权限,修改/etc/suders文件,增加如下内容
Cmnd_Alias QEMU = /sbin/brctl, /sbin/ifconfig %qemu ALL=NOPASSWD: QEMU
- 开启路由转发功能,编辑/etc/sysctl.conf文件,开启ipv4的转发
net.ipv4.ip_forward = 1
启动虚拟机
qemu-system-arm -nographic -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" -redir tcp:2222::22 -net nic,macaddr=00:16:3e:00:00: 01 -net tap
退出虚拟机
先同时按ctrl+a,再按c键,此时出现qemu 命令行菜单,此时按q,退出qemu