Das Elektor-Forum schließt seine Pforten (siehe auch http://www.elektormagazine.de/forum). Ab Freitag, den 01. März, ist es nicht mehr möglich, sich im Forum einzuloggen. Alle Inhalte des Forums bleiben jedoch bis Ende März noch sichtbar. Am 01. April wird das Forum schließlich komplett geschlossen.

elektor 09-2012 Embedded Linux Teil 3

Postby malacay » Sat Dec 01, 2012 12:00 am

Hallo,

ich habe versucht den Bootloader und den Kernel zu übersetzen und den Bootloader mit sudo dd if=src/arch-arm/rom/apex.bin of=/dev/sdb1 bs=512
den Kernel mit cp arch/arm/boot/zImage /dev/sdb1 auf die SD zu kopieren.

Ich bekomme aber wenn ich den µC starte nur die Meldung:

APEX Boot Loader 1.6.8-ep -- Copyright (c) 2004-2008 Marc Singer
compiled for Embedded Projects EPLPC3131 on 2012.Jun.30-12:02:29

APEX comes with ABSOLUTELY NO WARRANTY. It is free software and
you are welcome to redistribute it under certain circumstances.
For details, refer to the file COPYING in the program source.

apex => mem:0x11029000+0xd8d8 (55512 bytes)
env => lnand:512k+256k (bad-region)

Use the command help help' to get started.

# wait 2

# copy ext2://1/zImage 0x30008000
Unable to open 'ext2://1/zImage'



hier geht dann nichts mehr. Auch die SD-Karte wenn ich sie in meinen PC einhänge sehe ich nicht mehr.

Kann mir da einer helfen? Was habe ich falsch geamcht?'
malacay
 
Posts: 16
Joined: Fri Jan 03, 2014 1:56 pm

Postby ag » Sun Dec 02, 2012 12:00 am

Hallo malacay,

nicht sicher ob ich helfen kann, aber ich versuche. Nachdem du die SD Karte eingehänst hast, gebe den Befehl dmesg im Terminal ein. Es sollte in den folgenden Ausgabe eine Zeile geben
die so oder ähnlich aussieht:

[ 417.782109] sd 3:0:0:0: [sdb] 3932160 512-byte logical blocks: (2.01 GB/1.87 GiB)

Ist dies der Fall solltest du unter /media ein Verzeichnis finden die so oder ähnlich heisst:

1aedd74f-c096-66a1-7d72-3c33d66f2de0

Falls dies nicht der Fall ist, poste bitte die letzen 20 Zeilen der Ausgabe von dmesg hier. Vielleicht kann ich darin das Problem erkennen.

Viele Grüße,
Ag
Ag
ag
 
Posts: 533
Joined: Thu Jan 02, 2014 10:37 am

Postby joef » Sun Dec 02, 2012 12:00 am

Hallo malacay,
bei dir hat immer noch der ursprüngliche Booloader versucht zu booten. Dies liegt an dem Befehl
sudo dd if=src/arch-arm/rom/apex.bin of=/dev/sdb1
Dieser schreibt auf die Partition 1. Der Bootloader liegt aber auf der 2. Partition.
Dadurch wurde dein Dateisystem auf der Partition 1 überschrieben. Deshalb kann die SD Karte nicht mehr in das Dateisystem eingebunden werden. Leider sind alle Daten auf der Partition sdb1 dadurch gelöscht worden. Du hast hoffentlich noch eine Sicherungskopie.
Mit dem Befehl
cp arch/arm/boot/zImage /dev/sdb1
hast du direkt auf das Device geschrieben. Auch dies überschreibt dein Dateisystem und löscht alle Daten.

Wenn die SD Karte wieder ein Dateisystem hat und die Daten der Karte auf dem PC sichtbar sind, kannst du mit dem Befehl
mount
anzeigen lassen, wo das / Verzeichnis der SD Karte eingebunden wurde. Dieses Verzeichnis muß das Ziel des cp Befehls sein. Es sieht so aus wie von AG beschrieben.

Gruß
Joerg
joef
 
Posts: 26
Joined: Fri Jan 03, 2014 1:56 pm

Postby malacay » Sun Dec 02, 2012 12:00 am

Hi,

danke erst mal für die Antworten. Muss mir erst nochmal das SD.Card Image auf die SD-Card spielen. Und dann werde ich es noch mla probieren.

Gruß
malacay
 
Posts: 16
Joined: Fri Jan 03, 2014 1:56 pm

Postby malacay » Sun Dec 02, 2012 12:00 am

Hi,

ich habe keine Ahnung, wie ich meine SD-Card Partitionieren muss, damit ich das SD-Card-Image draufbekomme. Bei mir ist der Speicher der SD-Card noch nicht zugeordent. Ich muss ja zwei Partitionen erstellen, um das Image darauf zuspielen. Kann mir hierbei jemand weiterhelfen?

Danke,
Gruß
malacay
 
Posts: 16
Joined: Fri Jan 03, 2014 1:56 pm

Postby joef » Sun Dec 02, 2012 12:00 am

Hi malacay,
wenn du das Image von der Elektor Seite hast, brauchst du nicht partitionieren. Es funktioniert zwar so wie in der Info Datei beschrieben, allerdings reicht die letzte Zeile der Beschreibung aus. Mit dem dd Kommando wird alles was zuvor beschrieben ist wieder überschrieben. Dann kann man es auch weglassen

Also du brauchst nur dieses Kommando:
sudo dd if=/home/E_LINUX/gnublin.img of=/dev/sdb
(Bei dir heißt die Karte doch sdb oder? Bei mir heißt die SD Karte mmcblk0)

Hier nochmal der Link zur Elektor download Seite
http://www.elektor.com/magazines/2012/september/embedded-linux-made-easy-%283%29.2235803.lynkx

Vorsicht mit dem Device Namen, unter Umständen löschst du mit dem dd Kommando deine Festplatte vom PC!

Wiel Erfolg
Jörg
joef
 
Posts: 26
Joined: Fri Jan 03, 2014 1:56 pm

Postby joef » Sun Dec 02, 2012 12:00 am

Mit dem Kommando
fdisk -l
kann man sehen wie das Device der SD Karte heißt.
Beispiel:
[root@xs35 jf_linuxboard]# fdisk -lDisk /dev/sda: 115.0 GB, 115033153536 bytes255 heads, 63 sectors/track, 13985 cylinders, total 224674128 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x1f21a55a   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *          63    41961779    20980858+   c  W95 FAT32 (LBA)/dev/sda2        41963520    82923519    20480000   83  Linux/dev/sda3        82923520   134123519    25600000   83  Linux/dev/sda4       134123520   224673791    45275136    5  Extended/dev/sda5       134127616   138223615     2048000   83  LinuxDisk /dev/mmcblk0: 1973 MB, 1973420032 bytes255 heads, 63 sectors/track, 239 cylinders, total 3854336 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000403da        Device Boot      Start         End      Blocks   Id  System/dev/mmcblk0p1           32130     3839534     1903702+  83  Linux/dev/mmcblk0p2              63       32129       16033+  df  BootItPartition table entries are not in disk order[root@xs35 jf_linuxboard]#
joef
 
Posts: 26
Joined: Fri Jan 03, 2014 1:56 pm

Postby malacay » Mon Dec 03, 2012 12:00 am

Hallo joef, hallo Ag,

dank eurer Hilfe funktioniert es jetzt. Muss mich jetzt mal genauer mit Linux beschäftigen. Mach aber jetzt schon Spaß.

Gruß,
malacay
malacay
 
Posts: 16
Joined: Fri Jan 03, 2014 1:56 pm

Postby franzm » Mon Feb 25, 2013 12:00 am

Neue Frage:
Problem mit "make apex.bin".
Umgebung: Windows 8 64 bit Host
Virtualbox Linux Elektor-Virtualbox Guest System
/media/share ist einen geteilten Ordner mit Windows 8.
Ich arbeite in: /media/share/ElektorSources/ElektorLinuxBoardDownload_20120509/bootloader/work_1.6.8/

Alles lauft gut bis an "make apex.bin".
Ich bekomme die Fehlermeldung:

SYMLINK include/asm -> include /asm-arm
ln: failed to create symbolic link `include/asm': Read-only file system
make: [include/asm] Error 1 (ignored)

Wenn ich das Kommando erweitere nach "make -i apex.bin" bekomme ich eine ganze Reihe ähnlicher Fehlermeldungen.

ln: failed to create symbolic link `include/mach': Read-only file system
make: [include/mach] Error 1 (ignored)
src/arch-arm/entry/reset.c:36:27: fatal error: asm/bootstrap.h: No such file or directory
compilation terminated.
... und so weiter ...

Alle Ordner sind gekennzeichnet als drwxrwxrwx, alle Files als -rwxrwxrwx.

Meine Fragen:
1. Was tue ich falsch?
2. Welcher Read-only file system ist gemeint?
3. Sollte ich als root dies ausführen? Wie mache ich das denn? Ich habe versucht: "sudo make apex.bin" aber das hilft nicht.
4. Ist dies ein Virtualbox Problem?

Bitte eure Hilfe ...

Franz
franzm
 
Posts: 34
Joined: Thu Jan 02, 2014 3:29 pm

Postby ag » Mon Feb 25, 2013 12:00 am

Hallo Franz,

wenn ich die Fehlermeldung google, finde ich etliche Beitäge. Es scheint also um ein VirtualBox Problem zu handeln. Leicht vorzustellen, das VB sich noch auf Win8 einstellen muss.

Viele Grüße,
Ag
Ag
ag
 
Posts: 533
Joined: Thu Jan 02, 2014 10:37 am

PreviousNext

Return to Elektor-Mikrocontroller-Forum

Who is online

Users browsing this forum: No registered users and 1 guest