kopieren der kernel und uboot in sdcard
Ich habe einen Freescale I. MX ARM-board für die ich mich vorbereiten bootloader, kernel und Root-Dateisystem auf der sdcard.
Ich bin ein wenig verwirrt über die Reihenfolge, in der die I-partition und kopiere meine Dateien in sdcard. Lassen Sie uns sagen, ich habe eine leere sdcard 4GB Größe. Früher habe ich gparted auf der ersten parition in:
Erste partition 400 MB-Größe als FAT32-system. dies ist meine boot-partition
Zweite partition ist der rest der Karte als ext3. Das ist mein root-Dateisystem-partition.
Lassen Sie uns sagen, meine SD-Karte ist unter /dev/sdb.
Nun habe ich gesehen, dass viele Dokumente unterschiedlichen etwas in der Art von kopieren der boot-Dateien.
Welches ist der richtige Weg?
Methode 1:
(ohne Montage sdb Partitionen:
sudo dd if=u-boot.bin of=/dev/sdb bs=512 seek=2
sudo dd if=uImage of=/dev/sdb bs=512 seek=2
Mount sdb2 kopieren rootfs:
mount /dev/sdb2 /mnt/rootfs
kopiere rootfs:
tar -xf-tarfile /mnt/rootfs
Methode 2:
Mount-sdb1 boot-partition:
mount /dev/sdb1 /mnt/boot
kopieren uboot und kernel:
cp u-boot.bin /mnt/boot/
cp uImage /mnt/boot/
Dann kopiere rootfs wie oben!
Welche ist die richtige. Ich habe zwei, aber die sddcard ist auch nicht Booten.
Wenn ich versuchte die Methode 1, die Karte starten bis er sagt, dass das rootfs nicht gefunden wird in der partition. Ich entfernt und die Karte eingesetzt und festgestellt, dass die erste fat 32-partition irgendwie zerstört", wie er sagt, 'nicht zugeordneten' auf gparted.
Bitte helfen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie markieren die erste partition als bootbar.
Überprüfen Sie Ihre ersten details zur partition in gparted oder das Festplatten-Dienstprogramm.
Vom Festplatten-Dienstprogramm Sie cab markieren Sie eine partition bootfähig. durch die Auswahl der entsprechenden partition und gehen in 'mehr action' - option --> 'edit partition type'.
unten ist das script um flash-binaries auf SD-Karte für meine
Arndale OCTA-board. Sehen Sie die Platzierung der bootloader Binärdateien:
BL1
dd iflag=dsync oflag=dsync wenn=arndale_octa.bl1.bin of=/dev/sde bs=512 seek=1
BL2
dd iflag=dsync oflag=dsync if=../arndale_octa.bl2.bin of=/dev/sde bs=512 seek=31
uboot
dd iflag=dsync oflag=dsync if=u-boot.bin of=/dev/sde bs=512 seek=63
kernel und Vertrauen, software , ....
Bitte Hinweise:
1) ist Die Partitionstabelle auf SDcard offset 0 (seek 0), dann haben Sie zu laufen:fdisk /dev/sde
und erstellen paratiions, dass nicht überlappende Blöcke mit ocppuied von kernel oder Vertrauen software.
2) fügen Sie die "dsync" - option im dd-Befehl auf Garantie alle geschriebenen Daten sofort gespült in die SD-Karte
In den meisten Fällen, imx Prozessor erfordert bootloader auf 0 x 400 offset. Also, was immer du tust, für u-boot-korrekt ist, müssen Sie den Befehl dd verwenden, für, die.
Während der Partitionierung der sd-Karte, Stellen Sie sicher, dass Sie halten genug Platz für u-boot-image. So starten Sie Ihre 1. bootfähige partition von sagen wir mal 1 MB offset.
Können Sie einfach kopieren Sie Ihre uImage und environment-Variablen uEnv.txt oder boot.scr) durch
cp
Befehl.Für rootfs können, können Sie auch Folgen Sie den gleichen Schritten wie kernel.