Hallo, versuche grade unter XP mit qemu eine Emulation vom Mini2440 mit arm Prozessor hin zu bekommen. Gibst da irgentwo ne detalierte anleitung wie man das hin bekommt ? Habe eine für X86 gefunden (http://qemu-forum.ipi.fi/viewtopic.phpf=22&t=5308&p=15600#p15600) und versucht die für einen arm anzuwenden klappt aber nicht. Gruß Dizzy
Das ist wohl auch kein Wunder: qemu ist eine virtuelle Maschine, kein Prozessorsimulator und kann deswegen nur Code für den Host-Prozessor ausführen.
Habe grade das hier gefunden http://repo.or.cz/w/linux-2.6/mini2440.git. Habe mich vileicht grader falsch ausgedrückt auf jeden fall will ich ein Betriebssystem in diese umgebung emulieren.
QEMU ist beides, sowohl Prozessorsimulator als auch Virtualisierer, siehe http://wiki.qemu.org/Main_Page Genau dort steht auch gleich im zweiten Satz, dass ein ARM Prozessor auf einem PC mit QEMU simuliert werden kann. Es sollte also rein prinzipiell funktionieren.
http://trac.mixam.info/mini2440/wiki/Qemu Es gibt, glaube ich, noch eine Seite zum Mini2440+Qemu, schau mal in den Links hier: http://code.google.com/p/friendlyarm/wiki/Links
komme nicht weiter und dass schon viel zu Lange. wenn ich vorgehe wie hier beschrieben: http://trac.mixam.info/mini2440/wiki/Qemu und diese mini2440_start.sh ausführe kommt: $ ./mini2440_start.sh Starting in . ./mini2440_start.sh : creating NAND empty image : ./mini2440_nand.bin C:\create\1.0\mingw\bin\dd.exe: /dev/zero: No such file or directory ./../arm-softmmu/qemu-system-arm -M mini2440 -drive file=./mini2440_snapshots.im g,snapshot=on -serial stdio -kernel /tftpboot/uImage -mtdblock ./mini2440_nand.b in -show-cursor -usb -usbdevice keyboard -usbdevice mouse -net nic,vlan=0 -net t ap,vlan=0,ifname=tap0 -monitor telnet::5555,server,nowait tap: Could not open 'tap0' Could not initialize device 'tap' was bedeutet dass? was kann ich tuen ?
Ist es denn soo kompliziert dieses qemu zum laufen zu bringen? Hat das schon mal jemand gemacht mit nem arm oder besser noch mit mini2440? Was ist mit dieser GUI für windows krigt man das Damit auch hin? _Hab die Runtergeladen und ausprobiert weis da aber nicht was ich als "Kernal image" und was als "Ram Disk" wählen soll.
Da du anscheinend nichtmal in der Lage bist absolut aussagekräftige (Fehler-)Meldungen zu verstehen, ist es für dich anscheinend in der Tat zu kompliziert. Da du das aber wohl nicht wahrhaben willst, empfehle ich dir mal deine System Devices zu checken (/dev/zero) und das TAP-Device einzurichten.
>versuche grade unter XP mit qemu Vergiss das mal lieber, die ARM Emulation mit Qemu auf Windows ist nie aktuell und murks, nix läuft wies soll, dauernd abstürze.
Mach ich nur ungern. Hast du es denn überhaut zu laufen bekommen ? Naja dann istallier ich jetz ma linux. hmm kann man eigenlich ne Virtuelleumgebung in einer virtuellen umgebung erzeugen (-:?
>Hast du es denn überhaut zu laufen bekommen ? Nach Tagen rumgebastel und Code flicken, eine etwas ältere ARM Version. Das Qemu-Mini2440 hab ich gar nie versucht. >hmm kann man eigenlich ne Virtuelleumgebung in einer virtuellen umgebung >erzeugen (-:? Wieso nich?
Ich habe mir jetzt unbutu installiert und hir noch mal versucht. Habe zur übung das das ganze mit reactOS durchgezogen war Problemlos. Jetz henge ich beim aufruf von qemu.ich finde nicht raus wie das für den arm geht.
Wie benutzt man zImage.integrator oder uImage.integrator die sind soweit ich das verstanden habe für den veränderten bootablauf beim arm. wenn ich dass wie beschrieben versuche: qemu-system-arm -kernel zImage.integrator -initrd arm_root.img kommt:zImage.integrator: No such file or directory qemu: could not load kernel 'zImage.integrator' habe ich da irgentein Package nicht istalliert ?
vergesst mal den letzten Eintrag. Da war ich etwas Übermüdet. Aber ich habe immer noch das selbe Problem dass ich die Virtuelle Netzwerkkarte nicht ans laufen bekomme. wenn ich die Minni2440_start.sh: #!/bin/bash base=$(dirname $0) echo Starting in $base name_nand="$base/mini2440_nand.bin" name_snapshots="$base/mini2440_snapshots.img" if [ ! -f "$name_nand" ]; then echo $0 : creating NAND empty image : "$name_nand" dd if=/dev/zero of="$name_nand" bs=528 count=131072 fi if [ ! -f "$name_snapshots" ]; then echo $0 : creating empty snapshot image : "$name_snapshots" qemu-img create "$name_snapshots" 100MB fi führt das zu folgender Ausgabe cmd="$base/../arm-softmmu/qemu-system-arm \ -M mini2440 $* \ -drive file=$name_snapshots,snapshot=on \ -serial stdio \ -kernel /tftpboot/uImage \ -mtdblock "$name_nand" \ -show-cursor \ -usb -usbdevice keyboard -usbdevice mouse \ -net nic,vlan=0 \ -net tap,vlan=0,ifname=tap0 \ -monitor telnet::5555,server,nowait" # cmd="gdbserver :3333 $cmd" # -monitor unix:.mini2440_monitor,server,nowait" echo $cmd $cmd ausführe Passiert dass : ./../arm-softmmu/qemu-system-arm -M mini2440 -drive file=./mini2440_snapshots.img,snapshot=on -serial stdio -kernel /tftpboot/uImage -mtdblock ./mini2440_nand.bin -show-cursor -usb -usbdevice keyboard -usbdevice mouse -net nic,vlan=0 -net tap,vlan=0,ifname=tap0 -monitor telnet::5555,server,nowait can't add tap0 to bridge eth1: Operation not supported /etc/qemu-ifup: could not launch network script Could not initialize device 'tap' ich habe gelesen das dass an der quem-ifup liegen kann/soll, weis aber leider nicht was ich da ändern soll damit es klappt.
Servus, so wie es aussieht, kann er den tap Treiber nicht auf das eth1 "drüberlegen". Du bist root? Hast du denn auch ein eth1? Was zeigt # ifconfig eth1 Gruss, Robert
Ja, ich habe nur einen eth1. eth0 ist meine Onbordkarte die habe ich aber wegen nem treiberproblem deaktiviert. Arbeite unter ubuntu hab alles mit sudo ausgeführt. ifconfig eth1 eth1 Link encap:Ethernet Hardware Adresse 00:50:bf:d8:af:23 inet Adresse:192.168.2.6 Bcast:192.168.2.255 Maske:255.255.255.0 inet6-Adresse: fe80::250:bfff:fed8:af23/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:18501 errors:0 dropped:0 overruns:0 frame:0 TX packets:17362 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:18328844 (18.3 MB) TX bytes:3304638 (3.3 MB) Interrupt:19 Basisadresse:0xa400
"Operation not supported" sieht mir nach fehlendet Unterstützung im Kernel aus. Schau mal, was modprobe -l | grep -i tap bringt. Bei Bedarf die module mit modprobe <modul> laden. Natürlich als root. Ansonsten schmeiss die Netzwerkkarte testweise mal aus dem Script raus.
mini2440:$: modprobe -l | grep -i tap kernel/drivers/net/wireless/hostap/hostap.ko kernel/drivers/net/wireless/hostap/hostap_cs.ko kernel/drivers/net/wireless/hostap/hostap_plx.ko kernel/drivers/net/wireless/hostap/hostap_pci.ko Ohne nic cmd="$base/../arm-softmmu/qemu-system-arm \ -M mini2440 $* \ -drive file=$name_snapshots,snapshot=on \ -serial stdio \ -kernel /tftpboot/uImage \ -mtdblock "$name_nand" \ -show-cursor \ -usb -usbdevice keyboard -usbdevice mouse \ -net nic none \ -monitor telnet::5555,server,nowait" kommt dass: vice mouse -net nic none -monitor telnet::5555,server,nowait Warning: vlan 0 is not connected to host network S3C: CLK=240 HCLK=240 PCLK=240 UCLK=57 QEMU: ee24c08_init DM9000: INIT QEMU MAC : 52:54:00:12:34:56 QEMU mini2440_reset: loaded default u-boot from NAND QEMU mini2440_reset: loaded override u-boot (size 0) QEMU mini2440_reset: loaded /tftpboot/uImage (size 0) S3C: CLK=240 HCLK=240 PCLK=240 UCLK=57 QEMU mini2440_reset: loaded default u-boot from NAND QEMU mini2440_reset: loaded override u-boot (size 0) QEMU mini2440_reset: loaded /tftpboot/uImage (size 0) qemu: fatal: Trying to execute code outside RAM or ROM at 0x34000000 R00=00000000 R01=00000000 R02=00000000 R03=00000000 R04=00000000 R05=00000000 R06=00000000 R07=00000000 R08=00000000 R09=00000000 R10=00000000 R11=00000000 R12=00000000 R13=00000000 R14=00000000 R15=34000000 PSR=400001d3 -Z-- A svc32 ./mini2440_start.sh: Zeile 35: 3598 Aborted $cmd kommt dass . oder muss ich noch mehr kicken? ich denke mal dass dann die grösse im ram nciht mehr stimmt und ich die in uboot neu festlegen müsste?!
Oooooh wie oft ich den Fehler beim OS-Coding hatte :D Da werden Erinnerungen an hunderte Fehler, hauptsächlich im Zusammenhang mit Pointer(Arrays) wach und lebendig :D Das dürfte eigentlich nicht passieren. Das ist höchstwahrscheinlcih ein kaputtes Image. Ist das Kernel Image eines für Uboot, ein uImage, bzImage, zImage, ... ... ?
Habe die ganze "toolchain" mit einer leicht modifizierten mini2440-bootstrap-v2.sh (http://code.google.com/p/mini2440/downloads/detail?name=mini2440-bootstrap-v2.sh) erstellt hab das ganze aber voher auch schon anders versucht und den Fehler hatte ich immer wenn ich die Nic weg gelassen haben.
ist das richtig ? > QEMU mini2440_reset: loaded override u-boot (size 0) > QEMU mini2440_reset: loaded /tftpboot/uImage (size 0) size 0 klingt wie nix geladen, kein wunder das dann > qemu: fatal: Trying to execute code outside RAM or ROM at 0x34000000 kommt. Steht doch hier http://trac.mixam.info/mini2440/wiki/Qemu If you have something like : qemu: fatal: Trying to execute code outside RAM or ROM at 0x00001000 verify that u-boot.bin if well loaded
ja aber warum wird die uboot.bin denn nicht ordentlich geladen vorahanden ist ja ? Sorry bin ein bisschen Planlos
muss man irgendwo den Pfad für die qemu.bin ändern wenn ich die nählich umbenenne ändert sich gar nichts.
Dizzy schrieb: > ja aber warum wird die uboot.bin denn nicht ordentlich geladen > vorahanden ist ja ? > > Sorry bin ein bisschen Planlos In order to load the u-boot.bin correctly it must be placed in the script directory :lesen muss du schon selber, steht doch alles beschrieben. Wenn die pfade und file name nicht stimmen und die u-boot.bin nicht vorhanden ist im script dir dann wird qemu nix laden können .. steht aber alles da http://trac.mixam.info/mini2440/wiki/Qemu
Gelesen habe ich es, registriert aber nicht. Gut, habe die qemu.bin ins selbe Verzeichnis wie das Skript verschoben. leider klappts immer noch nicht. ohne (Nic) passiert folgendes: Starting in . ./../arm-softmmu/qemu-system-arm -M mini2440 -drive file=./mini2440_snapshots.img,snapshot=on -serial stdio -kernel /tftpboot/uImage -mtdblock ./mini2440_nand.bin -show-cursor -usb -usbdevice keyboard -usbdevice mouse -net none -monitor telnet::5555,server,nowait S3C: CLK=240 HCLK=240 PCLK=240 UCLK=57 QEMU: ee24c08_init DM9000: INIT QEMU MAC : 00:00:00:00:00:00 ./mini2440_start.sh: Zeile 35: 2997 Segmentation fault $cmd
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.