¿Cómo habilitar la red con una frambuesa pi emulada en qemu?

9

Estoy tratando de emular una frambuesa pi en mi ubuntu 13.04. Instalé qemu y funciona bien, excepto para la red.

Seguí este procedimiento . En la máquina virtual, el archivo se /etc/network/interfaceve así

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

Lanzo qemu así 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.

En ubuntu, cuando hago un ifconfig, tengo este resultado:

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)

en la máquina virtual, ping 192.168.20.106funciona porque es la dirección local pero ping 192.168.20.1no funciona. También intenté establecer una dirección diferente para la máquina real y virtual.

¿Qué puedo hacer?

Dougui
fuente
Documentar cómo hacer que esto funcione en algún lugar sería genial. Estoy tratando de hacer lo mismo trabajando con una distribución más reciente de QEMU y Raspbian, sin alegría hasta ahora. Lamentablemente, el enlace de arriba está inactivo (y no en la máquina wayback) y las versiones más recientes de QEMU han desaprobado la -rediropción.
Tom

Respuestas:

5

Sería bueno ver la salida de ifconfigsu máquina virtual también.

De acuerdo con http://en.wikibooks.org/wiki/QEMU/Networking con las opciones que ha especificado, debe obtener NAT con un servidor DHCP virtual, no un puente directo en su red IP local, por lo que sus direcciones IP codificadas Probablemente no funcionaría. Tratar:

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

reinicie o use ifdown/ ifuppara reconfigurar eth0y ver si encuentra el servidor DHCP virtual. ifconfigy route -ndebería decirle si funcionó: tendrá una IP local y una ruta de puerta de enlace.

Suponiendo que funcionó, debería poder sshdesde su host a su VM utilizando:

ssh -p 5022 localhost

porque ese puerto está configurado por la -redircláusula en su línea de comandos.

Greg
fuente