Heim / Den PC beherrschen / Fastboot-Modus auf Android – was ist das? Normal Boot was ist das auf Android Was ist boot in Android

Fastboot-Modus auf Android – was ist das? Normal Boot was ist das auf Android Was ist boot in Android

Android OS wie jedes andere Software, kann zeitweise fehlschlagen. Und eines dieser Probleme ist die Anzeige eines schwarzen Bildschirms auf dem Bildschirm eines Smartphones oder Tablets mit der Aufschrift Fastboot Mode oder Select Boot Mode. viele Besitzer mobile Geräte Als sie ein ähnliches Bild sehen, geraten sie in Panik und tragen das Gerät zur nächsten Werkstatt. Sie sollten jedoch keine voreiligen Maßnahmen ergreifen, da Sie Fastboot Mod in den meisten Fällen selbst beenden können. Schauen wir uns an, woher der Fastboot-Modus kommt, was er auf Android ist und wie man ihn loswird.

Zweck und Ursachen

Fastboot ist ein effektives Werkzeug zum Modifizieren und Anpassen Betriebssystem Android, das Teil der Entwicklersoftware-Suite ist. Seine Hauptaufgabe besteht darin, benutzerdefinierte Firmware zu installieren. Dieser Bootloader wird jedoch auch verwendet, um Backups, verschiedene Updates zu installieren, eine Speicherkarte zu formatieren usw.

Select Boot Mode und Fastboot Mode sind keine internen oder externen Befehle. Sie starten vor dem Betriebssystem selbst (wie das BIOS unter Windows). Auf diese Weise können Sie das System konfigurieren und verschiedene Probleme beheben, selbst wenn Android heruntergeflogen ist.

Trotz seiner Vielseitigkeit und Nützlichkeit eigenständige Inklusion Auf einem mobilen Gerät kann Fastboot ein Zeichen für einen Softwarefehler sein. Die Hauptgründe für das Erscheinen dieses Modus auf Android sind:

  1. Versehentliche Aktivierung durch den Benutzer. Dieses Tool kann manuell über das Gadget-Menü gestartet werden.
  2. Android-Absturz. Wenn ein Smartphone oder Tablet nicht im normalen Modus booten kann, wechselt es automatisch in den Fastboot-Modus.
  3. Fehlgeschlagene Firmware über .
  4. Manuelles Entfernen der ausführbaren Datei aus dem Systemverzeichnis nach dem Entsperren des Root-Zugriffs.
  5. Die Auswirkungen von Malware. Wenn das Gerät über Superuser-Rechte verfügt, können einige Viren blockieren oder vollständig löschen Systemdateien, was zur Rally des Betriebssystems führt.

Nachdem Sie herausgefunden haben, was der Fastboot-Modus-Bootloader ist und was die Gründe für sein Erscheinen sind, können Sie überlegen, wie Sie den Download-Modus auf Xiaomi, Meizu, Lenovo und anderen Modellen mobiler Geräte beenden können.

Deaktivieren des Fastboot-Modus auf Android

Es gibt zwei Möglichkeiten, den Fastboot-Bootloader zu deaktivieren:

  • direkt vom Telefon;
  • über PC.

Die Wahl der einen oder anderen Option hängt von dem Grund ab, der zum Start geführt hat dieser Modus. Schauen wir uns als Beispiel an, wie verhindert werden kann, dass das Fastboot-Fenster auf einem Xiaomi-Smartphone geladen wird.

Wenn Sie mit diesem Problem konfrontiert sind, versuchen Sie zunächst, die Ein- / Aus-Taste 20 bis 30 Sekunden lang gedrückt zu halten. Das Gerät sollte im Standardmodus neu starten.

Auf dem Bildschirm des Mobiltelefons wird anstelle von Fastboot möglicherweise das Formular Select Boot Mode (Startmodus auswählen) angezeigt. Seine Felder bedeuten Folgendes:

Versuchen Sie, den zweiten Gegenstand auszuwählen. Wenn dies nicht hilft, gehen Sie wie folgt vor:


Wenn Sie in die Xiaomi-Einstellungen gehen können, dh das Betriebssystem funktioniert, versuchen Sie, den Fastboot-Modus manuell zu deaktivieren. Wechseln Sie auf diesem Gerät zur Registerkarte „Barrierefreiheit“ und ziehen Sie den Schieberegler gegenüber dem entsprechenden Element auf die Position „Aus“.

Deaktivieren des Fastboot-Modus über den Computer

Wenn das Betriebssystem abstürzt, wenn es technisch unmöglich ist, das Smartphone-Menü zu verwenden, und andere Möglichkeiten zum Deaktivieren von Fastboot wirkungslos sind, können Sie versuchen, das Problem über einen PC zu lösen und Befehlszeile cmd. Dies geschieht wie folgt:


Die Befehlszeile ist der effektivste Weg, um den Fastboot-Modus loszuwerden. Wenn es das Problem auch nicht löst, ist die Frage, wie Sie das mobile Gerät im normalen Modus einschalten, immer noch relevant. Sie müssen nur die Firmware am Telefon ändern oder es in die Werkstatt bringen.

Haben Sie sich jemals gefragt, wie Fastboot oder ADB funktionieren? Oder warum das Smartphone untergeht Android-Steuerung fast unmöglich, sich in einen Ziegelstein zu verwandeln? Oder vielleicht wollten Sie schon lange wissen, wo die Magie des Xposed-Frameworks liegt und warum die /system/etc/init.d-Boot-Skripte benötigt werden? Was ist mit der Wiederherstellungskonsole? Ist das Teil von Android oder eine Sache für sich und warum ist die übliche Wiederherstellung nicht geeignet, um Firmware von Drittanbietern zu installieren? Auf all diese und viele weitere Fragen finden Sie in diesem Artikel Antworten.

