obicom
Stamm-User
- 202
Das Problem:
Es scheint beim Sony Tablet S nicht möglich zu sein, direkt über adb in den Ordner '/system/...' zu "pushen". Man bekommt grundsätzlich eine Fehlermeldung, dass das Dateisystem auf "Read Only" gemountet ist.
(siehe angehangenen Scrennshot)
Ein 'adb remount' wird auch mit einem kurzen und knappen 'Operation not permitted' quittiert. (siehe auch angehangenen Scrennshot)
Versucht man nun über die 'adb shell' mit dem "normale mount Befehl" des Systems über "mount -o remount,rw" die benötigten Rechte zu erlangen, wird dies mit einer Fehlermeldung verweigert, das die genutzten Parameter falsch seien.
Somit ist es erst mal nicht möglich, Dateien die man versehentlich gelöscht oder verändert hat und die nun zu "Force Closed" führen, über 'adb' wieder herzustellen.
Die Lösung:
Der Busybox 'mount' Befehl kann anscheinend bei weitem mehr und dadurch kann man nun über die adb shell den System Ordner auf "Read-Write" mounten um ggfs. benötigten Dateien dort wieder hinein zu kopieren.
Sollte man noch keine 'busybox' auf seinem system haben, muss man zuerst über adb push 'busybox' in 'data/local/tmp' kopieren (der '/data/...' ist von Haus aus auf 'rw' gemountet) und dann dort über den Befehl:
Hier der Ablauf im Detail:
1. Erst mal im Windows 'busybox' in den Ordner kopieren, wo die adb.exe liegt
2. MS-DOS Eingabeaufforderung öffnen und in den gleichen Ordner wechseln, z.B. mit 'cd c:\android-sdk\tools\'
3. In der Console nun 'adb push busybox /data/local/tmp' eingeben
4. 'adb shell' eingeben .. und nun in der Shell ein 'su', um root Rechte zu bekommen
5. mit 'cd /data/local/tmp' in den Ordner wechseln und mit 'ls' kontrollieren ob busybox dort angekommen ist
6. danach nun endlich 'busybox mount -o rw,remount /dev/block/mmcblk0p2 /system' eingeben, um Schreibrechte auf '/system/...' zu erlangen.
Nun kann man mit den (hoffentlich) bekannten Linux Kommandos lustig Verzeichnisse anlegen, Rechte ändern und Dateien kopieren bzw. löschen.
Der Nutzen:
Den Trick sollte man sich merken, denn im Notfall wird das jedem so gehen, der über 'adb push' Dateien in den System Ordner, oder dessen Unter-Ordner, kopieren oder über die 'adb shell' Veränderungen an Rechten erreichen will. das gleiche gilt für das Onlegen von Ordner oder Löschen von Dateien.
P.s.: Die 'busybox.zip' im Anhang muss man natürlich erst entpacken, bevor man die per adb pusht, ist klar, oder?
Es scheint beim Sony Tablet S nicht möglich zu sein, direkt über adb in den Ordner '/system/...' zu "pushen". Man bekommt grundsätzlich eine Fehlermeldung, dass das Dateisystem auf "Read Only" gemountet ist.
(siehe angehangenen Scrennshot)
Ein 'adb remount' wird auch mit einem kurzen und knappen 'Operation not permitted' quittiert. (siehe auch angehangenen Scrennshot)
Versucht man nun über die 'adb shell' mit dem "normale mount Befehl" des Systems über "mount -o remount,rw" die benötigten Rechte zu erlangen, wird dies mit einer Fehlermeldung verweigert, das die genutzten Parameter falsch seien.
Somit ist es erst mal nicht möglich, Dateien die man versehentlich gelöscht oder verändert hat und die nun zu "Force Closed" führen, über 'adb' wieder herzustellen.
Die Lösung:
Der Busybox 'mount' Befehl kann anscheinend bei weitem mehr und dadurch kann man nun über die adb shell den System Ordner auf "Read-Write" mounten um ggfs. benötigten Dateien dort wieder hinein zu kopieren.
Sollte man noch keine 'busybox' auf seinem system haben, muss man zuerst über adb push 'busybox' in 'data/local/tmp' kopieren (der '/data/...' ist von Haus aus auf 'rw' gemountet) und dann dort über den Befehl:
Schreibzugriff auf 'system/usr/' zu erlangen. Das kopieren von Busybox sollte eigentlich nicht nötig sein, da 'busybox' schon über das root Skript installiert wurde. Wenn ihr also im '/system/xbin/' Ordner schon eine Datei 'busybox' habt, könnt ihr euch die Schritte 1,3 und 5 sparen und gleich mit 2,4 und 6 weiter machen../busybox mount -o rw,remount /dev/block/mmcblk0p2 /system
Hier der Ablauf im Detail:
1. Erst mal im Windows 'busybox' in den Ordner kopieren, wo die adb.exe liegt
2. MS-DOS Eingabeaufforderung öffnen und in den gleichen Ordner wechseln, z.B. mit 'cd c:\android-sdk\tools\'
3. In der Console nun 'adb push busybox /data/local/tmp' eingeben
4. 'adb shell' eingeben .. und nun in der Shell ein 'su', um root Rechte zu bekommen
5. mit 'cd /data/local/tmp' in den Ordner wechseln und mit 'ls' kontrollieren ob busybox dort angekommen ist
6. danach nun endlich 'busybox mount -o rw,remount /dev/block/mmcblk0p2 /system' eingeben, um Schreibrechte auf '/system/...' zu erlangen.
Nun kann man mit den (hoffentlich) bekannten Linux Kommandos lustig Verzeichnisse anlegen, Rechte ändern und Dateien kopieren bzw. löschen.
Der Nutzen:
Den Trick sollte man sich merken, denn im Notfall wird das jedem so gehen, der über 'adb push' Dateien in den System Ordner, oder dessen Unter-Ordner, kopieren oder über die 'adb shell' Veränderungen an Rechten erreichen will. das gleiche gilt für das Onlegen von Ordner oder Löschen von Dateien.
P.s.: Die 'busybox.zip' im Anhang muss man natürlich erst entpacken, bevor man die per adb pusht, ist klar, oder?
Anhänge
Zuletzt bearbeitet: