rkflashtool mit Linux

Dieses Thema im Forum "Odys Allgemein" wurde erstellt von RainerWP, 07.02.2012.

  1. RainerWP, 07.02.2012 #1
    RainerWP

    RainerWP Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012
    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
     
  2. fluxflux, 07.02.2012 #2
    fluxflux

    fluxflux Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    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: 07.02.2012
  3. netlars, 07.02.2012 #3
    netlars

    netlars Fortgeschrittenes Mitglied

    Beiträge:
    339
    Erhaltene Danke:
    92
    Registriert seit:
    05.11.2011
    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
     
    RainerWP bedankt sich.
  4. RainerWP, 07.02.2012 #4
    RainerWP

    RainerWP Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012
    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
     
  5. RainerWP, 07.02.2012 #5
    RainerWP

    RainerWP Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012

    Hi,

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

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

    Rainer
     
  6. netlars, 07.02.2012 #6
    netlars

    netlars Fortgeschrittenes Mitglied

    Beiträge:
    339
    Erhaltene Danke:
    92
    Registriert seit:
    05.11.2011
    korrekt, ich hatte mich auch erst gewundert
     
  7. RainerWP, 07.02.2012 #7
    RainerWP

    RainerWP Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012
    Hi,


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

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

    Rainer
     
  8. fluxflux, 07.02.2012 #8
    fluxflux

    fluxflux Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    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.
     
    RainerWP bedankt sich.
  9. ropa, 07.02.2012 #9
    ropa

    ropa Junior Mitglied

    Beiträge:
    29
    Erhaltene Danke:
    8
    Registriert seit:
    11.01.2012
    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
     
  10. fluxflux, 07.02.2012 #10
    fluxflux

    fluxflux Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    ... so hat jeder seine ganz individuelle "parameter" geflasht und die entsprechenden Werte dazu zu berücksichtigen ... :)

    Thomas.
     
  11. wusel, 07.02.2012 #11
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    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:

  12. fluxflux, 07.02.2012 #12
    fluxflux

    fluxflux Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    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:


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


    Ist doch alles korrekt!?


    Thomas.
     
    Zuletzt bearbeitet: 07.02.2012
    wusel bedankt sich.
  13. wusel, 07.02.2012 #13
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    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: 07.02.2012
  14. fluxflux, 07.02.2012 #14
    fluxflux

    fluxflux Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    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.
     
  15. wusel, 07.02.2012 #15
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    sorry, ja isses ... :winki:
    das
    habe ich wohl irgendwie überlesen ....
     
  16. RainerWP, 08.02.2012 #16
    RainerWP

    RainerWP Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012
    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
     
  17. wusel, 10.02.2012 #17
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    Hi Rainer,
    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 ...
     
  18. fluxflux, 10.02.2012 #18
    fluxflux

    fluxflux Android-Experte

    Beiträge:
    845
    Erhaltene Danke:
    265
    Registriert seit:
    30.11.2011
    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.
     
  19. wusel, 10.02.2012 #19
    wusel

    wusel Android-Experte

    Beiträge:
    656
    Erhaltene Danke:
    231
    Registriert seit:
    27.12.2011
    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 ...
     
  20. RainerWP, 10.02.2012 #20
    RainerWP

    RainerWP Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    111
    Erhaltene Danke:
    17
    Registriert seit:
    09.01.2012
    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
     

Diese Seite empfehlen