Wie Android funktioniert

Lernen versteckte Möglichkeiten Softwaresysteme können verstanden werden, indem man das Prinzip ihrer Arbeit versteht. In einigen Fällen ist dies schwierig, da der Code des Systems geschlossen werden kann, aber im Fall von Android können wir das gesamte System von innen und außen untersuchen. In diesem Artikel werde ich nicht über alle Nuancen sprechen Android-Arbeit und ich werde mich nur darauf konzentrieren, wie das Betriebssystem startet und welche Ereignisse im Intervall zwischen dem Drücken des Netzschalters und dem Erscheinen des Desktops stattfinden.

Nebenbei werde ich erklären, was wir in dieser Kette von Ereignissen ändern können und wie Entwickler benutzerdefinierter Firmware diese Funktionen verwenden, um Dinge wie das Optimieren von Betriebssystemparametern, das Erweitern des Anwendungsspeicherplatzes, das Aktivieren von Swaps, verschiedene Anpassungen und vieles mehr zu implementieren. All diese Informationen können verwendet werden, um Ihre eigene Firmware zu erstellen und verschiedene Hacks und Modifikationen zu implementieren.

Schritt eins. ABOOT und Partitionstabelle

Alles beginnt mit dem primären Bootloader. Nach dem Einschalten führt das System den Bootloader-Code aus, der im permanenten Speicher des Geräts gespeichert ist. Es übergibt dann die Kontrolle an den aboot Bootloader mit eingebauter Unterstützung für das Fastboot-Protokoll, aber der Hersteller des mobilen Chips oder Smartphones / Tablets hat das Recht, einen anderen Bootloader seiner Wahl zu wählen. Zum Beispiel verwendet Rockchip seine eigenen, inkompatiblen Fastboot-Bootloader, für deren Neuprogrammierung und Verwaltung Sie proprietäre Tools verwenden müssen.

Das Fastboot-Protokoll wiederum ist ein Bootloader-Verwaltungssystem von einem PC, mit dem Sie Aktionen wie das Entsperren des Bootloaders, das Flashen eines neuen Kernels und die Wiederherstellung, das Installieren von Firmware und viele andere ausführen können. Der Sinn von Fastboot besteht darin, das Smartphone in einer Situation, in der alle anderen Mittel versagen, in den ursprünglichen Zustand zurückversetzen zu können. Fastboot bleibt auch dann bestehen, wenn Sie als Ergebnis von Experimenten alle Abschnitte des NAND-Speichers löschen, die Android enthalten, und von Ihrem Smartphone wiederhergestellt werden.

Nachdem aboot die Kontrolle erhalten hat, überprüft es die Partitionstabelle und überträgt die Kontrolle an den Kernel, der in die Partition mit dem Namen boot geflasht wurde, woraufhin der Kernel das RAM-Image aus derselben Partition in den Speicher extrahiert und mit dem Laden entweder von Android oder der Wiederherstellungskonsole beginnt. Der NAND-Speicher in Android-Geräten ist in sechs bedingt obligatorische Abschnitte unterteilt:

  • boot - enthält den Kernel und die RAM-Disk, normalerweise etwa 16 MB groß;
  • recovery - Wiederherstellungskonsole, besteht aus einem Kernel, einer Reihe von Konsolenanwendungen und einer Einstellungsdatei, Größe 16 MB;
  • system - enthält Android, in modernen Geräten hat es eine Größe von mindestens 1 GB;
  • Cache - dient zum Speichern von zwischengespeicherten Daten, wird auch zum Speichern der Firmware während eines OTA-Updates verwendet und hat daher eine ähnliche Größe wie die Größe der Systempartition;
  • Benutzerdaten - enthält Einstellungen, Anwendungen und Benutzerdaten, der gesamte verbleibende NAND-Speicherplatz wird ihm zugewiesen;
  • misc - enthält ein Flag, das bestimmt, in welchem ​​Modus das System booten soll: Android oder Wiederherstellung.

Darüber hinaus kann es auch andere Abschnitte geben, das allgemeine Markup wird jedoch in der Entwurfsphase des Smartphones festgelegt und im Fall von aboot in den Bootloader-Code eingenäht. Das bedeutet, dass: 1) die Partitionstabelle nicht gelöscht werden kann, da sie immer mit dem Befehl fastboot oem format wiederhergestellt werden kann; 2) Um die Partitionstabelle zu ändern, müssen Sie den Bootloader entsperren und mit neuen Parametern neu flashen. Es gibt jedoch Ausnahmen von dieser Regel. Beispielsweise speichert der Bootloader desselben Rockchips Partitionsinformationen im ersten Block des NAND-Speichers, sodass ein Flashen des Bootloaders nicht erforderlich ist, um ihn zu ändern.

