Archiv verlassen und diese Seite im Standarddesign anzeigen : qemu auf Raspberry Pi für FreeDOS-Emulation
Tempo
2019-12-26, 22:32:44
Habe hier einen Raspberry Pi auf dem ich eine FreeDOS-Installation mittels qemu laufen lassen wollte. Soweit klappt es auch ganz gut, nur bekomme ich die Einrichtung des Netzwerkes nicht gebacken. Ich möchte das FreeDOS im gleichen Netzwerk wie meine anderen Geräte zu erreichen ist. Dafür habe ich auf Raspbian eine Netzwerkbrücke eingerichtet. Jetzt fehlen mir nur noch die richtigen qemu-Startbefehle um alles ans laufen zu bekommen.
Der Befehl der früher mal ging:
sudo qemu-system-i386 -curses -m 64 -rtc base=localtime -hda FreeDOS.img -cdrom FD13LIVE.ISO -boot c -net nic,model=pcnet -net tap,vlan=0
geht leider nicht mehr. Hat jemand von Euch eine Idee wie ich das nun bewerkstelligen kann?
sei laut
2019-12-27, 11:38:07
Wie immer gilt: "geht leider nicht" ist keine Fehlermeldung. Aber ich frag mal doof: Hast du die Brücke br0 genannt?
Mach mal "brctl show" auf dem rasbian und poste das Ergebnis.
Die manpage besagt nämlich:
" -net tap[,vlan=n][,name=name][,fd=h][,ifname=name][,script=file][,downscript=dfile][,br=bridge][,helper=helper]
Connect the host TAP network interface name to VLAN n.
Use the network script file to configure it and the network script dfile to deconfigure it. If name is not provided, the OS automatically provides one. The default
network configure script is /etc/qemu-ifup and the default network deconfigure script is /etc/qemu-ifdown. Use script=no or downscript=no to disable script execution.
If running QEMU as an unprivileged user, use the network helper helper to configure the TAP interface and attach it to the bridge. The default network helper
executable is /path/to/qemu-bridge-helper and the default bridge device is br0."
Zumindest auf meinem Ubuntu. Da du keinen Bridge Namen angegeben hast, wird er br0 erwarten.
Tempo
2019-12-27, 19:21:00
Das o.a. Kommando ging damals unter Raspbian Stretch einwandfrei. Deswegen bin ich etwas verwundert, warum es nun nicht mehr geht. Die Netzwerkbrücke hört auf den Namen br0. Habe nun schon alle möglichen Startkommandos probiert, die ich bei Google fand. Leider ohne Erfolg.
Ist vielleicht meine Brücke nicht richtig konfiguriert?!
Die Ausgabe von brctl show lautet:
bridge name bridge id STP enabled interfaces
br0 8000.b827ebdeb664 no eth0
Sieht ja soweit alles richtig aus?!
Meine /etc/network/interfaces sieht folgendermaßen aus:
auto lo
iface lo inet loopback
iface eth0 inet manual
auto br0
iface br0 inet static
address 192.168.2.222
network 192.168.2.0
netmask 255.255.255.0
broadcast 192.168.2.255
gateway 192.168.2.1
dns-search 192.168.2.1
dns-nameservers 192.168.2.1
bridge_ports eth0 tap0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Habe inzwischen echt keine Ahnung mehr was ich machen kann ...
EDIT:
Habe jetzt Raspbian nochmals frisch installiert und die Netzwerkbrücke eingerichtet und danach qemu mitsamt FreeDOS installiert. Leider läuft auf dem Raspberry Pi noch mehrere Docker-Container. Docker erstellt ja auch nochmals eine Netzwerkbrücke docker0. Habe irgendwie den Verdacht, dass Docker meine Netzwerkbrücke br0 stört. Wie kann ich dem ganzen nun auf die Spur kommen und den Fehler finden?
sei laut
2019-12-30, 12:13:53
dein brctl show zeigt den Zustand, während die VM lief? Dann ist dein Problem doch offensichtlich, dein vm client netdev ist nicht an der br0
mach mal ein ip a auf deinem host, während die vm lief. Und ein brctl show.
Tempo
2020-01-02, 21:41:33
Also wenn ich brctl show eingebe während die VM lief, sieht das Ergebnis folgendermaßen aus:
bridge name bridge id STP enabled interfaces
br0 8000.16f633965512 no eth0
tap0
docker0 8000.0242af71cdfa no veth357ccd8
veth4fd0dda
veth6cc6ecd
Die VM (FreeDOS) erkennt dann das QEMU-Netzwerk, doch es kann keine IP zugewiesen werden.
https://i.ibb.co/n7HwjW2/qemu.jpg
Wenn ich die VM dann beende, kommte folgende Meldung:
qemu-system-i386: warning: hub 0 is not connected to host network
Bevor ich Docker installiert habe ging alles einwandfrei?!
Tempo
2020-01-07, 23:11:07
Da ich die parallel laufende Docker-Installation im Verdacht hatte, habe ich mal ein bisschen danach gegooglet und siehe da ein:
sudo iptables -A FORWARD -p all -i br0 -j ACCEPT
löste meine Verbindungsprobleme auf Anhieb!
vBulletin®, Copyright ©2000-2024, Jelsoft Enterprises Ltd.