Wie nehme ich dauerhafte Änderungen an Dateien im Stammverzeichnis (/) vor?

Jedes Mal, wenn ich eine Datei in /, /sbin oder /system/bin bearbeite, wird sie beim Neustart überschrieben (Gerät ist gerootet und im R/W-Modus). Ich nehme an, das liegt daran, dass Android einen temporären Root bereitstellt? Oder ist es vielleicht nur ein Problem auf meinem Gerät?

Wie nehme ich eine dauerhafte Änderung an Root-Dateien vor? Kann ich das über adb machen? Muss ich das Systemabbild bearbeiten, und wenn ja, kann mir jemand in die richtige Richtung weisen, wo ich damit anfangen soll?

Geben Sie uns die Details der gesamten Liste von Anweisungen, die Sie zum Bearbeiten einer Datei in /system/bin verwendet haben. Dateien in /und /sbin- sie werden bei jedem Start aus dem Kernel geladen, daher lohnt es sich nicht, sie zu bearbeiten, wenn Sie beabsichtigen, Änderungen über Neustarts hinweg beizubehalten. Welches Gerät verwenden Sie?
Ich verwende ein gerootetes LG G Pad 7.0 mit 4.4.2. Um das zu erreichen, was ich will, kann ich entweder /sbin/chargerlogo durch eine Kopie von /system/bin/reboot ersetzen oder den Inhalt von /sbin/chargerlogo durch #!/system/bin/sh /system ersetzen /bin/reboot Es muss jedoch einen Neustart überstehen, sonst ist es nutzlos. Was die Liste der Anweisungen betrifft ... Ich habe versucht, dies über den ES File Explorer mit aktiviertem Root-Explorer und System im R / W-Modus zu tun.

Antworten (1)

Das Root-Dateisystem ( /) und die darin enthaltenen Dateien (plus einige weitere in einigen Unterverzeichnissen) werden beim Booten von der sogenannten InitRd ("initial RAM disk", oder "boot image") überschrieben. Wenn Sie also dort etwas ändern/hinzufügen müssen, müssen Sie dieses Bild ändern.

Wenn Sie nur einige zusätzliche Binärdateien/Skripte speichern möchten, sollten Sie dies lieber in /system/xbin(das normalerweise auch in der enthalten ist $PATH) tun – obwohl Dateien in /system/binauch einen Neustart überstehen sollten ( /systemist eine separate Partition, die normalerweise schreibgeschützt gemountet wird, und daher nicht berührt, außer für Betriebssystem-Updates).

OP sagt, er ändert /system/binund es wird wiederhergestellt.
@SarpSTA Das habe ich gelesen – und bezweifle es irgendwie (zumindest teilweise). Meines Wissens wird weder heruntergefahren noch gebootet, /systemaußer um die Partition zu (de)mounten (schreibgeschützt). Nicht sicher, was dahinter steckt. Ich habe solche Manipulationen mehrmals auf verschiedenen Geräten durchgeführt – daher bin ich mir ziemlich sicher, was hängen bleibt und was nicht. Obwohl ich zugeben muss, dass verschiedene Geräte/ROMs Besonderheiten haben könnten, auf die ich noch nicht gestoßen bin – wenn ich zB an diejenigen denke, die immer /recoverydurch Aktien ersetzt werden, wenn sie mit etwas anderem geflasht werden, wie ich gelesen habe.
@SarpSTA Möglicherweise nicht, Entschuldigung für den Fehler. Die Dateien, die ich bearbeiten möchte, befinden sich in / und /sbin, die Datei, die ich kopieren möchte, befindet sich in /system/bin, also mein Fehler. Izzy, danke dafür! Gibt es Ressourcen, die in die richtige Richtung weisen, um die InitRd zu ändern?
@Alan Tut mir leid, das ist der Teil, den ich noch nicht gemacht habe (die InitRd selbst modifizieren). Ich habe es manchmal ersetzt , aber der Ersatz wurde von jemand anderem gebaut. Da dies hier sowieso nicht zum Thema gehört, würde ich empfehlen, diese Beiträge bei SO zu überprüfen :)
Jederzeit, Alan. Eine schnelle Google-Suche hat gerade dieses kleine Tutorial gefunden: Android boot.img manipulation – was Ihren vorherigen Kommentar beantworten sollte.