Besonders interessant ist die Misc-Sektion. Es wird angenommen, dass es ursprünglich erstellt wurde, um verschiedene Einstellungen unabhängig vom Hauptsystem zu speichern, aber im Moment wird es nur für einen Zweck verwendet: um dem Bootloader mitzuteilen, von welcher Partition das System gestartet werden soll - Booten oder Wiederherstellen. Diese Funktion verwendet insbesondere die ROM Manager-Anwendung, um das System automatisch neu zu starten und die Wiederherstellung mit automatischer Firmware-Installation durchzuführen. Darauf basierend wird der Ubuntu Touch Dual-Boot-Mechanismus gebaut, der den Ubuntu-Bootloader in die Wiederherstellung flasht und es Ihnen ermöglicht, zu steuern, welches System beim nächsten Mal gebootet werden soll. Löschen Sie die Misc-Partition - Android wird geladen, mit Daten gefüllt - Wiederherstellung wird geladen ... das heißt, Ubuntu Touch.

Schritt zwei. Boot-Partition

Wenn der Misc-Abschnitt kein Recovery-Boot-Flag hat, überträgt aboot die Steuerung an den Code, der sich im Boot-Abschnitt befindet. Es ist nichts als Linux Kernel; Es befindet sich am Anfang des Abschnitts und unmittelbar danach ist es ein RAM-Disk-Image, das mit cpio- und gzip-Archivern gepackt wurde und die Verzeichnisse enthält, die für das Funktionieren von Android, das Init-Initialisierungssystem und andere Tools erforderlich sind. Auf der Bootpartition befindet sich kein Dateisystem, Kernel und RAM-Disk folgen einfach aufeinander. Der Inhalt der RAM-Disk ist:

  • data - Verzeichnis zum Mounten der gleichnamigen Partition;
  • dev - Gerätedateien;
  • proc - procfs wird hier eingehängt;
  • res - eine Reihe von Bildern für das Ladegerät (siehe unten);
  • sbin - eine Reihe von Hilfsprogrammen und Daemons (z. B. adbd);
  • sys - sysfs wird hier eingehängt;
  • system - Verzeichnis zum Mounten der Systempartition;
  • Ladegerät - eine Anwendung zum Anzeigen des Ladevorgangs;
  • build.prop- Systemeinstellungen;
  • init - Initialisierungssystem;
  • init.rc - Einstellungen des Initialisierungssystems;
  • ueventd.rc - Einstellungen für den in init enthaltenen uventd-Daemon.

Dies ist sozusagen das Grundgerüst des Systems: eine Reihe von Verzeichnissen zum Verbinden von Dateisystemen aus NAND-Speicherpartitionen und ein Initialisierungssystem, das sich um den Rest der Arbeit des Bootens des Systems kümmert. Das zentrale Element hier ist die init-Anwendung und ihre init.rc-Konfiguration, auf die ich später noch näher eingehen werde. In der Zwischenzeit möchte ich auf die Dateien charger und ueventd.rc sowie auf die Verzeichnisse sbin, proc und sys achten.

Die Ladedatei ist eine kleine Anwendung, deren einzige Aufgabe es ist, das Batteriesymbol anzuzeigen. Es hat nichts mit Android zu tun und wird verwendet, wenn das Gerät im ausgeschalteten Zustand an das Ladegerät angeschlossen ist. In diesem Fall Android-Downloads passiert nicht, und das System lädt einfach den Kernel, schließt die RAM-Disk an und startet das Ladegerät. Letzteres zeigt das Batteriesymbol an, dessen Bild in allen möglichen Zuständen in regulären PNG-Dateien im res-Verzeichnis gespeichert ist.

Die Datei ueventd.rc ist eine Konfiguration, die definiert, welche Gerätedateien im Verzeichnis sys beim Systemstart erstellt werden sollen. In Kernel-basiert Linux-Systeme Auf die Hardware wird über spezielle Dateien im dev-Verzeichnis zugegriffen, und der ueventd-Daemon, der Teil von init ist, ist dafür verantwortlich, sie in Android zu erstellen. Unter normalen Umständen funktioniert es in automatischer Modus, akzeptiert Befehle zum Erstellen von Dateien aus dem Kernel, aber einige Dateien müssen von Ihnen selbst erstellt werden. Sie sind in ueventd.rc aufgelistet.

Das sbin-Verzeichnis in Standard-Android enthält normalerweise nichts als adbd, den ADB-Daemon, der für das Debuggen des Systems vom PC aus verantwortlich ist. Es beginnt in einem frühen Stadium des Betriebssystemstarts und ermöglicht Ihnen die Identifizierung mögliche Probleme während der Betriebssysteminitialisierung. In benutzerdefinierter Firmware finden Sie in diesem Verzeichnis eine Reihe anderer Dateien, z. B. mke2fs, die möglicherweise erforderlich sind, wenn Partitionen auf ext3/4 umformatiert werden müssen. Außerdem legen Modder dort oft eine BusyBox an, mit der man Hunderte von Linux-Befehlen aufrufen kann.

Das proc-Verzeichnis für Linux ist Standard, init wird in den nächsten Boot-Schritten damit procfs verbinden, ein virtuelles Dateisystem, das Zugriff auf Informationen über alle Prozesse auf dem System bietet. Das System verbindet sysfs mit dem sys-Verzeichnis, wodurch der Zugriff auf Informationen über die Hardware und ihre Einstellungen geöffnet wird. Mit sysfs können Sie beispielsweise das Gerät in den Ruhezustand versetzen oder den verwendeten Stromsparalgorithmus ändern.

Die Datei build.prop ist zum Speichern auf niedriger Ebene vorgesehen Android-Einstellungen. Später setzt das System diese Einstellungen zurück und überschreibt sie mit Werten aus der Datei system/build.prop, die noch nicht verfügbar ist.


