Zurück   Android-Hilfe.de > Hersteller Foren > Samsung Forum > Samsung Galaxy S2 (I9100) Forum > Root / Hacking / Modding für Samsung Galaxy S2


Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!

Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Das Thema "Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel" befindet sich unter Root / Hacking / Modding für Samsung Galaxy S2 auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 01.08.2012, 12:14   #1 (permalink)
Android-Lexikon

Registriert seit: 27.01.2012
Beiträge: 1.564
Abgegebene Danke: 24
Erhielt 615 Danke für 352 Beiträge
Standard Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Einleitung

Wie es bereits bekannt ist, existiert in den Samsung Stock-ICS 4.0.4 Rom wieder der Superbrick-Bug, der bei Wipe-Operationen in der Recovery den interen Flashspeicher zerschießt und aus dem S2 einen Briefbeschwerer macht.
Bisher war es für den normalen User nicht möglich zu erkennen, ob der Kernel eines neuen ICS-Releases den Bug besitzt, ohne sein Handy danach zum Service-Center schicken zu müssen. Grundsätzlich wird und wurde bei jedem neuen Release angenommen, dass dieser Brick-gefährdet ist.
Tungstwenty bei XDA hat eine Methode gefunden, den Kernel völlig gefahrenlos auf den Brick-Bug zu testen und den betroffenen MMC_CAP_ERASE Befehl zu deaktivieren.

Erkennen des Bugs

Jeder Kernel mit aktivierten MMC_CAP_ERASE löst den Brick-Bug aus. Zur Erkennung des Bugs muss also erkannt werden, ob dies bei dem zu untersuchenden Kernel der Fall ist.

Voraussetzungen:

Linux
oder
Windows mit Cygwin
Tungstwentys Script
Kernel als zImage

Durchführung:

Zur Untersuchung des Kernels das Script ausführen und den Kernel-Namen als Argument einfügen.
Bei Windows und Cygwin empfehle ich, sowohl das Script als auch den Kernel per Drag&Drop in das Cygwin Terminal Fenster zu schieben. Dabei auch darauf achten, dass beim Kernel-Pfad keine Leerzeichen vorhanden sind (dies hatte bei mir Probleme bereitet).
Auf einem Ubuntu 12.04 32-Bit musste ich vor Verwendung des Scriptes erstmal die Berechtigungen neu setzen, da es sonst immer zu einem Abbruch kam. Danach sollte es egal sein, ob man das Script als root oder Standard-User ausführt.

Beispiel Output des Scripts:

XWLPI-Kernel
Spoiler

###############################################
# #
# GT-I9100 Kernel MMC_CAP_ERASE bug detection #
# By Tungstwenty - forum.xda-developers.com #
# Tungstwenty@gmail.com #
# #
###############################################

Detecting safety of kernel: /cygdrive/c/Brick/XWLPI-zImage
Kernel: Linux version 3.0.15-I9100XWLPI-CL686447 (dpi@DELL141) (gcc version 4.4.3 (GCC) ) #3 SMP PREEMPT Fri Jun 8 10:36:35 KST 2012

0 ocurrences of the bad code signature
1 ocurrences of the good code signature


The kernel appears to be good (MMC_CAP_ERASE disabled)


XWLPO-Kernel:
Spoiler

###############################################
# #
# GT-I9100 Kernel MMC_CAP_ERASE bug detection #
# By Tungstwenty - forum.xda-developers.com #
# Tungstwenty@gmail.com #
# #
###############################################

Detecting safety of kernel: /cygdrive/c/zImage
Kernel: Linux version 3.0.15-I9100XXLQ7-CL753921 (se.infra@SEP-107) (gcc version 4.4.3 (GCC) ) #3 SMP PREEMPT Wed Jul 4 20:32:40 KST 2012

1 ocurrences of the bad code signature
0 ocurrences of the good code signature


***************
!!! WARNING !!!
***************

The kernel appears to have MMC_CAP_ERASE *enabled*, which is dangerous on many devices

Unpacked kernel code stored at: /cygdrive/c/zImage_unpacked
The unsafe instruction can be found at offset 0x00594ef4

==================== Disassembly of the instruction ====================
If you want to check the disassembly make sure CROSS_COMPILE is correctly set and exported
================================================== ======================

*** Instructions for patching ***

- Choose one of the existing unpack/repack scripts
- Unpack the kernel code, initramfs, etc.
- Do a binary edit of the unpacked code
- At offset 0x00594ef4, replace "01 ?b 8? e3" with "00 ?b 8? e3" - change just the first byte to 00
- Repack the kernel, including the changed code and all original contents
- Re-run this script to confirm that the newly generated file no longer has MMC_CAP_ERASE enabled


