1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Firmware Downgrade Projekt

Dieses Thema im Forum "Root / Hacking / Modding für Samsung Galaxy" wurde erstellt von Thyrion, 05.08.2009.

  1. Thyrion, 05.08.2009 #1
    Thyrion

    Thyrion Threadstarter Ehrenmitglied

    Beiträge:
    11,846
    Erhaltene Danke:
    2,451
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Da mit dem Update (letzte Woche) scheinbar auch ein paar Probleme hinzugekommen sind, wäre es doch interessant eine (Win-freie) Möglichkeit anzubieten / zu beschreiben, wie man das Update wieder loswird und zurück zur alten Firmware kommt.

    Eine alte System.img hab ich in einem anderen Thread schon gesehen.
    Reicht das?
    Was fehlt sonst noch?
    Wie kommen wir daran?
     
  2. leromarinvit, 05.08.2009 #2
    leromarinvit

    leromarinvit Erfahrener Benutzer

    Beiträge:
    202
    Erhaltene Danke:
    13
    Registriert seit:
    08.07.2009
    /system und Kernel sollte sich leicht machen lassen. Einfach das recovery.img von multioptionSDK flashen, dann mit adb verbinden und die interne SD-Karte mounten (in der adb shell; geht wahrscheinlich mit mmcblk1p1 oder so mit einer externen auch):
    Code:
    mount /dev/block/mmcblk0p2 /sdcard
    Dann das gewünschte system.img und flash_eraseall rüberkopieren:
    Code:
    adb push system.img /sdcard
    adb push flash_eraseall /sdcard
    Und dann über adb shell:
    Code:
    /sdcard/flash_eraseall /dev/mtd/mtd1
    mount -t yaffs2 /dev/block/mtdblock1 /system
    cd /system
    unyaffs /sdcard/system.img
    reboot
    Das flash_eraseall gibts hier; eventuell sollte man das vielleicht in ein neues recovery.img integrieren. Aber nicht unbedingt meine Version, die ist statisch mit glibc gelinkt und daher viel größer als nötig.

    Den alten Kernel hab ich nicht, aber davon könnte jemand, der das Update nicht installiert hat, recht einfach ein Image erstellen (auch im recovery mode):
    Code:
    dump_image boot /sdcard/kernel.img
    Und dann halt mit adb pull oder sonstirgendwie rüberkopieren. Den müsste man dann sowohl mit fastboot als auch mit flash_image (auf mtd0) flashen können.

    Beim Radio wirds schwieriger, da müsste man erstmal rausfinden, wo das genau im Flash liegt, und dann noch den Kernel modifizieren, damit man drauf zugreifen kann. Beim Bootloader vermute ich, dass der auf 0x02500000 liegt (boot/mtd0 fäng bei 0x02560000 an), aber das müsste man natürlich auch erstmal prüfen.
     
    Zuletzt bearbeitet: 05.08.2009
  3. mactron, 05.08.2009 #3
    mactron

    mactron Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    54
    Registriert seit:
    29.07.2009
    Also ich würde da doch lieber warten. Mein Erfahrungen mit Firmware Downgrades bei Handys waren bisher eher schlecht. Weiss allerdings nicht, wie das bei Android ist. Aber ich befürcht, dass eher mehr kaputt geht und man hinterher ein sackteuren Briefbeschwere in schönem Schwarz hat, vorallem wenn man sich nicht auskennt.
     
  4. leromarinvit, 05.08.2009 #4
    leromarinvit

    leromarinvit Erfahrener Benutzer

    Beiträge:
    202
    Erhaltene Danke:
    13
    Registriert seit:
    08.07.2009
    Schon klar, wer sich mit Linux nicht gut auskennt, sollte davon lieber die Finger lassen. Wenn du das falsche löschst oder überschreibst, ist das Handy Toast (oder im besten Fall nur schwer wiederbelebbar).

    Das was ich beschrieben hab, hab ich gestern auch so ausprobiert und mein Handy lebt noch (siehe auch den verlinkten Post). Garantie gibts natürlich trotzdem keine. Wenn das Galaxy nach dem Downgrade deinen Hund frisst, bin ich nicht schuld. ;)
     
  5. Thyrion, 05.08.2009 #5
    Thyrion

    Thyrion Threadstarter Ehrenmitglied

    Beiträge:
    11,846
    Erhaltene Danke:
    2,451
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Update habe ich auch drauf, sonst würde ich das mit dem Kernel-Image machen.

    Beim Umflashen besteht natürlich immer ein Risiko... Mein Ziel ist im Moment auch eher herauszufinden, ob die Möglichkeit besteht, ob wir diese Möglichkeit (für uns und andere) schaffen wollen und wieviel Aufwand das bedeutet.

    Solange Fastboot noch geht, man dann ein funktionierendes Recovery Image flashen kann ist man doch weit vom edlen Briefbeschwerer oder der Buchstütze entfernt ;) (vielleicht hat man ja auch Glück und kommt günstig an ein zweites Exemplar zum Ausprobieren - vielleicht sogar ein halb verflashtes, dem man wieder Leben einhauchen kann)
     
    Zuletzt bearbeitet: 05.08.2009
  6. mactron, 05.08.2009 #6
    mactron

    mactron Fortgeschrittenes Mitglied

    Beiträge:
    413
    Erhaltene Danke:
    54
    Registriert seit:
    29.07.2009
    Wollte damit nur sagen, dass hier nicht ein *Ich habe bisher noch nicht mal Windows von der Recovery Partition neu installiert bekommen* User kommt, ja die gibt es hier auch ;). Sich dann über die ganze "komischen" Befehle wundert ("komisch die funktionieren unter "DOS" garnicht?") es dann doch irgendwie hinbekommt, dabei aber das Gerät schrottet.
     
  7. Thyrion, 05.08.2009 #7
    Thyrion

    Thyrion Threadstarter Ehrenmitglied

    Beiträge:
    11,846
    Erhaltene Danke:
    2,451
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Och... Ich zahl 5 € für den Briefbeschwerer ;) -- aber nur, solange ich noch keine 10 Stück habe, oder das Tragen zur Recycling-Stelle teuerer wird... *g*

    P.S: Ich weiß, das ist total OFFTOPIC
     
  8. leromarinvit, 05.08.2009 #8
    leromarinvit

    leromarinvit Erfahrener Benutzer

    Beiträge:
    202
    Erhaltene Danke:
    13
    Registriert seit:
    08.07.2009
    Hab dabei an JesusFrekes erste Flash-Versuche gedacht - beim G1 kann man offenbar ausm recovery ganz einfach den Bootloader flashen. Beim Galaxy scheint das auf den ersten Blick nicht so zu sein, aber man weiß ja nie, vielleicht ist der ja doch bei "boot" dabei... Werde auf jeden Fall nochmal ein Image von mtd0 machen und mit dem Update-Kernel vergleichen, ob die wirklich gleich sind.
     
  9. Sepp, 05.08.2009 #9
    Sepp

    Sepp Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    2
    Registriert seit:
    04.08.2009
    Sieht eher nicht so aus:
    Code:
    $ strings boot.img 
    ANDROID!
     -- System halted
    ran out of input data
    Malloc error
    Out of memory
    incomplete literal tree
    incomplete distance tree
    bad gzip magic numbers
    internal error, invalid method
    Input is encrypted
    Multi part input
    Input has invalid flags
    invalid compressed format (err=1)
    invalid compressed format (err=2)
    out of memory
    invalid compressed format (other)
    crc error
    length error
    Uncompressing Linux...
     done, booting the kernel.
    ...
    
    Habe keine Strings gefunden, die aus fastboot hindeuten.

    Aber genau wird man es wohl erst wissen wenn jemand seine boot Partition löscht.
     
  10. leromarinvit, 05.08.2009 #10
    leromarinvit

    leromarinvit Erfahrener Benutzer

    Beiträge:
    202
    Erhaltene Danke:
    13
    Registriert seit:
    08.07.2009
    Hab grad meinen gestern erstellten Dump von mtd0 mit dem hdblog-Kernel verglichen - 1:1 identisch. Gibt also keine Gefahr, den Bootloader zu löschen. Sobald jemand den alten Kernel dumped, können ihn andere auch wieder verwenden:

    Flashen geht am einfachsten via fastboot:
    Code:
    fastboot erase boot
    fastboot flash boot kernel.img
    oder via adb shell (flash_eraseall natürlich vorher wieder hinkopieren):
    Code:
    /somewhere/flash_eraseall /dev/mtd/mtd0
    flash_image boot kernel.img
     
    Zuletzt bearbeitet: 05.08.2009
  11. Thyrion, 06.08.2009 #11
    Thyrion

    Thyrion Threadstarter Ehrenmitglied

    Beiträge:
    11,846
    Erhaltene Danke:
    2,451
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X
    Das klingt doch schonmal super. Danke.
     
  12. floe, 07.08.2009 #12
    floe

    floe Android-Hilfe.de Mitglied

    Beiträge:
    51
    Erhaltene Danke:
    1
    Registriert seit:
    17.07.2009
    Hallo zusammen,

    ich denke, die Frage passt hier ganz gut rein: kann mir jemand im Detail sagen, wie der recovery mode funktioniert? Was ich schon weiss, ist folgendes:
    - Man kommt rein via VolumeDown+Call+Power.
    - Wenn man dann nochmal Power drückt, wird das Recovery gestartet (grade schmerzhaft festgestellt, ich dachte dafür ist die Menu-Taste.. :( ). Welche Optionen gibts noch?

    Der Rest ist jetzt geraten:
    - Beim Recovery bootet das Galaxy einfach nicht von mtd0, sondern von mtd3 und startet dann brav init, aber die spezielle init.rc startet dann nur /sbin/recovery.
    - /sbin/recovery macht dann ein Wipe auf die Daten- und Cachepartitionen (d.h. mtd2,mtd4 und mtd5).

    Soweit korrekt?

    Danke, CU Floe
     
  13. multioptionSDK, 07.08.2009 #13
    multioptionSDK

    multioptionSDK Junior Mitglied

    Beiträge:
    42
    Erhaltene Danke:
    1
    Registriert seit:
    30.07.2009
    In /sbin/recovery ist hard eincodiert was im recovery passiert. Im original Samsung wird wohl nur ein Wipe der Daten gemacht. Ob auch ota-updates funktionieren kann man jetzt noch nicht sagen.

    Das mit dem recovery aus versehen gestartet tut mir leid. Ich hab damals Menu gedrückt, und "freute" mich dann auch über das recovery. :D

    multioptionSDK
     
  14. floe, 08.08.2009 #14
    floe

    floe Android-Hilfe.de Mitglied

    Beiträge:
    51
    Erhaltene Danke:
    1
    Registriert seit:
    17.07.2009
    Hat es eigentlich schon jemand geschafft, via "fastboot boot" einen Kernel + Ramdisk direkt aus dem RAM ohne Flashen zu starten? Ich hab mal das Original-Recovery-Image aus dem Samsung-Update gesplittet und mit der passenden cmdline rübergeschickt, aber ausser "booting linux..." passiert dann nix mehr.
     
  15. Sepp, 08.08.2009 #15
    Sepp

    Sepp Android-Hilfe.de Mitglied

    Beiträge:
    46
    Erhaltene Danke:
    2
    Registriert seit:
    04.08.2009
    Genauso bei mir, ich habe das Gefühl, dass Samsungs fastboot ein paar Bugs hat. fastboot reboot funktioniert bei mir nämlich auch nicht.
     
  16. leromarinvit, 13.08.2009 #16
    leromarinvit

    leromarinvit Erfahrener Benutzer

    Beiträge:
    202
    Erhaltene Danke:
    13
    Registriert seit:
    08.07.2009
    Erbarmt sich denn keiner? So ein Kernel-Dump ist wirklich nicht schwer...

    Ich glaube, ein Baseband-Downgrade könnte möglich sein, sobald wir den Kernel-Source von Samsung haben. Dann könnte man eine weitere mtd partition (mtd6) eintragen und auf den Rest vom Flash zugreifen. Man kann natürlich auch das Binary patchen, das ist aber umständlicher (weil bei der kernel command line [vermutlich, hab noch nicht geschaut] nicht genug Platz ist).

    Damit wären wahrscheinlich die Market-Probleme gelöst.
     
  17. Thyrion, 13.08.2009 #17
    Thyrion

    Thyrion Threadstarter Ehrenmitglied

    Beiträge:
    11,846
    Erhaltene Danke:
    2,451
    Registriert seit:
    21.07.2009
    Phone:
    Nexus 5X

Diese Seite empfehlen