Auszüge aus dem Text

  • Fastboot bleibt bestehen, auch wenn Sie als Ergebnis von Experimenten den Inhalt aller Bereiche des NAND-Speichers von Ihrem Smartphone löschen
  • Die Wiederherstellungspartition ist komplett autark und enthält ein Mini-Betriebssystem, das nichts mit Android zu tun hat
  • Indem wir die fstab-Datei leicht ändern, können wir init zwingen, das System von der Speicherkarte zu booten

Schritt zwei, alternativ. Erholungsabschnitt

Für den Fall, dass das Wiederherstellungs-Boot-Flag im Misc-Abschnitt gesetzt ist oder der Benutzer das Smartphone eingeschaltet hat, während er die Leiser-Taste gedrückt hielt, überträgt aboot die Steuerung an den Code, der sich am Anfang des Wiederherstellungsabschnitts befindet. Wie die Boot-Partition enthält sie den Kernel und eine RAM-Disk, die in den Speicher dekomprimiert wird und zum Stamm des Dateisystems wird. Allerdings ist hier der Inhalt der RAM-Disk etwas anders.

Im Gegensatz zur Boot-Partition, die als Übergangsglied zwischen verschiedenen Phasen des Bootens des Betriebssystems fungiert, ist die Wiederherstellungspartition vollständig autark und enthält ein Miniaturbetriebssystem, das nichts mit Android zu tun hat. Recovery hat seinen eigenen Kern, seinen eigenen Satz von Anwendungen (Befehlen) und seine eigene Schnittstelle, die es dem Benutzer ermöglicht, Hilfsfunktionen zu aktivieren.

Bei einer Standard-Wiederherstellung (Stock) gibt es normalerweise nur drei solcher Funktionen: Installieren einer mit dem Schlüssel des Smartphone-Herstellers signierten Firmware, Löschen und Neustarten. In modifizierter Drittanbieter-Wiederherstellung, wie ClockworkMod und TWRP, gibt es viel mehr Funktionen. Sie können Dateisysteme formatieren, Firmware installieren, die mit beliebigen Schlüsseln signiert ist (sprich: benutzerdefiniert), Dateisysteme auf anderen Partitionen mounten (zum Debuggen des Betriebssystems) und Skriptunterstützung enthalten, mit der Sie den Firmwareprozess und viele andere Funktionen automatisieren können.

Mithilfe von Skripten können Sie beispielsweise dafür sorgen, dass nach dem Laden die Wiederherstellung automatisch auf der Speicherkarte findet benötigte Firmware, installierte sie und startete in Android neu. Diese Funktion wird vom ROM-Manager, Auto-Flasher-Tools und dem verwendet Automatisches Update CyanogenMod und andere Firmware.

Die benutzerdefinierte Wiederherstellung unterstützt auch Sicherungsskripts, die sich im Verzeichnis /system/addon.d/ befinden. Vor Firmware-Wiederherstellung sucht nach Skripten und führt sie vor dem Flashen aus. Dank solcher Skripte verschwinden Gapps nach der Installation nicht neue Version Firmware.

Fastboot-Befehle

Um auf Fastboot zuzugreifen, müssen Sie das Android SDK installieren, Ihr Smartphone mit einem Kabel an den PC anschließen und es einschalten, indem Sie beide Lautstärketasten gedrückt halten. Wechseln Sie danach in das Unterverzeichnis platform-tools im SDK und führen Sie den Befehl aus

Fastboot-Geräte

Der Gerätename wird auf dem Bildschirm angezeigt. Weitere verfügbare Befehle:

  • fatsboot oem freischalten- Bootloader auf Nexus entsperren;
  • Update-Datei.zip- Installation der Firmware;
  • Flashboot boot.img- Flashen des Images der Boot-Partition;
  • Flash-Wiederherstellung recovery.img- Flashen des Images der Wiederherstellungspartition;
  • Flash-System system.img- Firmware-Image des Systems;
  • OEM-Format- Wiederherstellung der zerstörten Partitionstabelle;

Schritt drei. Initialisierung

Nachdem der Kernel die Kontrolle erhalten hat, verbindet er die RAM-Disk und startet nach der Initialisierung aller seiner Subsysteme und Treiber den Init-Prozess, von dem aus die Android-Initialisierung beginnt. Wie gesagt, init hat eine Konfigurationsdatei init.rc, aus der der Prozess lernt, was genau er tun muss, um das System hochzufahren. BEI moderne Smartphones Diese Config hat eine beeindruckende Länge von mehreren hundert Zeilen und ist auch mit einem Trailer aus mehreren untergeordneten Configs ausgestattet, die über die Import-Direktive mit der Hauptkonfiguration verbunden sind. Trotzdem ist sein Format recht einfach und besteht im Wesentlichen aus einer Reihe von Befehlen, die in Blöcke unterteilt sind.

Jeder Block definiert eine Ladephase oder, in der Sprache der Android-Entwickler, eine Aktion. Blöcke werden durch eine on-Direktive, gefolgt von einem Aktionsnamen, wie etwa on early-init oder on post-fs, voneinander getrennt. Der Befehlsblock wird nur ausgeführt, wenn der gleichnamige Trigger ausgelöst wird. Beim Booten löst init nacheinander die Trigger „early-init“, „init“, „early-fs“, „fs“, „post-fs“, „early-boot“ und „boot“ aus und führt so die entsprechenden Befehlsblöcke aus.


