grasshopper Atmel buildroot 2.3.0 kompilieren avr32.ext2 make error 1

OP #1395343
Hallo,
ich versuche gerade, wie hier
Beitrag "AVR32 grasshopper patch für ATMEL buildroot 2.3.0"
beschrieben den buildroot zu kopilieren. Leider schlägt es fehl.

Leider weiß ich nicht, wo ich ansetzen muss zu suchen, da hier keine 
Fehlerbeschreibung ausgegeben wird, die mir hilft.

ein erneutes make brachte folgende Ausgabe:
1
$ make
2

3
Checking build system dependencies:
4
BUILDROOT_DL_DIR clean:        Ok
5
CC clean:          Ok
6
CXX clean:          Ok
7
CPP clean:          Ok
8
CFLAGS clean:          Ok
9
INCLUDES clean:          Ok
10
CXXFLAGS clean:          Ok
11
which installed:        Ok
12
sed works:          Ok (/bin/sed)
13
GNU make version '3.81':      Ok
14
C compiler '/usr/bin/gcc'
15
C compiler version '4.4.0':      Ok
16
C++ compiler '/usr/bin/g++'
17
C++ compiler version '4.4.0':      Ok
18
patch installed:        Ok
19
awk installed:          Ok
20
bison installed:        Ok
21
flex installed:          Ok
22
gettext installed:        Ok
23
makeinfo installed:        Ok
24
curses installed:        Ok
25
zlib installed:          Ok
26
lzo2 installed:          Ok
27
Build system dependencies:      Ok
28

29
rm -rf /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/buildroot-config
30
mkdir -p /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper
31
cp -dpRf package/config/buildroot-config /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/buildroot-config
32
rm -rf /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root/usr/include /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root/usr/lib/pkgconfig
33
find /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root/usr/lib -name '*.a' -delete
34
find /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root/lib -name '*.a' -delete
35
find /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root/usr/lib -name '*.la' -delete
36
find /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root/lib -name '*.la' -delete
37
test -x /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/build_avr32/staging_dir/sbin/avr32-linux-uclibc-ldconfig && /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/build_avr32/staging_dir/sbin/avr32-linux-uclibc-ldconfig -r /home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/project_build_avr32/grasshopper/root 2>/dev/null
38
make: *** [/home/klemmi/grasshopper/buildroot-avr32-v2.3.0_patched_grasshopper/binaries/grasshopper/rootfs.avr32.ext2] Fehler 1

Kann mir jemand sagen, wo ich nach einer Lösung suchen sollte?
(ich nutze Arch-Linux, schließe deshalb einen Konflikt durch 
unterschiedliche Pfade nicht aus.)

Bereits vorgenommene Änderungen:
ich musste bereits in der
./buildroot-avr32-v2.3.0_patched_grasshopper/toolchain_build_avr32/uClib 
c-0.9.30/extra/scripts/unifdef.c
die Methode getline(void) in die Methode parseline(void) umbenennen, da 
ein Konflikt mit der lib vorlag.

Weiterhin musste ich per ln den /bin/install auf /usr/bin/install legen.

Es wäre lieb, wenn jemand eine Idee hat!
Danke
Markus
Gast #1395449
wenn du schon Probleme mit Arch-Linux erkannt hast, warum wechselst du 
nicht auf Ubuntu 8.04 (nicht die neueren Versionen nehmen, damit soll es 
auch Probleme geben) ? Das wird von Atmel so vorgeschlagen und hat bei 
mir immer gut funktioniert. Ok, ein paar Pakete müssen mit apt get 
nachgeladen werden, aber das sagt dir dann buildroot.
Gast #1395487
Atmel hat ihren buildroot auf die Belange von Ubuntu zugeschnitten. 
Sicher werden andere Pakete auch gehen, dann würde ich aber auf das 
upstream-buildroot ausweichen. Das kannst du auch für den GH nehmen. 
Musst im Kernel eben nur die Besonderheiten vom GH einstellen.
OP #1396269
ok, danke, das hat mit ubuntu soweit funktioniert.

Ich habe den Grasshopper mittels NFS gestartet und wollte nun das neue 
Image in den Flash schreiben. Leider wurde ich mit folgenden Problem 
konfrontiert:

root@grasshopper:/tmp# dd if=rootfs.avr32.jffs2-root of=/dev/mtdblock2 
bs=65535
dd: writing '/dev/mtdblock2': Operation not permitted
1+0 records in
0+0 records out

Ich weiß jedoch auch nicht, ob mein Vorgehen richtig ist.
OP #1398437
In dem verlinkten Thread wird eine Wiki-Seite angegeben, die folgende 
Angaben enthält:
Sind diese Werte richtig?
Ich dachte, das U-Boot-Environment käme direkt nach der 
U-Boot-Pratition?

0x000000 - 0x01FFFF    U-Boot partition. You'll need a JTAGICEmkII if 
you corrupt this
0x020000 - 0x7EFFFF   Linux root partition. (This is what we'll update 
with this guide)
0x7F0000 - 0x7FFFFF   U-Boot environment area. Handled by U-Boot.

ich habe im U-Boot einmal, bevor ich das nfs-System gestartet habe, 
"protect off all" eingegeben, es blieb jedoch ohne Ergebnis.
Entweder per
1
ICnova> nfs 11000000 192.168.2.102:/nfs/uImage
2
[...]
3
Filename '/nfs/uImage'.
4
Load address: 0x10000000
5
Loading: #################################################################
6
         #################################################################
7
         #################################################################
8
         #################################################################
9
         #*** ERROR: Cannot umount

oder eben
1
ICnova> setenv bootargs root=nfs nfsroot=192.168.2.102:/nfs ip=192.168.2.5:192.168.2.102::255.255.255.0::eth0:none
2
ICnova> boot
3
[...]
4
root@grasshopper:/tmp# wget http://192.168.2.6/rootfs.avr32.ext2
5
Connecting to 192.168.2.6 (192.168.2.6:80)
6
rootfs.avr32.ext2    100% |*******************************| 15676k 00:00:00 ETA
7
root@grasshopper:/tmp# dd if=rootfs.avr32.ext2 of=/dev/mtdblock2 bs=65535
8
dd: writing '/dev/mtdblock2': Operation not permitted
9
1+0 records in
10
0+0 records out

Ich habe erstmal keine sinnvolle Idee, was ich unternehmen soll.
Danke trotzdem für die bisherige Hilfe ersteinmal!

EDIT: kurze Ergänzung zur Info:
1
root@grasshopper:/tmp# ls -la /dev/mtd*
2
brw-rw----    1 root     disk      31,   0 Dec 31 23:00 /dev/mtdblock0
3
brw-rw----    1 root     disk      31,   1 Dec 31 23:00 /dev/mtdblock1
4
brw-rw----    1 root     disk      31,   2 Dec 31 23:00 /dev/mtdblock2
Gast #1398547
> "protect off all"
Damit wäre ich vorsichtig. Wenn du dir uboot überschreibst brauchst du 
einen JTAG-Brenner.Obwohl ich mir nicht sicher bin ob die Option "all" 
funktioniert, ich kenne nur "adr1" bis "adr2"
Die Werte von der avrfreaks-Wiki beziehen sich auf das NGW100.
Hier hat sich schnitzeltony über NFS ausgelassen:
Beitrag "NFS mit grasshopper / AVR32"
Evtl. auch bei dir ein Rechteproblem? Unter wen hast den build gebaut? 
Unter root?
OP #1398915
Ich habe immer versucht, alles als User zu kompilieren.
Die Dateien, die im nfs liegen, waren dann allerdings immer als root 
erstellt.

Ich versuche jetzt einmal, das ganze als root zu kompilieren. Wieso ist 
das eigentlich notwendig bzw. ist es das überhaupt?

kann mir jemand bitte die korrekten Einstellungen für den protect-Befehl 
im uboot aufschreiben, ehe ich hier noch etwas falsch mache? Wäre echt 
nett!

Danke schonmal!
OP #1398969
Die Verwendung war mir schon klar, die Doku kannte ich auch, mir geht es 
nur um die richtige Adresse - wann der Schutz aufhören sollte, damit ich 
das Linux-Dateisystem einspielen kann, aber am uboot nichts kaputt 
machen kann.
Gast #1399009
Ich zitiere mal aus dem AVR32-Grasshopper-Artikel:

"Die 8 MiB Flash-Speicher auf dem Board sind in drei Bereiche 
aufgeteilt: In den untersten 128 kiB befindet sich der Bootloader 
U-Boot. Der Bereich von 128 - 192 kiB ist für die Umgebungsvariablen 
(environment) des Bootloaders reserviert. Das JFFS2-Dateisystem mit der 
Linuxumgebung (root file system) belegt den Rest."
Gast #1399114
Das ist auch nicht die neueste Version von uboot. Ich meine, die letzte 
Version ist 1.3.4 .
Buildroot erstellt dir aber auch immer eine uboot.bin als aktuellste 
Version.
Es wäre gut, die erst mal zu flashen. Aber Vorsicht, wenn dabei etwas 
schief geht brauchst du einen JTAG. Die Anleitung dazu findest du in dem 
Artikel von diesem Forum.
Du kannst natürlich auch das JFFS2-Dateisystem mit uboot flashen. Auch 
die Anleitung dazu steht in dem Artikel.
OP #1399162
hm, naja, uboot flashen - da traue ich mich nicht so richtig heran.

ich habe jetzt versucht per nfs das image in dn RAM zu laden
- per nfs wie vorher schon beschrieben -  ERROR: Cannot umount
- per loadb:
1
SEND-class command failed.
2
 Packets sent: 2
3
 Retransmissions: 11
4
 Timeouts: 0
5
 Damaged packets: 0
6
 Fatal Kermit Protocol Error: Too many retries
Ich gebe es bald auf - und das alles nur, auf der Suche nach einer 
Lösung, ein magic paket versenden zu können!
Gast #1399245
sorry, verstehe ich jetzt nicht.Der GH wird doch schon fertig mit einem 
bootfähigen Linux- build geliefert. Wolltest du jetzt noch zusätzliche 
Pakete in deinen build einkompilieren?
#1399591
Hallo,

> Markus Klemm (klemmi) wrote:
> Datum: 03.09.2009 00:53
> ICnova> setenv bootargs root=nfs nfsroot=192.168.2.102:/nfs
> ip=192.168.2.5:192.168.2.102::255.255.255.0::eth0:none
> ICnova> boot
> [...]
> root@grasshopper:......

Zu diesem Zeitpunkt hast du doch dein neues Filesystem über NFS 
gebootet.
Also das klappt doch!
Du könntest jetzt deine Anwendungen starten.

Aber wenn du dein neues Fs ins flash brennen willst, müsste die 
Befehlsfolge so aussehen:
1
 ICnova> setenv bootargs root=nfs nfsroot=192.168.2.102:/nfs ip=192.168.2.5:192.168.2.102::255.255.255.0::eth0:none 
2
 ICnova> protect off all      // <------ das fehlte hier an dieser Stelle
3
 ICnova> boot
4
.....
5
 root@grasshopper:/tmp# wget http://192.168.2.6/rootfs.avr32.ext2
6
.....
7
 root@grasshopper:/tmp# dd if=rootfs.avr32.ext2 of=/dev/mtdblock2 bs=65535

Nach dem nächsten Reset ist protect wieder ON.

Mit dem brennen des neuen Fs ins flash würde ich aber warten, bis alles 
so funktioniert, wie du dir das vorstellst.

Gruß
Udo
OP #1399628
Danke, udo.
Genau so weit war ich schon.
Und dann habe ich versucht das ins Flash zu schreiben, mit folgenden, 
oben genannten, Ergebnis:
1
root@grasshopper:/tmp# dd if=rootfs.avr32.ext2 of=/dev/mtdblock2 bs=65535
2
dd: writing '/dev/mtdblock2': Operation not permitted
3
1+0 records in
4
0+0 records out
#1399682
ne, sorry, du hast recht. Jetzt komm ich schon selbst durcheinander.
Irgendwas stimmt mit der Freigabe nicht. Evtl gibt uboot trotz "protect 
off all" nicht alles frei. Ich würde uboot mal updaten.

Gruß
Udo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.