rkflashtool mit Linux

R

RainerWP

Fortgeschrittenes Mitglied
17
Hi,

hat jemand schon mal mit dem rkflashtool von XDA unter Linux ein boot.img gesichert ?

Ich bin gerad ein bischen am testen und wundere mich über die Größe der boot.img
Das habe ich gemacht :
Code:
/usr/local/bin/rkflashtool r 0x00008000 0x00002000 > ./Images/boot.img-backup

ls -atl boot.img 
-rw-r--r-- 1 root   root   4194296 2012-02-07 05:15 boot-img

dd if=boot.img of=boot.gz bs=8 skip=1 

ls -atl boot.gz
-rw-r--r-- 1 root   root     4194296 2012-02-07 05:24 boot.gz

cd temp-boot

gunzip -c ../boot.gz | cpio -i 

gzip: ../boot.gz: decompression OK, trailing garbage ignored
4520 blocks

du -sh temp-boot
2,3M	temp-boot
cd temp-boot 
ls -alt 
-rwx------ 1 root   root   1849160 2012-02-07 05:33 busybox
drwxr-xr-x 8 root   root      4096 2012-02-07 05:33 .
-rwxr-xr-x 1 root   root       115 2012-02-07 05:33 init.sh
-rw-r--r-- 1 root   root       242 2012-02-07 05:33 default.prop
-rwxr-x--- 1 root   root     94200 2012-02-07 05:33 init
-rw-r--r-- 1 root   root         0 2012-02-07 05:33 ueventd.goldfish.rc
-rwxr-x--- 1 root   root    115884 2012-02-07 05:33 initlogo.rle
drwxr-xr-x 2 root   root         6 2012-02-07 05:33 proc
-rw-r--r-- 1 root   root      1053 2012-02-07 05:33 ueventd.rk29board.rc
drwxrwx--x 2 root   root         6 2012-02-07 05:33 data
-rwxr-x--- 1 root   root      2630 2012-02-07 05:33 init.rk29board.rc
drwxr-x--- 2 root   root        31 2012-02-07 05:33 sbin
drwxr-xr-x 2 root   root         6 2012-02-07 05:33 dev
drwxr-xr-x 2 root   root         6 2012-02-07 05:33 sys
-rwxr-x--- 1 root   root        45 2012-02-07 05:33 init_battery.sh
-rwxr-x--- 1 root   root      1677 2012-02-07 05:33 init.goldfish.rc
drwxr-xr-x 2 root   root         6 2012-02-07 05:33 system
-rw-r--r-- 1 root   root      3764 2012-02-07 05:33 ueventd.rc
-rw-r--r-- 1 root   root    113525 2012-02-07 05:33 rk29xxnand_ko.ko
-rwxr-x--- 1 root   root     15044 2012-02-07 05:33 init.rc
Die boot.img aus dem Update von PopEi ist nur 456KB groß, während meine 4,0MB groß ist.
Hat jemand eine Erklärung ?
Die 1,8 MB die die busysbox verbrät können es ja nicht sein.

Danke und bis dann..........

Rainer
 
Der zweite Wert sollte 0x00008000 sein, wenn ich die parameter anschaue ...

Meine boot.img ist auch größer als die originale, da busybox und etliche Kernelmodule mit drin sind.

Thomas.

Gesendet von meinem Odys-Loox mit Tapatalk
 
Zuletzt bearbeitet:
ich schätze mal du machst einen kompletten dump der Partition. Also sicherst auch die nicht beschriebenen Bereiche mit. Die Partition ist 4MB groß laut parameter Datei.

MfG
 
  • Danke
Reaktionen: RainerWP
Hi Thomas,

lt. "cat /proc/cmdline" ist die Größe 0x00008000, da hast du recht.
lt. der cmdline die in der parameter von PopEi und auch in der Original von Odys angegeben ist, ist die Größe 0x00002000

Ich habe aber auch mal einen Dump mit 0x00008000 ausprobiert, gleiches Ergebniss.

Die paar Kernelmodule und busybox sollten aber doch nicht so einen gravierenden Unterschied machen oder ?

Bis dann..........

Rainer
 
netlars schrieb:
ich schätze mal du machst einen kompletten dump der Partition. Also sicherst auch die nicht beschriebenen Bereiche mit. Die Partition ist 4MB groß laut parameter Datei.

MfG


Hi,