Wenn die Konfigurationsdatei mehrere weitere Konfigurationen zieht, die am Anfang aufgeführt sind (und dies ist fast immer der Fall), werden die darin enthaltenen gleichnamigen Befehlsblöcke mit der Hauptkonfiguration zusammengeführt, sodass beim Auslösen des Triggers init ausgeführt wird Befehle aus den entsprechenden Blöcken aller Dateien. Dies erfolgt zum bequemen Generieren von Konfigurationsdateien für mehrere Geräte, wenn die Hauptkonfiguration Befehle enthält, die allen Geräten gemeinsam sind, und spezifische Befehle für jedes Gerät in separate Dateien geschrieben werden.

Die bemerkenswerteste der zusätzlichen Konfigurationen ist initrc.devicename.rc, wo der Gerätename automatisch basierend auf dem Inhalt der Systemvariablen ro.hardware bestimmt wird. Dies ist eine plattformspezifische Konfigurationsdatei, die spezifische Befehlsblöcke enthält bestimmtes Gerät. Zusätzlich zu den Befehlen, die für das Tuning des Kernels verantwortlich sind, enthält es auch so etwas:

Mount_all ./fstab.Gerätename

Das bedeutet, dass init nun alle Dateisysteme mounten sollte, die in der Datei ./fstab.devicename aufgeführt sind, die die folgende Struktur hat:

Gerätename (Partition) Einhängepunkt Dateisystem fs_options andere Optionen

Es enthält normalerweise Anweisungen zum Verbinden von Dateisystemen von internen NAND-Partitionen mit den Verzeichnissen /system (Betriebssystem), /data (Anwendungseinstellungen) und /cache (gecachte Daten). Indem wir diese Datei jedoch leicht ändern, können wir init zwingen, das System vom Speicherstick zu booten. Dazu reicht es aus, die Speicherkarte in drei 4 Abschnitte aufzuteilen: 1 GB / ext4, 2 GB / ext4, 1 GB / ext4 und den restlichen Fat32-Speicherplatz. Als nächstes müssen Sie die Namen der Speicherkartenpartitionen im /dev-Verzeichnis ermitteln (sie unterscheiden sich für verschiedene Geräte) und die ursprünglichen Gerätenamen in der fstab-Datei durch sie ersetzen.


Am Ende des Boot-Blocks wird init höchstwahrscheinlich auf den Befehl class_start default stoßen, der Sie auffordert, alle in der Konfiguration aufgeführten Dienste zu starten, die sich auf die Standardklasse beziehen. Beschreibungen von Diensten beginnen mit einer Dienstdirektive, gefolgt vom Namen des Dienstes und dem Befehl, der ausgeführt werden muss, um ihn zu starten. Im Gegensatz zu den in Blöcken aufgelisteten Befehlen müssen Dienste die ganze Zeit laufen, daher hängt init während der gesamten Lebensdauer des Smartphones im Hintergrund und überwacht dies.

Modernes Android umfasst Dutzende von Diensten, aber zwei davon haben einen Sonderstatus und bestimmen das Ganze Lebenszyklus Systeme.

init.rc-Befehle

Der Init-Prozess verfügt über einen integrierten Befehlssatz, von denen viele den standardmäßigen Linux-Befehlssatz nachahmen. Die bemerkenswertesten sind:

  • exec /path/to/commands- Ausführen eines externen Befehls;
  • ifup-Schnittstelle- Heben Sie die Netzwerkschnittstelle an;
  • class_start class_name- Starten Sie Dienste, die sich auf die angegebene Klasse beziehen;
  • class_stop class_name- Dienste stoppen;
  • insmod /pfad/zu/modul- das Kernelmodul laden;
  • mount fs Geräteverzeichnis- Mounten Sie das Dateisystem;
  • Setprop-Namenswert- eine Systemvariable setzen;
  • Dienstname starten- Starten Sie den angegebenen Dienst;
  • Auslösername- Aktivieren Sie den Trigger (führen Sie den angegebenen Befehlsblock aus);
  • Schreibe /path/to/file string- einen String in eine Datei schreiben.

Schritt vier. Zygote und app_process

In einer bestimmten Ladephase wird init am Ende der Konfiguration auf einen Block wie diesen stoßen:

Service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server class default socket zygote stream 660 root system onrestart write /sys/android_power/request_state wake onrestart write /sys/power/state on onrestart media neu starten onrestart netd neu starten

Dies ist eine Beschreibung des Zygote-Dienstes, einer Schlüsselkomponente jedes Android-Systems, das für die Initialisierung und den Start verantwortlich ist Systemdienste, starten und stoppen Sie benutzerdefinierte Anwendungen und viele andere Aufgaben. Zygote wird mit einer kleinen Anwendung /system/bin/app_process gestartet, die im obigen Konfigurationsteil sehr gut sichtbar ist. Die Aufgabe von app_proccess besteht darin, die virtuelle Dalvik-Maschine zu starten, deren Code sich in der gemeinsam genutzten Bibliothek /system/lib/libandroid_runtime.so befindet, und dann Zygote darauf auszuführen.

Wenn all dies erledigt ist und Zygote die Kontrolle hat, beginnt es mit dem Aufbau der Java-Laufzeitumgebung, indem es alle Java-Klassen des Frameworks lädt (derzeit über 2000). Es startet dann den system_server, der die meisten der High-Level (in Java geschrieben) enthält. Systemdienste, darunter der Fenstermanager, die Statusleiste, der Paketmanager und vor allem der Aktivitätsmanager, der in Zukunft dafür verantwortlich sein wird, Signale über den Start und das Ende von Anwendungen zu erhalten.