Mehr Beispiele findet ihr im originalen XDA-Thread

Wie ihr seht, wird bei gefundenen Fehler auch noch angegeben, wo MMC_CAP_ERASE Code sich befindet und wie man ihn ändern muss um den Bug zu verhindern.

Beheben des Bugs

Voraussetzungen:
* Externes Kernel Unpack/Repack Script (Zu finden bei XDA)
* Linux box
* einen Hex-Editor
* Weitere, vom Kernel-Script vorausgesetzte, Dateien

1. Extrahiert mit dem Unpack/Repack Script die zImage-Datei (Kernel)
2. Bearbeitet die Datei piggy
3. Dazu öffnet ihr die Datei in einem Hex-Editor und geht zu dem vom Check-Script genannten Offset
4. Ändert die 01 in 00 und speichert die Datei
5. Packt den Kernel wieder zusammen. Dabei müsst ihr darauf achten, dass die Piggy benutzt wird, die ihr editiert habt, da es durchaus sein kann, dass das Script die Piggy aus Einzelteilen neu zusammensetzt.
6. Checkt den neuen Kernel mit tungstwentys Script. Als Output solltet ihr nun erhalten
Spoiler

###############################################
# #
# GT-I9100 Kernel MMC_CAP_ERASE bug detection #
# By Tungstwenty - forum.xda-developers.com #
# Tungstwenty@gmail.com #
# #
###############################################

Detecting safety of kernel: /home/user/Arbeitsfläche/Repack/zImage_packing/zImage
Kernel: Linux version 3.0.15-I9100XWLPT-CL941023 (dpi@DELL169) (gcc version 4.4.3 (GCC) ) #3 SMP PREEMPT Fri Jul 27 18:08:15 KST 2012

0 ocurrences of the bad code signature
1 ocurrences of the good code signature


The kernel has been patched by this method to disable MMC_CAP_ERASE and should now be entirely safe

7. Flasht diesen Kernel nun auf euer Handy.

Disclaimer:
Es kann keine 100% erfolgreiche Erkennung versprochen werden.
Der gepatchte Kernel sollte flashbar sein, jedoch wurde es nicht mit kompletten Unpack/Repack ausprobiert.


Originaler XDA-Thread:
[BrickBug][Fix][Kernel][01.08]Detection of stock kernel safety + patch guide - xda-developers
Script und Thread erstellt durch Tungstwenty (unteranderem für den CRT-Flicker-Bug-Fix sowie 4.0.4 Kamera-Bug-Fix verantwortlich)


@Mods: Sollte dieser Thread im falschen Bereich gelandet sein, verschiebt ihn bitte. Da der Kernel-Bereich nur für die Vorstellung von Custom-Kernel ist, habe ich mich erstmal dazu entschieden, ihn im Root/Hacking/Modding/Bereich zu posten.

Geändert von darth_mickrig (02.08.2012 um 21:07 Uhr)
darth_mickrig ist offline   Mit Zitat antworten
Folgende Benutzer bedanken sich bei darth_mickrig für diesen Beitrag:
->TopAZ<- (25.10.2013), andi2398 (01.08.2012), jetdevil (13.09.2012), Länzer (13.01.2013), mecss (01.08.2012), nucleaR (06.08.2012), quand443 (01.08.2012), reinhardrudi (02.02.2014), Rob2222 (14.01.2013), Soddel (04.08.2012), stru65 (01.08.2012), Thoddü (02.08.2012), triumph61 (01.08.2012)
Alt 01.08.2012, 16:37   #2 (permalink)
Junior Mitglied

Registriert seit: 10.07.2012
Beiträge: 40
Abgegebene Danke: 8
Erhielt 3 Danke für 3 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Erst mal danke für diese einfache methode der überprüfung. Allerdings scheint sie nur bei Stockkerneln zu funktionieren?!
Wollte auch mal den Speedmod k3-30 damit testen. Leider kommt es hierbei zu einer Fehlermeldung, weiß jemand wieso?
huberheinz ist offline   Mit Zitat antworten
Alt 01.08.2012, 17:42   #3 (permalink)
Android-Lexikon
Themenstarter

Registriert seit: 27.01.2012
Beiträge: 1.564
Abgegebene Danke: 24
Erhielt 615 Danke für 352 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Guck mal auf den Thread-Titel
Und im Originalthread bei XDA:
"However, for custom kernels I won't expect the code patterns to be always the same and therefore it's possible that the detection cannot be performed - you will see that in the output."
Übersetzt: Das Code-Muster kann in Custom-Kerneln anders sein, weswegen eine Erkennung nich möglich sein könnte. Dies wird durch die Ausgabe wiedergegeben.
darth_mickrig ist offline   Mit Zitat antworten
Alt 01.08.2012, 19:22   #4 (permalink)
Junior Mitglied

