OpenWRT x86 in QEMU ausführen

OpenWRT ist eine Linux Distribution für embedded Geräte. Für Tests bietet es sich an, das System in einer virtuellen Maschine zu starten. In diesem Artikel wird gezeigt wie OpenWRT x86 mit Hilfe von QEMU gebootet werden kann.

Es wird davon ausgegangen, dass QEMU installiert und lauffähig ist. Soll kein eigenes Image erstellt werden, ist auch die Verwendung eines verfügbaren Images möglich. Es kann über den Download-Bereich der OpenWRT-Webseite bezogen werden.

Folgende Dateien wurden getestet und konnten über die hier beschriebene Methode erfolgreich gestartet werden.

Zunächst muss das entsprechende Image heruntergeladen und entpackt werden.

$ wget http://downloads.openwrt.org/attitude_adjustment/12.09/x86/generic/openwrt-x86-generic-combined-ext4.img.gz
$ gunzip openwrt-x86-generic-combined-ext4.img.gz

Anschließend kann es per QEMU gestartet werden

$ qemu-system-i386 -net nic -hda openwrt-x86-kvm_guest-combined-ext4.img -enable-kvm

Es ist auch möglich eine weitere virtuelle Netzwerkkarte hinzuzufügen, die dann als Uplink verwendet werden kann. Dazu muss wie im Beispiel die Bridge br0 existieren, welche zusätzlich in der Datei /etc/qemu/bridge.conf mit folgender Zeile freigegeben wurde.

allow br0

Danach kann QEMU wie folgt gestartet werden und es sollte nun eine weitere Netzwerkkarte mit dem Namen eth1 bereitstehen.

$ qemu-system-i386 -net nic -net nic,vlan=1 -net bridge,br=br0,vlan=1 -hda openwrt-x86-kvm_guest-combined-ext4.img -enable-kvm

Wenn es so scheint, als wenn der Boot-Prozess zum Beispiel mit den folgenden Zeilen hängen geblieben ist, dann sollte zunächst einfach die Enter-Taste gedrückt werden. In der Regel sollte dann die Shell erscheinen.

[...]
via-rhine.c:v1.10-LK1.4.3 2007-03-06 Written by Donald Becker
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
br-lan: port 1(eth0) entering forwarding state

Damit die zweite virtuelle Netzwerkkarte als Uplink verwendet werden kann, muss bei OpenWRT folgender Teil in der Datei /etc/config/network ergänzt werden.

config interface 'wan'
        option ifname 'eth1'
        option proto 'dhcp'

Nach einem Neustart oder der Ausführen des folgenden Befehls sollte der virtuelle Router eine "externe" IP-Adresse per DHCP bezogen haben. War alles Erfolgreich sollte die Installation weiterer Pakete ohne weitere Einstellungen möglich sein.

$ /etc/init.d/network restart

Verwandte Artikel