Hallo!
Ich habe die Suche in diesem Forum benutzt, bin aber leider zu keinem
lauffähigem Ergebnis gekommen. Es scheint, als wäre es so leicht... aber
ich habe wohl nicht genug Ahnung vom Linux.
Ich habe die Anweisungen
http://www.avrfreaks.net/wiki/index.php/Documentation:NGW/Newbie/boot_from_SD
so abgearbeitet, leider bekomme ich immer (egal welche SD Karte ich
nehme) immer die Meldung:
## Booting image at 10200000 ...
Bad Magic Number
Mache ich ein Fehler, oder sind alle Karten inkompatibel?
MfG
FrankR
Hallo!
Ich habe die Karte Gerstern extra neu gekauft und sie leider unter
meinem openSUSE 11.0 nicht sehen können (oder liegt an meinem Skill!),
deswegen habe erst ein FAT unter Windows XP drauf gemacht und dann
nochmals unter openSUSE 11.0 und dem "partinionier" ein ext2 formatiert.
Da das FAT dann unter openSUSE erkannt wurde...
Danach habe ich die Datei auf die Karte entpackt.
Meine bootargs sind wie in dem Beitrag:
console=ttyS0 root=/dev/mmcblk0p1 rootwait
Das bootcmd so:
mmcinit; ext2load mmc 0:1 0x10400000 /boot/uImage; bootm
Ich hatte auch schon 0x10300000 versucht, aber gleiches Problem.
Wie kann man eine Karte unter Linux formatieren, die man im /dev nicht
sieht? Oder liegt da nicht das Problem?
Ach ja, mein Uboot ist Version: U-Boot 1.1.4-at0 (Jan 3 2007 - 10:30:09)
Die SD Karte wird als 'RCA 618788' erkannt
"Bad Magic Number" bedeutet Uboot erkennt kein ext2-Filesyystem auf der
Karte.
Entweder ist Uboot zu alt, die aktuelle Version, die vom Buildroot
gebaut wird, ist 1.3.4, oder die Karte wurde nicht richtig
partitioniert.
Ich partitioniere die Karte immer unter Ubuntu von der Konsole aus mit
"gparted".
Also die Karte mounten, dann unter "gparted" auswählen, die vorhandene
Partition löschen und neu anlegen. Dann die Karte neu mounten und die
vom Buildroot gebaute Datei xxxxx.tar.gz auf die Karte entpacken. Die
Datei fstab editieren oder austauschen. Dann die Karte unmounten
(wichtig!) und ins NGW packen.Ich häng mal die fstab an.
Buildroot baut in Regel immer eine neue Uboot.bin mit. Ich würde
empfehlen Uboot zu erneuern. Anleitungen findest du hier in den Artikeln
oder in den Wikis von avrfreaks. Aber Vorsicht, wenn da was schief geht,
brauchst du einen JTAG.
Hallo!
Danke fürden Tipp, ich habe nun das VMware Image von Atmel gefunden und
werde dort mal die Anleitung (und Dein Tipp mit der fstab) mal unter
Ubuntu durcharbeiten. Was braucht das NGW100 denn für eine Formatierung
(SuperFloppy oder HDD)?
MfG
Frank
Hallo,
ich hatte mit dem STK1000 auch das Problem.
Das seinerzeit daran, das Atmel die Magic-Number in ihrer Toolchain
selbstherlich vergeben hatte ohne die die offizielle MagicNumber
abzuwarten.
Die nächste (zuvor von Atmel genutzte) MagicNumber ging dann an einen
anderen Hersteller. In der nächsten Toolchain war dann die MagicNumber
neu vergeben.
Du mußt den UBoot auf dem Board neu flashen. Anleitungen findest Du bei
Atmel.
Gruß
Olaf
> Was braucht das NGW100 denn für eine Formatierung> (SuperFloppy oder HDD)?
Hatte ich schon mal in einem anderen Thread geschrieben:
Muß man das Teil partitionieren oder nicht ?
Ohne Partition => mkfs.ext2 /dev/sda
wenn die SD-Card als sda im System hängt. Das ergibt dann eine
Superfloppy nur mit einem Bootblock
fdisk /dev/sda -> n für NEW und dann alles als Partition 1
Mit Partition (Typ 83 : Linux) => mkfs.ext2 /dev/sda1
und man hat eine Disk mit MBR und Bootblock in der 1. Partition,
oder mit gparted eine Partition erstellen kommt auf gleiche raus.
Uboot möchte gern eine Partition sehen.
Hallo!
Ich habe es mit gparted gemacht, also "richtig". Leider hat es nicht zu
Erfolg geführt. Wo kann denn dann der Fehler liegen?
Ich werde wohl erstmal das U-Boot flashen und dann it der gleichen Karte
testen, wenn das auch nichts bring... dann mal den Ansatz von Herrn
Muetzel testen.
Hat jemand schon mal eine nicht kompatible Karde gehabt? Ich habe mir
extra eine alte 2GB Class 2 Karte von SanDisk besorgt .. gegenüber der
Class 4, die ich schon hatte. Beide bringen den gleichen Fehler ...
... Bad Magic Number! ... kann das noch einmal jemand erklären?
Danke
Da du ja schon meinen Blog-Eintrag verlinkt hast: hast du die dort
angegebene Config Datei runtergeladen und in dein
1
/etc/
gelegt unter Ubuntu um dann mit
1
mkfs -t ext2 /dev/mmcblk0p1
deine Karte zu formatieren?
Alternativ: schonmal beim booten mit Leertaste in U-Boot gelangt, dort
dann mit
1
mmcinit
das MMC/SD Interface aktiviert und mit
1
ext2ls mmc 0:1 /
dir versucht das Inhaltsverzeichnis auszugeben?
Dort hatte ich nur ein paar Punkte obwohl die Karte woanders ordentlich
lief (nun ja, ist ja im Blog beschrieben)...
Guten Morgen,
leider hat mich der gestrige Abend wieder nicht zum Erfolg geführt und
ich bin total am Ende!
Jetzt würde ich die weiße Fahne schwenken und echt mal von Null
anfangen:
1. Ich habe die ATMEL VMware Session Ubuntu 8.04 gebootet
2. Ich stecke die SD Karte eine USB Reader und dieses dann in mein
Notebook, hier wird er auch erkannt und der VMware zugeordnet...
3. das Ubuntu zeigt mir die Karte direkt in "Places" an (AutoMount oder
soooo)
4. hier mache ich jetzt rechte Maustaste "Unmount" -> Karte ist weg
5. nun im Termial die Befehle mkfs -t ext2 /dev/sdb (das ist wohl die
Karte hoffe ich, unter dem NGW100 ist es /dev/mmcblk0p1, hier habe ich
aber leider kein mkfs!) -> Ach ja, der Inhalt der config Datei ist
gleich!
6. jetzt muss ich die mounten (keine Ahnung wie)
7. das avr32-linux.tar.bz2 dahin entpacken
8. Karte unmounten (keine Ahnung wie)
9. die Karte in das NGW100 stecken und den U-Boot mit SPACE unterbrechen
10. askenv bootcmd anpassen
11. das andere Teil auf 0x10400000 setzen
12. saveenv machen
13. reset des boards
Hört sich toll an, aber ich kriege es nicht hin... da das eine lange
Kette von ToDos ist, kann ich als total Leihe auch viele Fehler machen.
Kann mir jemand helfen?
1M Danke
MfG
Frank
Moin!
Also unter meinem direkt installierten Ubuntu ist es trotzden
/dev/mmcblk0 als Gerät und /dev/mmcblk0p1 als Partition 1 darauf.
/dev/sdb ist eigentlich eher das zweite S-ATA Device.
6. sudo mount -t ext2 /dev/sdb /mnt
7. sudo tar xjf avr32-linux.tar.bz2 /mnt
8. sudo umount /mnt
sudo ist notwendig, da Karte sowie mount-Verzeichnis für die Welt keine
Schreibrechte vorsehen.
also ich mach es so:
1. Ubuntu booten in VMware
2. USB Card-Reader mit SD-Karte in den USB-Slot stecken
3.Ubuntu erkennt 1GB-Media auf dem Desktop (hab ne 1 GB-SD-Karte drin
stecken)
4. in der Konsole "gparted" aufrufen und" /dev/sdc" auswählen.
5.die angezeigte Partition SDC1 auswählen und rechte
Maustaste--->"Unmount"
6. noch mal die Partition auswählen und rechte Maustaste ---> "Delete"
7."unallocated" markieren und rechte Maustaste --->"New"
8. in dem sich öffnenden Fenster "Create as" = "Primary Partition" und
unter "Filesystem" = "ext2" auswählen. Dann "+Add" anklicken. Das
Fenster schließt sich.
9. in gparted oben "Apply" anklicken. Abfrage bestätigen mit "Apply"
10. Warten bis fertig, dann "Close" anklicken. Damit ist die Karte
fertig partitioniert.
11. USB Card-Reader mit Karte herausziehen, Moment warten, dann wieder
einstecken. Ubuntu mounted die Karte wieder.
12.gparted schließen.
13.mit File-Browser dein xxxx.tar.gz suchen, doppelklick darauf und in
dem sich öffnenden Fenster oben "Extract" anklicken. Es öffnet sich ein
weiteres Fenster. Dort links deine xxGB Media markieren und unten rechts
"Extract" klicken. Kurz warten.
14. in dem sich öffnenden Fenster auf den Ordner "." doppelklick. Dann
auf den Ordner"etc" doppelklick und die Datei "fstab" editieren oder
gegen meine von oben austauschen. Browser schließen.
15. Auf dem Desktop auf "xxGB Media" rechte Maustaste ---> Unmount und
Moment warten.
16. Karte ziehen und ins NGW stecken.
17. NGW starten und den Bootvorgang nach ca.3 Sek. abbrechen
(Space-Taste).
Wenn der Zeitpunkt verpasst wurde und Linux gebootet hat, im command:
reboot eingeben. Dann sieht man den Punkt besser.
18. im Uboot "printenv" eingeben. Die sollten dann so aussehen:
U-Boot> printenv
bootdelay=3
baudrate=115200
ethact=macb0
ethaddr=00:1F:E5:00:03:E9
bootcmd=mmcinit;ext2load mmc 0:1 0x10400000 /boot/uImage;bootm
0x10400000
bootargs=console=ttyS0 root=/dev/mmcblk0p1 rootwait fbmem=765k
stdin=serial
stdout=serial
stderr=serial
Wenn nicht, mit "setenv" eingeben und "saveenv" abspeichern.
Wenn dein uImage evtl. einen anderen Namen hat (auf der Karte
nachschauen) bei /boot/"deinImage-Name"; statt uImage eintragen.
Dann Reset und es sollte funktionieren. Wenn nicht, ist das Uboot zu
alt.
So, sorry, wenn ich jetzt etwas weit ausgeholt habe und ich möchte
hiermit auch keinen für Dumm verkaufen und es gibt sicher auch andere
Methoden um die Karte zu formatieren oder wie auch immer.
(eingefleischte Linuxer wird es grausen nehme ich an ;)
Wie meine vielen Poster schon davor, einfach UBoot updaten. Das spart
viel Zeit und Nerven und seit dem laufen bei mir alle Karten ohne
Probleme.
Gruß
Micha
Hallo!
Leider hat mich die Grippe erwischt und ich komme erst jetzt zur
Antwort:
Leider hat das Vorgehen kein Erfolg gehabt und ich habe noch keine SD
KArte "richtig" formatiert, weiterhin
1
** Bad partition - mmc 0:1 **
auf der NGW Konsole. Nun wollte ich mal die U-Boot Version erneuern...
na ja, wie sage ich immer so schön: Ohne Arme, keine Kekse! Wie kann ich
das U-Boot austauschen, ohne eine lauffähige SD Karte und einen MKII zu
haben?
MfG
Frank
> In dem Verzeichnis, was ich auf die Karte *kopiere*
sorry, aber vielleicht reden wir aneinander vorbei, aber unter Punkt 13
solltest du doch das .tar.gz auf die Karte extrahieren. Bei allen
Karten, die ich bisher erstellt habe, ist in dem Verzeichnis /boot auf
der Karte das uImage.
du kannst das uboot auch ohne Karte flashen. Du richtest dir einen
HTTP-File-Server auf deinem Rechner ein. z.B. HFS. Dann ziehst du die
uboot.bin in den fileserver, bootest das ngw ganz normal und holst dir
die uboot.bin per wget >URL-Fileserver/uboot.bin< auf dein NGW. Danach
folgst du der Anleitung von Atmel.
Wenn es schief gehen sollte, solltest du dich hier anmelden, damit man
dich per pn kontaktieren kann. Ich glaub, ich hab da noch nen jtagice
mkII rumfliegen ;)
Gast schrieb:
>> In dem Verzeichnis, was ich auf die Karte *kopiere*> sorry, aber vielleicht reden wir aneinander vorbei, aber unter Punkt 13> solltest du doch das .tar.gz auf die Karte extrahieren. Bei allen> Karten, die ich bisher erstellt habe, ist in dem Verzeichnis /boot auf> der Karte das uImage.
In dem aktuellen Buildroot hat er mir das ganze auch im Root erstellt.
Ich habe nun schon mehrfach beides gesehen - somit kann man das nicht
pauschal als falsch definieren.