das heißt ich muss mir keine Sorgen machen das ich da was verkehrt auslese, korrekt ??

Bis dann...........

Rainer
 
korrekt, ich hatte mich auch erst gewundert
 
Hi,


ok, vielen Dank. Dann kann ich ja weiter testen :)
Das gleiche trifft dann ja auch auf die anderen images zu.

Bis dann...............

Rainer
 
Es kommt z. B. auch auf die Größe des Init-Bootlogos an. Das hat im Original 117 kb, beim EXT4-Image 1,2 MB. Busybox hat bei mir 2 MB und schon werden aus 500 kb 3 MB, wenn man die Kernelmodule noch dazu rechnet.

Alles im Lot also.

Thomas.
 
  • Danke
Reaktionen: RainerWP
Hi,

das passt schon, der erste Parameter ist der Offset, der zweite die Groesse.
0x00002000@0x00008000(boot) = size at offset
Und rkflashtool erwartet

rkflashtool r/w offset size

Also liest Du genau:

8 192 * 512 = 4 194 304 Bytes. Passt doch genau. 512 ist die typische
Groesse eines Blocks im Flash.


Viele Gruesse
ropa
 
... so hat jeder seine ganz individuelle "parameter" geflasht und die entsprechenden Werte dazu zu berücksichtigen ... :)

Thomas.
 
ropa schrieb:
das passt schon, der erste Parameter ist der Offset, der zweite die Groesse.
0x00002000@0x00008000(boot) = size at offset
Und rkflashtool erwartet

rkflashtool r/w offset size

Also liest Du genau:

8 192 * 512 = 4 194 304 Bytes. Passt doch genau. 512 ist die typische
Groesse eines Blocks im Flash.
also für mich passt das nicht ....
der erste Parameter ist Größe, der zweite Offset.
hier was ich mit einem sed-Parser erhalte:
Code:
boot
0x00002000@0x00008000 ./Image/boot.img
kernel
0x00004000@0x00004000 ./Image/kernel.img
system
0x00080000@0x0000e000 ./Image/system.img
misc
0x00002000@0x00002000 ./Image/misc.img
recovery
0x00004000@0x0000a000 ./Image/recovery.img
wenn der erste Wert der Offset währe, wie kann es denn dann sein dass boot und misc denselben Offset haben, und ebenso kernel und recovery?
Für meine Behauptung spricht auch der Screenshot vom RKAndroidTool;
die Offsets entsprechen exakt den jeweils zweiten Werten ...
 

Anhänge

  • rkandroidtool.png
    rkandroidtool.png
    6,2 KB · Aufrufe: 1.532
Nichts anderes hat ropa geschrieben: Erster Wert ist offset, 2. Wert ist size (rkflashtool betreffend!!!)

Code:
rkflashtool w 0x00008000 0x00002000 < /pfad/zur/boot.img

Und dann als Beispiel:


0x00002000@0x00008000(boot) = size at offset

So steht es in der parameter oder cmdline - also genau andersrum: Size at Offset.


Ist doch alles korrekt!?