Danach öffnet Zygote Socket /dev/socket/zygote und geht schlafen und wartet auf Daten. Zu diesem Zeitpunkt sendet der zuvor gestartete Activity Manager die Absicht Intent.CATEGORY_HOME, um die Anwendung zu finden, die für die Erstellung des Desktops verantwortlich ist, und gibt Zygote seinen Namen über den Socket. Letztere wiederum verzweigt und startet die Anwendung darüber virtuelle Maschine. Voila, wir haben einen Desktop, der von Activity Manager auf dem Bildschirm gefunden und von Zygote gestartet wurde, und eine Statusleiste, die von system_server als Teil des Statusleistendienstes gestartet wurde. Nach dem Tippen auf das Symbol sendet der Desktop eine Absicht mit dem Namen dieser Anwendung, die vom Aktivitätsmanager akzeptiert wird und den Befehl zum Starten der Anwendung an den Zygote-Daemon weiterleitet

DIE INFO

In der Linux-Terminologie ist eine RAM-Disk eine Art virtuelles Laufwerk Festplatte, die es nur in gibt Arbeitsspeicher. In einer frühen Boot-Phase extrahiert der Kernel den Inhalt der Festplatte aus dem Image und hängt ihn als Root-Dateisystem (rootfs) ein.

Während des Bootvorgangs zeigt Android drei verschiedene Bootscreens an: Der erste erscheint direkt nach dem Drücken des Power-Buttons und wird in den Linux-Kernel geflasht, der zweite wird während der frühen Phase der Initialisierung angezeigt und in die /initlogo.rle geschrieben Datei (heute fast nicht mehr verwendet), die letzte wird mit der Bootanimation-Anwendung gestartet und ist in der Datei /system/media/bootanimation.zip enthalten.

Zusätzlich zu Standard-Triggern können Sie mit init Ihre eigenen Trigger definieren, die durch eine Vielzahl von Ereignissen ausgelöst werden können: Anschließen eines Geräts an USB, Ändern des Status des Smartphones oder Ändern des Status von Systemvariablen.

Der Aktivitätsmanager kümmert sich unter anderem auch darum, Hintergrundanwendungen zu beenden, wenn nicht genügend Speicher vorhanden ist. Schwellenwerte für freien Speicher sind in /sys/module/lowmemorykiller/parameters/minfree enthalten.

All dies mag etwas verwirrend erscheinen, aber das Wichtigste ist, sich an drei einfache Dinge zu erinnern:

In vielerlei Hinsicht unterscheidet sich Android stark von anderen Betriebssystemen, und Sie können es nicht auf einen Schlag herausfinden. Wenn Sie jedoch verstehen, wie alles funktioniert, sind die Möglichkeiten einfach endlos. Im Gegensatz zu iOS und Windows Phone, hat das Betriebssystem von Google eine sehr flexible Architektur, die es Ihnen ermöglicht, sein Verhalten ernsthaft zu ändern, ohne Code schreiben zu müssen. In den meisten Fällen reicht es aus, die erforderlichen Konfigurationen und Skripte zu korrigieren.

Um Betriebssystem- und Hardwareeinstellungen feinabstimmen zu können, rooten Benutzer von Android-Mobilgeräten manchmal ihre Gadgets und nehmen auch Änderungen an . Aber das ist nicht alles verfügbaren Wege Verbesserter Zugriff auf Maschinen- und Systemeinstellungen. Sie können unter die „Haube“ des Geräts schauen, indem Sie einen Modus namens Fastboot-Modus verwenden.

Was ist der Fastboot-Modus

Was bedeutet Fastboot Mode (Fast Boot) und was hat das mit Feintuning zu tun? Bei einigen Laptop-Modellen dient es wirklich dazu, die Systemstartgeschwindigkeit zu maximieren, indem das BIOS umgangen und Anwendungen debuggt werden; bei mobilen Geräten ist sein Zweck etwas anders. auf Smartphones u Android-Tablets Dieser Modus ist in erster Linie erforderlich, um Zugriff auf die Systemkomponenten des Geräts zu erhalten und diese über einen Computer zu steuern.

Mit den Fähigkeiten des Fastboot-Modus können Service-Center-Spezialisten und fortgeschrittene Benutzer installieren Software, das Gadget flashen, Anwendungen wiederherstellen, durchführen Sicherung und wiederherstellen, versteckte Systemeinstellungen ändern. Entwickler greifen häufig auf „schnelles Laden“ für Softwaretests und andere Zwecke zurück.

Nachdem wir den Zweck des Modus erklärt haben, scheinen wir keine Antwort auf die Frage gegeben zu haben, was der Fastboot-Modus im Wesentlichen ist. Fastboot in Android ist also eine separate Softwarekomponente, unabhängig vom Betriebssystem, die auf Hardwareebene implementiert und im Speicherchip registriert ist. Es ist diese Unabhängigkeit, die es Ihnen ermöglicht, das Gerät auch bei schwerwiegenden Problemen mit dem Betriebssystem zu booten. Der Programmcode des Fastboot-Modus befindet sich in einem schreibgeschützten Bereich des Speichers, der eine Beschädigung verhindert.

Wann wird der Fastboot-Modus aktiviert?