Registriert seit: 10.07.2012
Beiträge: 40
Abgegebene Danke: 8
Erhielt 3 Danke für 3 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Sorry für meine dämliche Frage...
Wer lesen kann ist klar im Vorteil
huberheinz ist offline   Mit Zitat antworten
Alt 02.08.2012, 14:59   #5 (permalink)
Android-Lexikon
Themenstarter

Registriert seit: 27.01.2012
Beiträge: 1.564
Abgegebene Danke: 24
Erhielt 615 Danke für 352 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Allgemeine Anleitung zum Beheben des Bugs gepostet. Ich hab mit tungstwentys Hilfe und so für mich einen gefixten XWLPT Kernel, konnte ihn jedoch noch nicht auf Bootfähigkeit testen. Sobald ich das bewerkstelligt habe kann ich es hier posten mit dazugehörigen Links.
darth_mickrig ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei darth_mickrig für diesen Beitrag:
kangaroo72 (02.08.2012)
Alt 02.08.2012, 16:11   #6 (permalink)
Neuer Benutzer

Registriert seit: 16.07.2012
Beiträge: 16
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Gibt jetzt schonmal ein Danke für den fertigen XWLPT-Kernel, damit ich das SGS2 von meiner besseren Hälfte mal wieder auf den neuesten Stand bringen kann ;-)
kangaroo72 ist offline   Mit Zitat antworten
Alt 02.08.2012, 19:58   #7 (permalink)
Android-Lexikon
 
Benutzerbild von Thoddü

Modell: Samsung Galaxy Note 2 (N7100)

Registriert seit: 02.05.2011
Beiträge: 2.459
Abgegebene Danke: 631
Erhielt 673 Danke für 456 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

@ topas: Ich wusste, ich hab was vergessen
__________________
[Datenbank] USB-JIG - Username & Standort

MIUI 3.6.28- Perseus Alpha
Thoddü ist offline   Mit Zitat antworten
Alt 02.08.2012, 21:10   #8 (permalink)
Android-Lexikon
Themenstarter

Registriert seit: 27.01.2012
Beiträge: 1.564
Abgegebene Danke: 24
Erhielt 615 Danke für 352 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

@kangaroo
Nimm für den Zweck mal lieber den Siyah. Ich kann für nichts garantieren. Und bis ich die XWLPT drauf habe kann das noch dauern, das Wochenende bin ich stark mit Geburtstagen beschäftigt.
darth_mickrig ist offline   Mit Zitat antworten
Alt 05.08.2012, 18:45   #9 (permalink)
Neuer Benutzer

Registriert seit: 16.07.2012
Beiträge: 16
Abgegebene Danke: 2
Erhielt 0 Danke für 0 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

äääh - wadde ... bin mir jetzt nicht sicher ... aber wenn ich Siyah flashe, und was flashe ich dann als Stock?
kangaroo72 ist offline   Mit Zitat antworten
Alt 05.08.2012, 18:57   #10 (permalink)
Android-Guru

Modell: Samsung Galaxy S5 (G900)

Registriert seit: 29.08.2011
Beiträge: 3.108
Abgegebene Danke: 51
Erhielt 578 Danke für 505 Beiträge
Standard AW: Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel

Was hat denn Siyah jetzt mit Stock zu tun?
__________________
SGS II mit XWLSD
SGS IV mit MF8
SGS V mit NG2
Checkliste
HipHopRulez ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
[ICS] 6.1.A.0.452: Rooten mit dem Advanced Stock ICS Kernel manic Root / Hacking / Modding für Sony Xperia S 24 05.09.2012 01:21
Kernel patchen Nivel Root / Hacking / Modding für Nexus S 2 19.07.2012 17:55
ICS Stock Kernel? AnnAsDroid Custom-Roms für Nexus S 1 22.02.2012 09:24
Sammelthread, welcher Kernel für welche ROM / Eigenschaften und Bugs iSad Root / Hacking / Modding für Samsung Galaxy S 26 26.07.2011 00:06
Kernel patchen? The One Android OS Entwicklung / Customize 1 04.10.2010 11:02




 
Du liest gerade: "Erkennen und Patchen des eMMC-Superbrick-Bugs für Stock-ICS-Kernel" unter "Root / Hacking / Modding für Samsung Galaxy S2" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2014, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.