Hallo Goetz,
Meine DS212+ befindet sich im Streik, so dass ich mich während der letzten 2 Tage erstmals mit embedded Linux beschäftigt habe.
Nach vielen Stunden Lektüre und Ausprobieren bin ich nun so weit, dass ich seriell angeschlossen bin. Dank deines Beitrags anno 2011 weiss ich nun, wie ich das Kernel-Image (zImage) wie auch die Ramdisk (rd.bin) per tftp herunterladen und einbinden kann. Mir geht es dabei gleich wie Dark Dragon damals, dass die Speicheradresse 0x900000 für die rd.bin nicht ausreichte und ich deinem Vorschlag gemäss auf die zwei Speicheradressen 0x2000000 und 0x3000000 auswich. Leider strande aber auch ich am selben Ort wie Dark Dragon dazumal, nämlich dass das ganze in einer Kernel Panic endet.
Du hattest damals einen Lösungsvorschlag. In Beitrag 9 hast du anhand des Flashlayouts ausgerechnet, wo die rd.bin genau hinkopiert werden muss.
Auch ich habe diese Rechnung für mich gemacht anhand folgender Angaben:
Demnach beginnt die Flash-Partition also bei der Adresse 0xF8000000. Um die erwartete Position von rd.bin bzw. rd.gz herauszufinden, muss deren relative Position, nämlich 0x280000 zur Anfangsadresse dazugerechnet werden, was 0xF8280000 ergibt.
Die nächsten Schritte sind dann, gemäss deinen damaligen Anweisungen:
Um die Adresse des Endwerts für den erase-Befehl zu berechnen, hast du die Speichergrösse von rd.bin im Flash Layout zur Anfangsadresse dazugerechnet (minus 1). Leider kenne ich das Flash-Layout in meinem Fall aber nicht und verstehe nicht, woher ich die Information erhalte. Ohne dieses kann ich die Grösse von rd.bin im Flash nicht feststellen und damit fehlt mir der Endwert für den erase-Befehl.
Kannst du mir hier weiterhelfen?
Grüsse,
Vik
Meine DS212+ befindet sich im Streik, so dass ich mich während der letzten 2 Tage erstmals mit embedded Linux beschäftigt habe.
Nach vielen Stunden Lektüre und Ausprobieren bin ich nun so weit, dass ich seriell angeschlossen bin. Dank deines Beitrags anno 2011 weiss ich nun, wie ich das Kernel-Image (zImage) wie auch die Ramdisk (rd.bin) per tftp herunterladen und einbinden kann. Mir geht es dabei gleich wie Dark Dragon damals, dass die Speicheradresse 0x900000 für die rd.bin nicht ausreichte und ich deinem Vorschlag gemäss auf die zwei Speicheradressen 0x2000000 und 0x3000000 auswich. Leider strande aber auch ich am selben Ort wie Dark Dragon dazumal, nämlich dass das ganze in einer Kernel Panic endet.
Rich (BBCode):
[ 19.030000] No filesystem could mount root, tried: ext3 ext2 ext4
[ 19.030000] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(9,0)
Du hattest damals einen Lösungsvorschlag. In Beitrag 9 hast du anhand des Flashlayouts ausgerechnet, wo die rd.bin genau hinkopiert werden muss.
Auch ich habe diese Rechnung für mich gemacht anhand folgender Angaben:
Rich (BBCode):
[ 18.680000] physmap platform flash device: 00400000 at f8000000
[ 18.690000] SPI Serial flash detected @ 0xf8000000, 4096KB (64sec x 64KB)
[ 18.700000] Searching for RedBoot partition table in SYNOMTD-0 at offset 0x3f0000
[ 18.710000] 6 RedBoot partitions found on MTD device SYNOMTD-0
[ 18.710000] SYNOMTD flash bank 0: Using RedBoot partition definition
[ 18.720000] Creating 6 MTD partitions on "SYNOMTD-0":
[ 18.730000] 0x000000000000-0x000000080000 : "RedBoot"
[ 18.730000] 0x000000080000-0x000000280000 : "zImage"
[ 18.740000] 0x000000280000-0x0000003c0000 : "rd.gz"
[ 18.740000] 0x0000003c0000-0x0000003d0000 : "vendor"
Demnach beginnt die Flash-Partition also bei der Adresse 0xF8000000. Um die erwartete Position von rd.bin bzw. rd.gz herauszufinden, muss deren relative Position, nämlich 0x280000 zur Anfangsadresse dazugerechnet werden, was 0xF8280000 ergibt.
Die nächsten Schritte sind dann, gemäss deinen damaligen Anweisungen:
Code:
protect off all
erase f8280000 <Endwert>
cp.b 3000000 f8280000 <Hex-Grösse der rd.bin, in meinem Fall FFB0C>
protect on all
reset
Um die Adresse des Endwerts für den erase-Befehl zu berechnen, hast du die Speichergrösse von rd.bin im Flash Layout zur Anfangsadresse dazugerechnet (minus 1). Leider kenne ich das Flash-Layout in meinem Fall aber nicht und verstehe nicht, woher ich die Information erhalte. Ohne dieses kann ich die Grösse von rd.bin im Flash nicht feststellen und damit fehlt mir der Endwert für den erase-Befehl.
Kannst du mir hier weiterhelfen?
Grüsse,
Vik