Thomas.
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: wusel
Wo wir gerade bei diesem Thema sind: gestern abend ist es uns gelungen das Xpress von wishmasterf unter Linux zu zerflashen .... :rolleyes2:
da Rainer's Script leider noch nur lesen kann (zumindest die Version die ich habe) war Not am Mann, und ich habe mein Script zumindest soweit fertig gestellt dass damit das Flashen besonders auch der parameter möglich ist ...
war wir unbedingt noch checken müssen ist ob die Methode wie man ein EraseIDB macht sowie das 5x Flashen der parameter so ok ist ...
(das Script enthält bereits die Funktion für den EraseIDB, aber ist noch nicht als Menue-Punkt implementiert - ich hatte einfach diese Nacht keine Lust mehr, auch weil ich frustriert war dass ich wishmaster mit 'nem kaputten Xpress schlafen gehen lassen musste ...
Also, bitte an alle Linux-User: checkt das Script, googlet mal wie man den IDB löscht, und was es mit den 5x parameter aus sich hat, und verbessert das Script sodass wir endlich mal etwas Brauchbares für Linux haben!
 
Zuletzt bearbeitet:
Zerflashen heißt was?

Er musste unter Windows neu flashen? Wenn ja, das habe ich schon zigmal hinter mir, da das rkflashtool hier und da nicht ein Byte auf den NAND schreibt, obwohl das LOOX korrekt angeschlossen und per lsusb erkannt wird.

Ich flashe nur noch die boot.img mit dem rkflashtool, die system.img nicht mehr.

Thomas.
 
fluxflux schrieb:
Ich flashe nur noch die boot.img mit dem rkflashtool, die system.img nicht mehr.
Thomas.

Hi,

wer flashed denn überhaupt unter Linux und was wird geflashed.
Wenn das flashen unter Linux nicht so zuverlässig ist, sehe ich keinen
Sinn darin wusel's oder mein Skript weiterzuentwickeln.
Ich selbst habe bis jetzt nur das boot.img mehrmals mit Erfolg unter Linux mit meinem Skript geflashed.

Bis dann...............

Rainer
 
Hi Rainer,
RainerWP schrieb:
wer flashed denn überhaupt unter Linux und was wird geflashed.
Wenn das flashen unter Linux nicht so zuverlässig ist, sehe ich keinen
Sinn darin wusel's oder mein Skript weiterzuentwickeln.
Ich selbst habe bis jetzt nur das boot.img mehrmals mit Erfolg unter Linux mit meinem Skript geflashed.
ich denke mal die Probleme die fluxflux da anspricht können vielfältiger Natur sein; vielleicht hängt es mit gewissen Versionen von libusb zusammen, oder auch 32 vs. 64 Bit Systemen; wir sollten hierzu mal Infos sammeln; vielleicht auch lohnenswert sich den rkflashtool Source mal genauer zu betrachten, vielleicht fällt dem einen oder anderen ja was auf wie z.B. inkompatible Datentypen die auf 32 und 84 Bit anders sind und problematisch sein können?
Ansonsten denke ich ist es aber ganz wichtig dass wir herausfinden ob die Methode die ich in meiner letzten Version des Scripts benutze zum Löschen des IDB wirklich brauchbar und korrekt ist, und wie es mit dem 5x Flashen der parameter aussieht ...; ich glaube hierzu kann im Moment erstmal nur intensives Googlen und Surfen durch andere Foren helfen ...
tja, und dann brauchen wir letztendlich mutige Tester die bereit sind mehrfach hin und her zu flashen und die für die Fälle wenn's daneben geht Zugriff auf Windows-Maschinen haben um es wieder gerade zu biegen ...
 
Ich habe gerade gestern die system.img dreimal mit Linux geflasht, es wurde unterschiedlich schnell auf den NAND geschrieben, letztlich kam nichts Brauchbares dabei heraus.

Es blieb nur ein Flashen mit dem Odys-Flashprogramm unter Windows übrig!

Die boot.img dagegen kann ich problemlos unter Linux mit dem rkflashtool flashen. Auch 5mal hintereinander.

Thomas.
 
fluxflux schrieb:
Ich habe gerade gestern die system.img dreimal mit Linux geflasht, es wurde unterschiedlich schnell auf den NAND geschrieben, letztlich kam nichts Brauchbares dabei heraus.

Es blieb nur ein Flashen mit dem Odys-Flashprogramm unter Windows übrig!

Die boot.img dagegen kann ich problemlos unter Linux mit dem rkflashtool flashen. Auch 5mal hintereinander.

Thomas.
Bitte Info: Linux-Distro, 32/64 Bit, libusb Version
wenn Du 64-bittig unterwegs bist dann teste doch bitte mal mit einer 32-bit Version; ich denke dürfte reichen die 32-bit libsub + devel zu installieren, und das Tool mit -m32 zu complilieren ...
 
fluxflux schrieb:
Die boot.img dagegen kann ich problemlos unter Linux mit dem rkflashtool flashen. Auch 5mal hintereinander.
Thomas.
boot.img habe ich die letzten Tage mindenstens 20x oder so mit linux ohne Probleme geflashed.
Erst heute morgen wieder 3x relativ kurz hintereinander.
Beim nächsten flashen werde ich mal die Zeit stoppen.
system.img noch nie da mein System im Moment so schön rund läuft :smile:

Bis dann........

Rainer
 

Ähnliche Themen

A
Antworten
0
Aufrufe
1.328
Adrelina
A
Pipolino
  • Pipolino
Antworten
0
Aufrufe
1.636
Pipolino
Pipolino
Kloana001
  • Kloana001
Antworten
0
Aufrufe
705
Kloana001
Kloana001
Zurück
Oben Unten