Die Fastboot-Umgebung kann manuell über das Standardmenü oder durch gleichzeitiges Gedrückthalten der Ein-/Aus-Taste und der Leiser-/Lauter-Tasten am ausgeschalteten Gerät gestartet werden. Aber in einigen Fällen startet der Modus von selbst, und das ist kein guter Punkt. Die Gründe für das spontane Laden können ein erfolgloses Flashen, das Ersetzen der Standard-Wiederherstellungsumgebung durch eine modifizierte, das Erhalten von Superuser-Rechten, ein Systemabsturz und eine Beschädigung von Android-Betriebssystemdateien sein.

So verlassen Sie den Fastboot-Modus

Die Einbeziehung des Modus wird durch das Bild des geöffneten Roboters und die Inschrift auf dem Telefonbildschirm angezeigt Fastboot-Modus.

Wenn Sie zuvor keine Änderungen an der Konfiguration des Gadgets vorgenommen haben, war der Grund für die Umstellung auf „Schnellstart“ möglicherweise eine Art vorübergehender Fehler. Versuchen Sie, Ihr Smartphone neu zu starten. Wenn auch nach dem Neustart das Telefon Fastboot schreibt und nicht umschaltet normaler Modus Betrieb, kann dies auf ein tieferes Problem hindeuten. Es ist möglich, dass sich das Problem als so schwerwiegend herausstellt, dass das Gadget im Servicecenter erneut geflasht werden muss, aber bis dahin sollten Sie versuchen, selbst aus dem Fastboot herauszukommen.

Dazu gibt es im Wesentlichen zwei Möglichkeiten: über das Telefon selbst und über einen Computer. Wenn ein normaler Neustart nicht hilft, schalten Sie das Gerät aus und halten Sie dann gleichzeitig die Ein-/Aus-Taste und die Leiser-Taste gedrückt, bis (ca. 10 Sekunden) das Menü Startmodus auswählen auf dem Bildschirm angezeigt wird oder das Telefon normal hochfährt Modus. Wählen Sie in diesem Menü die Option Normaler Start und warten Sie, bis das Gadget im normalen Modus gestartet wird.

In einigen Fällen hilft das Entfernen des Akkus, um den Debug-Modus zu verlassen, wenn er natürlich entfernbar ist.

Manchmal müssen sich Benutzer mit dem Fastboot-Laden befassen, nachdem sie das Gadget von genommen haben Servicecenter. Dies geschieht normalerweise danach. Die wahrscheinliche Ursache ist die in den Einstellungen aktivierte Fastboot-Modus-Funktion. Wenn dies der Fall ist, gehen Sie zum Deaktivieren des Fastboot-Modus zu den Einstellungen und suchen Sie dann im Abschnitt „Anzeige“ oder „Zugänglichkeit“ das Element „Schnellstart“ und deaktivieren Sie es.

Wie verlasse ich den Fastboot-Modus mit einem Computer? Installieren Sie Anwendungen auf dem PC, verbinden Sie das Telefon mit dem Computer, aktivieren Sie das USB-Debugging, führen Sie die Befehlszeile als Administrator aus und führen Sie den Befehl aus Fastboot-Neustart. Es ist einfach, aber sehr effektive Methode Fastboot deaktivieren.

Wenn das Problem dadurch nicht behoben wird, führen Sie einen Werksreset des Geräts durch. Nachdem Sie alle wichtigen Daten kopiert haben, entfernen Sie die SIM-Karte und die Speicherkarte aus dem Telefon und starten Sie es Wiederherstellungsmodus, finden Sie die Option im Menü Daten löschen/Werksreset und verwenden Sie es, um einen Rollback durchzuführen.

Außerdem können Sie den Inhalt des Speichers löschen, indem Sie die Option auswählen Cache-Partition löschen.

So versetzen Sie Ihr Telefon in den Fastboot-Modus

Der Fastboot-Modus ist ein Servicemodus, auf den Sie am häufigsten zurückgreifen müssen, wenn Sie die Gerätekonfiguration über einen PC ändern müssen, um beispielsweise eine geänderte Firmware zu installieren oder zu erhalten Root-Berechtigungen ohne Verwendung Programme von Drittanbietern. Das Booten im Schnellmodus kann auch erforderlich sein, um vollen Zugriff auf Android-Systemordner zu ermöglichen und das Betriebssystem wiederherzustellen (als Alternative zu Tools für den Wiederherstellungsmodus).

Login-Methode fastboot Modus Modus an verschiedene Geräte könnte abweichen. BEI Asus-Smartphones Dazu müssen Sie die Einschalt- und Lautstärketaste gedrückt halten, in Nexus und HTC - die Einschalt- und Lautstärketaste, in Sony wird der Fastboot-Modus gestartet, wenn Sie die Lautstärke gedrückt halten und das Gadget an den PC anschließen über USB.

Aber es gibt auch universeller Weg Fastboot-Downloads, die auf allen Handys gleich funktionieren Android-Geräte. Laden Sie das Programm herunter und installieren Sie es auf Ihrem Computer adb ausführen. Aktivieren Sie als Nächstes das USB-Debugging in den Telefoneinstellungen, verbinden Sie das Gerät mit dem PC und wählen Sie durch Ausführen von Adb Run aus dem Menü aus Neustart – Bootloader neu starten.

Das Gadget wird im Fastboot-Modus neu gestartet.

Müssen Sie Android mit FastBoot flashen, wissen aber nicht wie? Dieser Artikel enthält detaillierte Anweisungen zur Verwendung des FastBoot-Dienstprogramms und zur Verwendung zum Flashen eines Android-Geräts.

