qemu模拟sparc32

1. $wget http://wiki.qemu-project.org/download/qemu-1.4.1.tar.bz2

2. $tar -xjf qemu-1.4.1.tar.bz2

3. $cd qemu-1.4.1
   $./configure
   #make install
4. $qemu-sparc64 -version
   qemu-sparc64 version 1.4.1, Copyright (c) 2003-2008 Fabrice Bellard

5. 创建磁盘镜像
   $mkdir spark
   $cd spark
   $qemu-img create -f qcow hda.img 40G
   由于采用了qcow格式,所有非空的扇区才被写入文件中。所以,磁盘文件比较小。
   $du -h hda.img

6. 获取spark内核的镜像
   目前对最新的debian的支持有问题。
   //The last Debian release to support sparc32 (sun4m) was Etch (4.0)
   $http://cdimage.debian.org/cdimage/archive/4.0_r9/sparc/iso-cd/debian-40r9-sparc-netinst.iso
7. 安装debian
   $qemu-system-sparc -hda hda.img -cdrom debian-40r9-sparc-netinst.iso -boot d
   其中boot 选项指定从 CD-ROM 引导。参数 d 指定从 CD-ROM 引导,其中 a 指定从软盘引导,c
   指定从硬盘引导(默认),而 n 指定从网络引导。
 
8. 启动系统
   $qemu-system-sparc -hda hda.img  -boot c

9. 配置网络

   - 确保主机内核已经配置了CONFIG_TUN
     $grep CONFIG_TUN /boot/config-`uname -r`   
      # CONFIG_TUN=m / CONFIG_TUN=y
   - 加载tun模块
     #modprobe tun
   - 确保主机内核配置了CONFIG_BRIDGE

   - 修改主机的网络配置文件/etc/network/interfaces

静态配置:
auto br0
iface   br0     inet    static
address 192.168.2.254
network 192.168.2.0
netmask 255.255.255.0
broadcast       192.168.2.255
gateway         192.168.2.1
bridge_ports    eth0

动态配置:
auto br0
iface   br0     inet    dhcp
bridge_ports    eth0
bridge_maxwait  0
    
   - 安装必须的工具
     # apt-get install bridge-utils
   - 重新启动网络
     #/etc/init.d/networking restart
   - 创建脚本/etc/qemu-ifup,在qemu启动时自动执行

#!/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 /usr/sbin/brctl addif br0 $1
sleep 2

    实际上是将tap0添加到br0(桥接,可以认为是多个端口的一个hub)中。
      
10. 启动qemu

    #qemu-system-sparc -hda hda.img -net nic,macaddr=00:16:3e:00:00:01 -net tap
   
11. 在qemu中配置网络

   #ifconfig eth1 192.168.1.123 up
   //根据host中br0的ip配置,我的为br0 192.168.1.101

   ping host
   #ping 192.168.1.101

   从host上ping qemu
   #ping 192.168.1.123
 
   如果配置正常,就可以相互访问了。

12. qemu连接外网
   
    - 设置host
      开启host的转发功能,确保/proc/sys/net/ipv4/ip_forward的值为1
    - ???什么作用???
      #iptables -t nat -A POSTROUTING -j MASQUERADE
       
    - 这时已经可以ping外网的ip了。
      #ping 119.75.217.56
    - 配置域名解析
      将host下的/etc/resolv.conf中的内容写到qemu虚拟机的/etc/resolv.conf中。
      此时,可以ping外网的域名了。

      #ping www.baidu.com


13. 如果需要安装其他软件可以从debian-40r9-sparc-netinst.iso中的pool中拷贝安装。

     #mount -o loop debian-40r9-sparc-netinst.iso /mnt

   

 

你可能感兴趣的:(qemu)