Hi, ich möchte dieses Image auf eine CD brennen und das Linux-System von dort von CD aus starten: http://shop.in-circuit.de/products/ICnova-CPU-Module/AVR32-AP7000-Module/57/index.php?module=product&action=detail&id=66 Leider klappt es nicht, die CD bootfähig zu machen, ich habe mit verschiedensten Programmen Versuche gemacht, als letztes mit UnetbootIn, um das System von einem USB Stick aus starten zu können. Da gelang es mir zwar, in ein Startmenue zu kommen, aber beim Starten des Images kam eine Fehlermeldung, dass das Bootimage nicht vorhanden sei. Kann mir da vielleicht jemand einen Tipp geben, was ich falsch gemacht haben könnte?
:
Verschoben durch User
Was lässt Dich annehmen, daß das überhaupt ein bootfähiges Image sein soll? In der Beschreibung ist davon nicht die Rede.
Da ist doch gar kein lauffähiges Linux drauf wenn ich das richtig sehe. Nur das BSP, Toolchain und Quellen.
Hmm, ok. Muss ich den CD-Inhalt dann in einem Linux-System mounten?
schnapp schrieb: > Hmm, ok. Muss ich den CD-Inhalt dann in einem Linux-System mounten? Oder brennen und dann die CD einlegen. Oder in einer Virtuellen Maschine (z.B. VirtualBox) mounten, nachdem du eine Linux-Distri installiert hast.
ich hab dieses Gerät hier: http://shop.in-circuit.de/products/Home/ICnova-CPU-Module/57/ICnova-AP7000-Base Leider hab ich irgendwas zerschossen und wollte das System einfach wieder aktualisieren auf diesem Gerät. Leider kann ich mit dem Gerät nicht mehr per Netzwerk drauf zugreifen, es wird einfach nicht mehr erkannt im Netzwerk bzw. gar keine Adresse zugewiesen. Aber ich kann über die serielle Schnittstelle auf das Gerät drauf zugreifen und ich hoffe irgendwie darüber das Netzwerk wieder in Gang bringen zu können.
beim Booten kommt diese Fehlermeldung: Bad Data CRC Error: cannot get kernel image! was bedeutet das? bedeutet das, dass das Kernel-Image irgendwie kaputtet ist?
Ich kapiere hierbei eins nicht. Ich bin auf dem Unix-System drauf. Da gibt es den Befehl ls und ich habe ein ganzes Verzeichnis-System. Gebe ich dann help ein, dann gibt es aber nicht mal den cd-Befehl, um das Verzeichnis zu wechseln. Und im Verzeichnis ls /bin gibt es eine ganze Palette mehr an Befehlen, z.B. ifconfig, aber wenn ich ifconfig aufrufe, dann kann er das nicht starten, sondern nur die Befehle, die in help gelistet werden.
Du steckst im Bootloader fest (uboot). Damit kannst du aber über z.B. TFTP ein Image laden und auch in das Flash schreiben.
darauf ist ein Verzeichnis boot. Darin sind zwei files - system.map und uImage. Das uImage wird beim booten geladen. Ist uImage das Image vom bootloader? Weil geladen ist das uImage im Speicher. Beim Starten werden automatisch die beiden Befehle geausführt: fsload boot/uImage, danach bootm. fsload läd das Image in den Speicher und bootm (boot application image from memory) bootet das image dann. Es kommt auch beim manuellen Eintippen von fsload boot/uImage keine Fehlermeldung, aber dann bei bootm kommt die Fehlermeldung wie in dem ersten Bild zum Schluss - Bad Data CRC, ERROR: cannot get kernel image! Es wird ja sogar ein Name angezeigt: AVR32 Linux Kernel Image (gzip compressed)..., aber halt irgendwie nicht geladen, aber warum nur?
Ich find auch auf der CD von dem Hersteller kein andees image, dass ich alternativ verwenden könnte.
Was bedeutet eigentl. genau Bad Data CRC? Bedeutet das vielleicht, dass das Image größer ist oder sich Speicherstellen überschneiden? Ich habe auch mit der mtest-Funktion zum Testen des Speichers eine ganze Weile getestet, nix Fehler. Was könnte denn die Ursache dafür sein, dass das Image nicht geladen wird? Es ist ja vorhanden, sonst würde der Name doch nicht geanzeigt werden (AVR 32 Linux Kernel Image), es ist doch da.
Beim letzten Bild hab ich etwas gelesen - ###JFFs2 loaded Complete 1330615 Bei Datasize steht: 1330551 - die beiden zahlen weichen etwas voneinander ab. Ist das der CRC-Fehler?
da steht auch entry-point 900000000, aber bei bootimage loaded to 1040000000 kann es sein, dass das boot-Programm erst bei 9000000 versucht, das Image zu laden, was bei 10400000 gespeichert ist?
zu CRC sagt google, das man das auf wikipedia finden kann und wikipedia sagt es waere : Die zyklische Redundanzprüfung (englisch cyclic redundancy check, daher meist CRC) Wenn Du also einen CRC Fehler nach dem Laden in den Speicher bekommst, dann heisst das, das das Abbild im Speicher nicht mit dem auf dem Datentraeger uebereinstimmt. Auf welchem OS erstellst denn Du den bootfaehigen Datentraeger?
Das Image war schon von Beginn an auf dem Bauteil drauf, ich habe selber noch kein anderes draufgemacht. Wahrscheinlich muss ich jetzt eine neue Hex-Datei generieren und die per ftp oder nfs vom bootloader dann erneut übertragen? Eigentlich ist ja da ein kleiner Festspeicher drauf, auf dem das Minibetriebssystem ja drauf ist, man sieht es ja auch in dem Vereichnis boot/uImage Oder kann es sein, dass das Image dort auf dem Flash-Speicher irgendwie kaputt gegangen ist?
Ich fang mal viel weiter oben an. schnapp schrieb: > Leider hab ich irgendwas zerschossen und wollte das System einfach > wieder aktualisieren auf diesem Gerät. Leider kann ich mit dem Gerät > nicht mehr per Netzwerk drauf zugreifen, es wird einfach nicht mehr > erkannt im Netzwerk bzw. gar keine Adresse zugewiesen. Aber ich kann > über die serielle Schnittstelle auf das Gerät drauf zugreifen und ich > hoffe irgendwie darüber das Netzwerk wieder in Gang bringen zu können. Kannst Du uns sagen was Du gemacht hast, und wie du zu dem Schluss kommst das Du jetzt ein neues Image booten musst? Wenn es nur das Netzwerk ist, das ist keine grosse Sache das wieder in Gang zu bringen. schnapp schrieb: > Ich kapiere hierbei eins nicht. Ich bin auf dem Unix-System drauf. Da > gibt es den Befehl ls und ich habe ein ganzes Verzeichnis-System. Gebe > ich dann help ein, dann gibt es aber nicht mal den cd-Befehl, um das > Verzeichnis zu wechseln. Und im Verzeichnis ls /bin gibt es eine ganze > Palette mehr an Befehlen, z.B. ifconfig, aber wenn ich ifconfig aufrufe, > dann kann er das nicht starten, sondern nur die Befehle, die in help > gelistet werden. Ich kann nicht genau sagen was da fuer ein Filesystem angezeigt wird, es sieht aber wie ein komplettes UNIX root system aus. Das sich die Befehle nicht ausfuehren lassen wird daran liegen das Du Dich noch im bootloader befindest oder an den Umgebungsvariablen (die nicht gesetzt sind). Das Dein Kernel nicht bootet wird ebenfalls an der Konfiguration liegen. Einen Kernel kann man nicht einfach kopieren wie eine Datei und dann erwarten das er bootet. Nach dem Kopieren muss dem bootloader noch gesagt werden wie und was er mit welchem Kernel machen soll. Jetzt denk mal kraeftig nach was Du gemacht hast bevor der Fehler auftrat. Dann kann man vielleicht am System noch was retten, wenn nicht bleibt nur Dir diesen Link mal zu verinnerlichen http://www.mikrocontroller.net/articles/AVR32_Grasshopper Dein Board ist ein Grasshopper(clone), damit sollte dein Board mit der Anleitung erst mal wieder lauffaehig werden. Anpassungen die Board spezifisch sind kann man dann spaeter machen.
Juergen G. schrieb: > Jetzt denk mal kraeftig nach was Du gemacht hast bevor der Fehler > auftrat. Danke fuer die Antwort. Gemacht hab ich garnichts. Ich habe das Board vor ein paar Monaten gekauft und zum Testen einfach ans Netzwerk drangehängt. Es wurde eine IP-Adresse vergeben, die ich auch mit nem Sniffer oder im Router der Board-eigenen MAC-Adresse zuordnen konnte und im Webbrowser konnte ich dann das Demo starten, dort hatte ich acht Schalter zum setzen und je nach dem, welcher Schalter gesetzt wurde, gingen die LEDs an oder aus. Dann lag es ein paar Monate in der Kiste, weil ich keine Zeit mehr hatte, mich damit zu befassen. Vor ein paar Tagen wollte ich es einfach mal wieder anschließen ans Netzwerk, aber dem Gerät wurde garkeine IP-Adresse mehr zugeteilt, es ist seit dem einfach nicht mehr per Netzwerk erreichbar. Nur wenn ich das Gerät dierekt per USB anschließe, den Treiber installiere, dann bekomm ich auf meinem PC einen COM-Port, mit dem ich z.B. mittels Putty zugreifen kann - und mit Putty bekomme ich eben diese Bildschirmanzeigen, wie ihr da auch sehen könnt. Ich habe versucht, anhand der Anleitung das in Gang zu setzen, weis aber nicht, wo der Fehler liegen könnte. Ich habe auch schon mit Memtest (so eine Funktion ist im Bootloadermodus unter Putty vorhanden), da wurde auch kein Speicherfehler angezeigt - es hätte ja sein können, dass der Flash-Speicher irgendwie zerschossen ist. Was also nun tun? Am besten das Bootimage neu auf das Gerät draufziehen? An den Bootvariablen hab ich auch nichts geändert, ich habe bis jetzt unter Putty lediglich Neustarts und Resetz etc. versucht oder das Image dierekt zu laden aus der Speicherstelle.
Wenn Du nichts gemacht hast dann ist auch nichts zerschossen. Ich kenne dein Board nicht aber ein OS wie das auf dem Board muss man normalerweise runterfahren bevor man den Stecker zieht. Vielleicht ist dabei was uebrig geblieben. poste mir mal den inhalt von /boot mit ls -l /boot
In dem Verzeichnis sind zwei Dateien uImage system.map Ich hab auch schon einfach mal probiert, system.map zu laden, dass geht zwar auch, ich kriegs in den Speicher reingeladen, aber bei reboot kommt die Meldung, dass dieses Image nicht bootfaehig ist. Ich hab das manuell probiert. Bei den Umgebungsvariablen ist ja ein Zeile, die ausgeführt wird, wenn reboot durchgeführt wird oder die Reset-Taste auf dem Board gedrückt wird.
Der memtest testet das RAM. Das Boot Image ist aber in einem Flash Speicher. Das Boot Image enthält eine CRC. Der Bootloader kopiert das Boot Image ins RAM, berenet die CRC, vergleicht sie mit der CRC in der Datei und bricht dann ab. Die Fehlermeldung deutet darauf hin, dass entweder das RAM oder das Boot Image defekt ist. Das RAM hast DU ja schon ausgeschlossen. Soweit ich verstanden habe, hast Du auch schon das Boot Image erneuert. Also liegt es wohl auch nicht an der Datei. Übrig bleibt also die Möglichkeit, dass der Flash Speicher defekt ist. Das kannst DU anz einfach überprüfen, indem Du das Boot Image auf deinen PC zurück kopierst und mit der zuvor installierten Datei vergleichst. Bezüglich der Anleitung: Eine simple Suche per google nach "icnova bootloader" brachte gleich als zweites Ergebnis eine ANleitung, in der ziemlich detailiert beschrieben ist, wie man die Software und auch den Bootloader neu installiert: http://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CEAQFjAB&url=http%3A%2F%2Fshop.in-circuit.de%2Fdata%2Fmanual%2F301000002E_HowTo_ICnova_ADB1000.pdf&ei=3A1KUe-OF4ettAbBl4HQDQ&usg=AFQjCNENwGlFlYX-jdBG5oZDHKK2IvpVmQ&bvm=bv.44011176,d.Yms&cad=rja
wie kann denn so ein Flash-Speicher kaputt gehen? Zu kalt gelagert? Zu lange im Dunkeln gelassen? Dem Bauteil nicht genug Aufmerksamkeit gewidmet?
Vielleicht statische Entladung. Muss ja nicht zwangsläufig zu einem defekt führen sondern kann sich einfach nur in ein paar verdrehten bits äussern. Ich würde mal ein verify machen
Hmm, dass ist echt alles noch etwas zu kompliziert für mich. Ich hab halt bis jetzt lediglich über Putty eine Verbindung zu dem Teil hinbekommen, dass aber unter Win läuft, mit Linux hab ich das Bauteil noch nicht so erkannt, ebensowenig weis ich noch nicht, wie ich den Kram von der CD richtig im Linux einbinde. Dann kommt hinzu, dass da wohl ein NAS-Dienst laufen muss, damit ich dierekt darüber dann im Bootloader den Pfad angeben kann, von wo aus das neue Image geladen werden kann - und ich muss so wie es scheint, das Image selber neu compilieren, um es dann überspielen zu können, ein fertiges Image ist nämlich nicht auf der DatenCD vorhanden :-(. Ein JTAG hab ich leider auch nicht, um da mal was dierekt reinladen zu können.
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.