Wenn ich einen Terminalemulator öffne und den mount
Befehl ausführe, wird angezeigt, dass das Root-Dateisystem ( ) meines Android-Geräts /
vom Dateisystemtyp ist rootfs
. Was ist rootfs
? Kann ich darauf schreiben? Bleiben meine Änderungen auch nach dem Herunterfahren des Geräts bestehen?
Hinweis: Wenn Sie ein Android-ROM-Entwickler sind, der Dateien zu Ihren ROMs hinzufügen möchte rootfs
, sehen Sie sich bitte stattdessen die entsprechende Unix.SE-Frage an.
rootfs
?Es ist ein initramfs
. Im Grunde ist es ein vorbelegtes RAM-Laufwerk. Es wird beim Booten mit einigen Inhalten vorbelegt, normalerweise aus einem cpio
Archiv, das in den Kernel kompiliert wurde.
Eine Möglichkeit, Änderungen an Ihrem vorzunehmen, rootfs
besteht darin, das Archiv zu entpacken cpio
, Ihre Änderungen vorzunehmen und das Archiv neu zu packen. Ihr Gerät muss mit ziemlicher Sicherheit gerootet werden, bevor Sie dies tun können. Außerdem benötigen Sie die notwendigen Werkzeuge.
Alternativ können Sie Änderungen an der rootfs
Kopie vornehmen, die in den Arbeitsspeicher geladen wird; aber wenn Sie dies tun, gibt es vier Fallstricke.
Sie müssen Ihr Gerät zuerst rooten.
Anschließend müssen Sie das Dateisystem mit Lese-/Schreibzugriff neu einhängen.
Schreiben Sie nicht zu viel an die rootfs
; Wenn Sie dies tun, nehmen Sie zu viel RAM in Anspruch und Ihr Gerät wird langsamer.
Das größte Problem ist, dass die von Ihnen erstellten Dateien verschwinden, wenn Sie herunterfahren oder neu starten. Bitte lesen Sie weiter.
Nein. Wenn Sie Dateien in erstellen oder ändern rootfs
, werden Ihre Änderungen beim Herunterfahren oder Neustarten rückgängig gemacht.
Speichern Sie Ihre Dateien stattdessen irgendwo unter /storage
oder /data
oder /system
. Sie können eine der drei auswählen. Irgendwo darunter /storage
ist wahrscheinlich am besten, da dies die häufigste Wahl ist.
/
?Ich weiß nicht.
Ich vermute, dass die Antwort wie folgt lautet: Android ist keine vollständige Linux-Distribution. Es enthält keine vollständige Glibc, ist wahrscheinlich nicht vollständig LSB-kompatibel und fühlt sich nicht verpflichtet, die Feinheiten bereitzustellen, die die meisten Linux-Distributionen bieten (z. B. ein festplattengestütztes Root-Dateisystem).
An anderer Stelle schreibt Gilles:
Die meisten Desktop-Linux-Systeme haben ein kleines initramfs, das gerade genug Programme und Konfigurationsdateien enthält, um das echte Root-Dateisystem zu mounten, das dann auf gemountet wird und
/
das initramfs ersetzt. Android hält, wie einige eingebettete Linux-Systeme, das initramfs für immer gemountet. Das initramfs von Android enthält nur/init
,adbd
und ein paar Konfigurationsdateien.
Verweise:
WeißerWinterWolf
boot.img
die ROM-Portierung? : Die Antworten dort erklären, wie die Datei abgerufen und bearbeitet wirdboot.img
, sodass der Inhalt des Stammverzeichnisses des Geräts dauerhaft geändert werden kann.Irfan Latif