Wie aktiviere ich ein Netzwerk mit einem auf qemu emulierten Himbeer-Pi?

9

Ich versuche einen Himbeer-Pi auf meinem Ubuntu 13.04 zu emulieren. Ich habe qemu installiert und es funktioniert bis auf das Netzwerk gut.

Ich habe dieses Verfahren befolgt . Auf der virtuellen Maschine /etc/network/interfacesieht die Datei folgendermaßen aus

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static

address 192.168.20.106  # your IP  
gateway 192.168.20.1     # IP of the Router
netmask 255.255.255.0   # Network mask

Ich starte Qemu so sudo qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -append "root=/dev/sda2" -hda 2013-09-25-wheezy-raspbian.img -kernel kernel-qemu -redir tcp:5022::22.

Wenn ich auf Ubuntu a mache ifconfig, habe ich folgendes Ergebnis:

br0   Link encap:Ethernet  HWaddr 8e:0f:b1:ad:1c:18  
      inet adr:10.10.10.2  Bcast:10.255.255.255  Masque:255.0.0.0
      adr inet6: fe80::8c0f:b1ff:fead:1c18/64 Scope:Lien
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      Packets reçus:8 erreurs:0 :8 overruns:0 frame:0
      TX packets:26 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:0 
      Octets reçus:792 (792.0 B) Octets transmis:5092 (5.0 KB)

eth0  Link encap:Ethernet  HWaddr 90:2b:34:39:b4:1d  
      UP BROADCAST MULTICAST  MTU:1500  Metric:1
      Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:1000 
      Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)

lo    Link encap:Boucle locale  
      inet adr:127.0.0.1  Masque:255.0.0.0
      adr inet6: ::1/128 Scope:Hôte
      UP LOOPBACK RUNNING  MTU:65536  Metric:1
      Packets reçus:12770 erreurs:0 :0 overruns:0 frame:0
      TX packets:12770 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 lg file transmission:0 
      Octets reçus:2121321 (2.1 MB) Octets transmis:2121321 (2.1 MB)

wlan1 Link encap:Ethernet  HWaddr ac:f1:df:79:01:80  
      inet adr:192.168.20.106  Bcast:192.168.20.255  Masque:255.255.255.0
      adr inet6: fe80::aef1:dfff:fe79:180/64 Scope:Lien
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      Packets reçus:5283 erreurs:0 :48 overruns:0 frame:0
      TX packets:5252 errors:0 dropped:5 overruns:0 carrier:0
      collisions:0 lg file transmission:1000 
      Octets reçus:2806386 (2.8 MB) Octets transmis:1461531 (1.4 MB)

Funktioniert auf der virtuellen Maschine, ping 192.168.20.106da es sich um die lokale Adresse handelt, ping 192.168.20.1funktioniert jedoch nicht. Ich habe auch versucht, eine andere Adresse für reale und virtuelle Maschinen festzulegen.

Was kann ich tun?

Dougui
quelle
Es wäre brillant zu dokumentieren, wie diese Arbeit irgendwo funktioniert. Ich versuche, dasselbe mit einer neueren QEMU- und Raspbian-Distribution zum Laufen zu bringen, ohne bisher Freude zu haben. Leider ist der obige Link tot (und nicht in der Wayback-Maschine) und neuere Versionen von QEMU haben die -redirOption abgelehnt .
Tom

Antworten:

5

Es wäre schön, die Ausgabe auch ifconfigauf Ihrer virtuellen Maschine zu sehen.

Laut http://en.wikibooks.org/wiki/QEMU/Networking mit den von Ihnen angegebenen Optionen sollten Sie NAT mit einem virtuellen DHCP-Server erhalten, nicht direkt mit Ihrem lokalen IP-Netzwerk, also Ihren fest codierten IP-Adressen würde wahrscheinlich nicht funktionieren. Versuchen:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp

Starten Sie neu oder verwenden Sie ifdown/, ifupum neu zu konfigurieren eth0und festzustellen, ob der virtuelle DHCP-Server gefunden wird. ifconfigund route -nsollte Ihnen sagen, ob es funktioniert hat - Sie haben eine lokale IP und eine Gateway-Route.

Angenommen, es hat funktioniert, sollten Sie in der Lage sein, sshvon Ihrem Host zu Ihrer VM zu gelangen, indem Sie:

ssh -p 5022 localhost

weil dieser Port durch die -redirKlausel in Ihrer Befehlszeile eingerichtet wird.

Greg
quelle