In diesem Handbuch erfahren Sie ausführlich, wie Sie FastBoot verwenden! Wenn Sie nicht wissen, wie Sie archivierte Updates installieren, benötigen Sie einen Artikel – Clockwordmod – was es ist. Anleitung zur CWM-Wiederherstellung mit Bildern

Laden Sie FastBoot herunter und installieren Sie es

Bevor Sie Android mit FastBoot flashen, müssen Sie es herunterladen und auf dem erforderlichen Computer installieren.

1. Sie können das FastBoot-Dienstprogramm mit dem offiziellen Android SDK-Programm herunterladen (großes Gewicht)

warum adb run besser ist

Start

Wenn Sie Fastboot separat heruntergeladen haben

Nachdem Sie FastBoot heruntergeladen und installiert haben, öffnen Sie das Programm " Befehlszeile »

und vve Geben Sie Befehle, um zum Ordner zu wechseln Fastboot-Dienstprogramm(falls installiert separat FastBoot)

CD /
cd adb

Wenn Sie ADB RUN heruntergeladen haben

Wenn Sie sich für das ADB RUN-Programm entschieden haben, führen Sie es aus und wählen Sie Manual -> ADB aus dem Menü

Die Dateien, die geflasht werden müssen, müssen sich im selben Ordner wie das Fastboot-Dienstprogramm befinden

Befehlsanweisungen zum Flashen von Android mit FastBoot

Es ist sehr wichtig, Befehle und Firmware-Dateien so zu schreiben, wie sie angegeben sind!

Wenn Sie einen Befehl haben

Fastboot-Flash-Cache NazvaniAFiLe.img

dann musst du genau so schreiben, aber nicht anders. Mit anderen Worten, die Groß- und Kleinschreibung ist wichtig, sonst erhalten Sie einen Fehler 'Bild' kann nicht geladen werden - Es gibt keine solche Datei.

Befehle zum Neustart in den Firmware-Modus (Bootloader)

Fastboot Neustart-Bootloader

Der Befehl „sieht“ Ihren Android-PC

Gewöhnen Sie sich an, zu überprüfen, bevor Sie irgendetwas in Fastboot tun, wenn die Verbindung zwischen Ihrem Computer und Android ist:

Prüfen, ob der PC Ihr Android "sieht".

Fastboot-Geräte

Führen Sie diesen Befehl aus, wenn sich das Gerät bereits im Firmware-Modus (Bootloader) befindet.

Befehle zum Entsperren und Sperren des Nexus-Bootloaders

Bootloader für Nexus entsperren

fastboot oem freischalten

Bootloader für Nexus sperren

Fastboot-OEM-Sperre

Befehl zum Ermitteln der Bootloader-Version

Zeigt installiert auf Android-Nummer Bootloader-Versionen

fastboot getvar version-bootloader

Befehle zum Formatieren von Partitionen

Bevor Sie eine Partition in Android flashen, müssen Sie diese zunächst formatieren, damit es im Betrieb keine Probleme gibt.

Fastboot löschen Imya_razdela - Partition löschen: Booten, Radio, Wiederherstellung, System, Benutzerdaten und andere

Löscht die Cache-Partition

Fastboot-Cache löschen

Löscht den Datenabschnitt

fastboot benutzerdaten löschen

Löscht die Systempartition

Fastboot-Löschsystem

Löscht die Wiederherstellungspartition

Fastboot-Erase-Recovery

Befehle zum Flashen einer Partition

Nachdem Sie die Partition oder Partitionen formatiert haben, können Sie mit der Firmware fortfahren

Fastboot-Flash Imya_razdela imya_file.img - Firmware der ausgewählten Partition: Booten, Radio, Wiederherstellung, System, Benutzerdaten und andere

Flashen Sie die Systempartition (System)

Fastboot-Flash-System imya.img

Flash-Partitions-Cache (Cache)

Fastboot-Flash-Cache imya.img

Flashen Sie den Datumsabschnitt (Daten)

Fastboot-Flash-Benutzerdaten imya.img

Flashen Sie die Wiederherstellungspartition

Fastboot-Flash-Wiederherstellung imya.img

Einstellen der Einschaltanimation (Firmware-Partition mit Animation)

fastboot flash splash1 splash.img

Alle Partitionen flashen (Boot, Recovery und System)

Fastboot-Flashall

Anstatt von imya.img- Sie müssen den Namen der Datei schreiben, die Sie flashen möchten

Befehl zum Installieren von update.zip

Flasht ein Update-Archiv im Format update.zip oder ein ZIP-Archiv mit IMG-Bildern verschiedener Abschnitte auf Android

Fastboot-Update Dateiname.zip

Für Sony-Geräte

Konnektivitätsprüfung Sony-Geräte, wenn die Antwort 0,3 Gerät ist, dann verbunden

fastboot.exe -i 0x0fce Getvar-Version

Bootloader entsperren

fastboot.exe -i 0x0fce oem entsperren 0xGet_Key

Ausführlichere Informationen zum Entsperren des Sony Bootloader - So entsperren Sie den Sony Bootloader

Fehler beim Warten auf Gerät

Wenn Sie haben lange Zeit im Befehlsfenster leuchtet die Inschrift warten auf Gerät- meint:

  • Der Treiber ist nicht installiert oder falsch installiert - neu installieren oder installieren
  • Android-Gerät nicht im Bootloader-Modus - übersetzen
  • Falsche Verbindung zum USB-Anschluss - verwenden Sie die Rückseite USB-Anschlüsse 2.0-Computer, verwenden Sie keine USB-Hubs