Create network for the QEMU

Enable uml-utilities

$ sudo apt-get install uml-utilities
 

Edit /etc/qemu-ifup

 

QEMU 會在 host 的 /etc 中建立一個叫做 qemu-ifup 的檔案,當 QEMU 執行並指定要使用網路時, QEMU 會先執行這個 script ,我們可以用這個檔案來調整 QEMU 的網路設定。

由於目前只需要將 target 連至 host ,還不需要讓 target 能夠連到 host 的對外網路,因此我們只需要將 QEMU 的虛擬網卡設定好即可[#]_。

新增 /etc/qemu-ifup :

#!/bin/sh

/sbin/ifconfig $1 192.168.1.1 promisc up

 

並且把 qemu-ifup 改成可執行的 shell script

$  sudo chmod u+x /etc/qemu-ifup
 

這樣在 QEMU 啟動時就可以把 QEMU 要使用的網卡設定好 IP 。

[2] 設定好虛擬網卡只是讓它能夠連結到 host 端的網卡,若要讓虛擬網卡的訊號傳遞到 host 外部的網路,則需要設定 host 端網卡,使其具有 routing 的功能。
 

Start kernel virtual network adaptor support

 
 sudo modprobe tun
 

Start QEMU with virtual network card

 
sudo <QEMU>/arm-softmmu/qemu-system-arm \
-kernel zImage \
-initrd initramfs \
-net nic -net tap \
-nographic \
-append "console=ttyAMA0"
 

Configure network

# busybox ifconfig eth0 192.168.1.2

# busybox route add default gw 192.168.1.1

 

Start httpd

 # busybox httpd -p 80 -h /www
 
 
You should put at least an index.html under the /www directory in your initramfs.
 
 
Comments