Wie kann ich mit heimdall eine benutzerdefinierte Wiederherstellung flashen (ohne das Hauptsystem zu berühren)?

7

Der erste empfohlene Schritt bei der Installation von CyanogenMod auf dem Samsung Galaxy S ist das Flashen einer benutzerdefinierten Wiederherstellung wie ClockworkMod oder der von Replicant mit einem Befehl wie:

heimdall flash --kernel path/to/recovery.img

Jetzt habe ich das Gefühl, dass die Anweisungen irreführend sein könnten:

Ich habe den ersten Schritt getan, um nur einen benutzerdefinierten Wiederherstellungsmodus zu haben, ohne das Hauptbetriebssystem auf dem Gerät zu ersetzen.

Es scheint, dass ich das falsch gemacht habe, weil das Gerät jetzt immer in den Wiederherstellungsmodus startet.

Was wäre der richtige heimdall-Befehl, um nur ein benutzerdefiniertes Wiederherstellungssystem zu installieren, ohne das Hauptsystem zu berühren?

imz - Ivan Zakharyaschev
quelle
Es hat bei mir funktioniert. Aber AFAIK hängt von der Version des Standard-ROMs ab, das Sie haben: Einige benutzerdefinierte Wiederherstellungen können es booten, andere nicht. Ich denke, es gibt keinen allgemeinen Weg.
Flow
@Flow Also sollen der Wiederherstellungsmodus und der normale Modus beim Booten dasselbe Image verwenden? Ich dachte, dass es vielleicht zwei verschiedene Images für die verschiedenen Boot-Modi gibt, und ich habe versehentlich das falsche ersetzt, und das ist die Ursache meines Problems: Immer in das Wiederherstellungssystem booten (egal ob beim Einschalten andere Tasten gedrückt werden ) nachdem ich den blinkenden Befehl von der Post ausgeführt habe, obwohl ich wirklich gerne das alte Hauptsystem booten würde.
imz - Ivan Zakharyaschev
Nein, wenn der benutzerdefinierte Kernel / die Wiederherstellung immer in die Wiederherstellung startet, ist dies normalerweise ein Zeichen dafür, dass das normale System nicht gefunden / gestartet werden kann.
Flow

Antworten:

9

Dies hängt von Ihrer PIT-Partitionsdatei ab.

Bevor Sie heimdall verwenden, drucken Sie die Partitionstabelle Ihres Telefons.

sudo heimdall print-pit

Die Ausgabe der Datei ist der Speicherort, der jeder Partition zugewiesen ist. Zum Beispiel habe ich auf meinem Galaxy S3 so etwas:

--- Entry #20 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 19
Attributes: 5 (Read/Write)
Update Attributes: 1 (FOTA)
Partition Block Size/Offset: 491520
Partition Block Count: 32768
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: Kernel2
Flash Filename: recovery.img
FOTA Filename:

Das sagt mir 3 Hauptpunkte:

  • Nennen Sie die Flash-Datei: recovery.img
  • Position der Kennung 19
  • Und schließlich der Name der Wiederherstellungspartition Kernel2

Was bedeutet das?

Das heißt, wenn ich ein Wiederherstellungsimage flashen möchte, sollte ich entweder die Kennung 19 oder den Namen Kernel2 verwenden.

sudo heimdall flash --19 any-type-of-recovery.img

oder

sudo heimdall flash --Kernel2 any-type-of-recovery.img

Fazit: Sehen Sie sich die Pit-Datei an, um herauszufinden, wo Sie Ihre Wiederherstellung flashen können.

Prost, Mel

Lemel
quelle
2

Ein effektiver Weg mit Heimdall ist, einfach zu rennen

sudo heimdall flash --RECOVERY twrp.img

Arbeitete für mich an einem S3 AT & T.

Wenn das Telefon neu gestartet wird, gehen Sie über in die Wiederherstellung über

adb reboot recovery

KhoPhi
quelle
1

Ich kenne die Partitionszuordnung des SGS nicht, daher wäre mein einziger Vorschlag, die GUI (heimdall-frontend) zu verwenden und nur die Wiederherstellungspartition auszuwählen. Bei der Wiederherstellung des ursprünglichen Systems ist mein Vorschlag, das ursprüngliche ROM ohne Berühren / Daten erneut zu flashen. Sichern Sie es jedoch zuerst mit einer erweiterten benutzerdefinierten Wiederherstellung wie dieser, wenn möglich: http://forum.xda-developers.com/showthread.php?t=2201860 (die Hauptfunktion ist die benutzerdefinierte Sicherung / Wiederherstellung).

Flashcactus
quelle
Aber was ist, wenn ich das ursprüngliche Betriebssystem beim Flashen der benutzerdefinierten Wiederherstellung zerstöre? In meinem Fall habe ich eine benutzerdefinierte Wiederherstellung geflasht, aber das Betriebssystem startet danach nicht mehr ... Was könnte schief gehen? Das habe ich nicht erwartet: Ich möchte nur eine benutzerdefinierte Wiederherstellung flashen, aber kein neues Hauptbetriebssystem installieren. Jetzt bin ich dazu gezwungen.
imz - Ivan Zakharyaschev
-1

Das Wiki ist falsch, denke ich. Das Heimdall-Beispiel zeigt "--KERNEL" und "zImage", wenn erläutert wird, wie die Wiederherstellung geflasht wird. Ich denke, diese Optionen wären das Flashen eines neuen Kernels, kein Wiederherstellungsimage. Versuchen Sie entweder "heimdall --help" oder schauen Sie auf einer Cyanogenmod-Wiki-Seite nach einem anderen Gerät, um einen geeigneten Wiederherstellungs-Flash-Befehl zu sehen

... dies würde auch erklären, warum das Gerät nur in den Wiederherstellungsmodus wechselt. Wiederherstellung wurde als Kernel geflasht! :) :)

user57008
quelle