Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Motorola Forum > Motorola Milestone Forum > Root / Hacking / Modding für Motorola Milestone > Anleitungen für Motorola Milestone

[How-To] Apps2SD auf dem Milestone

Das Thema "[How-To] Apps2SD auf dem Milestone" befindet sich unter Anleitungen für Motorola Milestone auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 15.02.2010, 16:20   #1 (permalink)
Erfahrener Benutzer
 
Benutzerbild von mojo

Registriert seit: 17.01.2010
Beiträge: 233
Abgegebene Danke: 32
Erhielt 59 Danke für 32 Beiträge
Beitrag [How-To] Apps2SD auf dem Milestone

Howto Apps2SD auf Milestone 2.0/2.0.1/2.1

Bentötigt wird ein Milestone mit Speicherkarte, root Zugriff, funktionierendem adb und busybox (bei mir in /data/busybox).
Ich empfehle vorher ein nandroid Backup und Geduld bei den Befehlen.

1) Die Datei aus dem Anhang dieses Posts entpacken und zusammen mit der ext2.ko aus dem Anhang von newtons Post auf die Speicherkarte kopieren.
Apps2sd auf Milestone

2) Alle Dateien der Speicherkarte sichern (auch das nandroid-backup)
Speicherkarte vorbereiten, so dass nachher in /dev/block/mmcblk0p1 eine formatierte Fat Partition ist
und in /dev/block/mmcblk0p2 eine ebenfalls formatierte ext2. Wer das alleine kann, kann diesen Abschnitt überspringen,
ansonsten hier eine Anleitung für die man keinen Kartenleser braucht, dafür aber Linux (oder Cygwin...)

2.1) Milestone an den PC anschliessen, mit USB Modus "Verwaltung der Speicherkarte"
Speicherkarte unmounten, falls sie automatisch vom PC gemountet wurde.
Ich gehe im Folgenden davon aus, dass die Speicherkarte in /dev/sdb liegt.

Jetzt die Partitionen anlegen mit (am lokalen PC als root eingeben): fdisk /dev/sdb
Hier meine Befehle mit kurzen Erklärungen, immer mit Enter bestätigen:

(Alte Partition löschen)

d

(Neue Partition anlegen)
n
p
1
enter
+7000M (so groß wird nachher die normale SD Partition, wer eine 16 GB Karte hat, kann hier natürlich einen größeren Wert eingeben)

(Als FAT deklarieren)
t
b


(Neue Linux Partition anlegen (sie belegt den Rest der Karte), da liegen nachher die apps drauf)
n
p
2
enter
enter

Bei Problemen kann man sich mit m die Befehle ausgeben lassen.
Jetzt mit p die Partitionen anzeigen lassen, bei mir sieht das Ganze so aus:
Dann mit w schreiben und beenden

Code:
Command (m for help): p

Disk mmcblk0: 7948 MB, 7948206080 bytes
96 heads, 22 sectors/track, 7350 cylinders
Units = cylinders of 2112 * 512 = 1081344 bytes

   Device Boot      Start         End      Blocks  Id System
mmcblk0p1               1        7001     7393045   b Win95 FAT32
mmcblk0p2            7002        7350      368544  83 Linux
Jetzt muss alles Formatiert werden (auch am PC eingeben):

Code:
mkfs.msdos /dev/sdb1
mkfs.ext2 /dev/sdb2
tune2fs -c 0 /dev/sdb2
Soweit so gut, jetzt das Milestone wider auf USB Verbindung "Keine" stellen.
Am Milestone sollte die Speicherkarte wieder erkannt werden, ohne dass irgendwas formatiert werden muss.
Die SD ist leer, und etwas kleiner als vorher (ich hab jetzt 7485MB frei).

Jetzt können wir den Inhalt unserer Sicherung der SD wieder zurück spielen (auf dem PC nicht löschen, Backups sind immer gut)
Das können wir aber auch später machen.


3) [Jetzt gemacht wird: Linux Partition mounten, Programme verschieben, Symlinks setzten]
Ab jetzt werden alle Befehle auf dem Gerät ausgeführt.
Dafür am PC mit adb auf das Milestone verbinden und Root rechte erlangen:

Code:
adb shell
   su
Jetzt das ext2 Kernelmodul laden (natürlich vorher auf die SD kopieren, falls noch nicht alles zurück gespielt wurde),
dann einen neuen Ordner erstellen, und die Linux Partition dort hin mounten:

Code:
cp /sdcard/ext2.ko /data/ext2.ko
   insmod /data/ext2.ko
   mkdir /data/sdapp
   mount -t ext2 /dev/block/mmcblk0p2 /data/sdapp
Jetzt alle apps auf die neue Partiton kopieren und löschen.
Achtung: Es kann vorkommen, dass die Apps beim ersten Kopieren aus irgendeinem Grund nicht auf der SD Karte bleiben und nach einem Neustart weg sind.
Daher besser zusätzlich nochmal auf die FAT Partition der SD kopieren.

Code:
cp /data/app/* /data/sdapp/
mkdir /sdcard/sicherung
cp /data/app/* /sdcard/sicherung
   rm -r /data/app
Einmal aus und neu einhängen:
Code:
umount /data/sdapp   
   mount -t ext2 /dev/block/mmcblk0p2 /data/sdapp
Es sollten keine Programme mehr auf dem Milestone startbar sein.
Es kann sein, dass einige Programme auf dem Milestone crashen, das war zu erwarten.
Jetzt den Symlink setzen, vorher prüfen, ob die Apps auf der SD sind:
Code:
   ls /data/sdapp
   ln -s /data/sdapp /data/app
   chmod 644 /data/sdapp/*
   /data/busybox/chown -h 1000:1000 /data/app 
   /data/busybox/chown 1000:1000 /data/sdapp/*
   /data/busybox/chown 1000:1000 /data/sdapp
Testen und siehe da: alle Programme starten wieder. Von der SD.

Soweit so gut, jetzt könnte man es benutzen.
Wer das Milestone jetzt neu startet wird sehen, dass er bis zum Desktop kommt, da nach aber lauter Fehler sehen.
Das kann man auch ausprobieren, da passiert nix.

Damit alles wieder geht, müssen diese Befehle auf dem Gerät ausgeführt werden, die ab jetzt bei jedem Start ausgeführt werden müssen:
Code:
   insmod /data/ext2.ko
   mount -t ext2 /dev/block/mmcblk0p2 /data/sdapp
4) Die Befehle automatisch starten lassen.
Dafür /system beschreibbar machen, mot_boot_mode umbenennen, und das das Script aus dem Anhang dieses Posts
nach /system/bin kopieren (vorher natürlich auf die SD, Rechte vergeben:
Code:
   mount -o remount,rw     / /system
   mv /system/bin/mot_boot_mode /system/bin/mot_boot_mode.bin
   cp /sdcard/mot_boot_mode_script /system/bin/mot_boot_mode
   chmod 755 /system/bin/mot_boot_mode
6) Neustarten und ausprobieren.
Die Widgets werden anfangs nicht richtig laden, und auch das Startmenü braucht etwas länger.
Die fehlerhaften Widgets müssen entfernt und nochmal von Hand hinzugefügt werden,
ab dann gehen sie auch beim nächsten Start.
Programme können normal vom Market installiert oder gelöscht werden, sie landen auf der SD.
Wenn ihr ab jetzt den USB Modus auf "Verwaltung der Speicherkarte" stellt, könnten Apps crashen.

Apropos Crashen: Ein Paar Apps starten nicht mehr.
Nach meinen Erfahrungen alle, die GPS und/oder Internetzugriff brauchen.
Bis jetzt konnte ich das Problem bei allen Apps durch Löschen und Neuinstallieren beheben,
aber vielleicht kennt jemand von euch noch einen besseren Weg.


7) Wenn alle Programme auf einmal weg sind oder nicht mehr starten keine Angst,
wenn man einen normalen /data/app Ordner erstellt und die Apps wieder reinkopiert geht alles wieder.
Wer will, kann auch erstmal alles von /data/app auf die SD sichern und auf den PC kopieren.

Wenn das Milestone nicht mehr startet, arbeitet der Wrapper nicht richtig.
Dann entweder ein nandroid-backup zurückspielen und alles nochmal machen,
oder mittels ADBRecovery über adb auf das Gerät zugreifen, /system mounten,
den Wrapper /system/bin/mot_boot_mode löschen und die alte Datei zürck umbenennen:
mv /system/bin/mot_boot_mode.bin /system/bin/mot/boot_mode
Dann startet er wieder.

Ich bitte diejenigen, die die Befehle kennen und wissen was passiert,
das Howto auszuprobieren und mir Feedback zu geben.
Ich habe momentan nicht so viel Zeit, kann also bei Problemen nur bedingt helfen.

Für diejenigen, die hier noch keinen Account haben,
hier der Inhalt des Scripts aus dem Anhang:
Code:
#!/system/bin/sh
export PATH=/system/bin:$PATH
mot_boot_mode.bin
insmod /data/ext2.ko
mount -t ext2 /dev/block/mmcblk0p2 /data/sdapp
Übrigends:
nandroid-mobile.sh wird die apps-Partition auf der SD Karte nicht von alleine Backupen.
Um diese muss man sich also selbst kümmern.
Nach dem Ausführen von 'nandroid-mobile.sh --backup' kann man die apps-Partition so sichern:
Code:
mount /sdcard
dd if=/dev/block/mmcblk0p2 of=/sdcard/apps2sd.img
Damit wird die ganze Partition in eine Datei auf den normalen Bereich der SD kopiert,
diese kann man normal auf den PC kopieren, so wie den nandroid-Backup Ordner auch.
Das kann mehrere Minuten dauern und es muss auf der SD noch genup Platz für die apps-Partition sein, nicht nur für den dort belegten Speicher!
Zum Zurückspielen erst 'nandroid-mobile.sh --restore' und dann:
Code:
mount /sdcard
dd if=/sdcard/apps2sd.img of=/dev/block/mmcblk0p2
Achtung: der dd-Befehlt ist ziemlich 'grob'.
'if' ist das input-file und 'of' das output-file.
Das Output File wird einfach überschrieben, egal was da vorher war,
und egal ob da überhaupt genug Platz ist.
Es ist also nicht möglich, ein apps2sd.img wiederherzustellen,
wenn man nach dem Sichern die SD nochmal neu partitioniert und die Apps Partition verkleinert hat!


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Teil 2 - Apps2SD wider rückgängig machen.

Wer Apps2SD (zum Beispiel vor dem Update auf 2.1) wieder loswerden möchte,
kann dieser Anleitung folgen.
Ich gehe im Folgenden davon aus, dass Apps2SD mit den obigen Befehlen
eingerichtet wurde. Wer oben von der Anleitung abgewichen ist
muss auch jetzt seine Befehle anpassen.

1) Wrapper entfernen

Code:
adb shell
su
mount -o remount,rw / /system
cat /system/bin/mot_boot_mode
Jetzt muss das Shellscript angezeigt werden.
Wenn jetzt Datenmüll kommt nicht weitermachen!

Code:
rm /system/bin/mot_boot_mode
mv /system/bin/mot_boot_mode.bin /system/bin/mot_boot_mode
2) Apps wieder auf den internen Speicher kopieren:
Code:
ls -l /data/app
In der Zeile die jetzt erscheint muss sichtbar sein, dass /data/app ein Link ist.
Am Ende sollte also etwas in der Art "app -> /data/sdapp" stehen.
Wenn das nicht da steht nicht weitermachen!

Code:
rm /data/app
mkdir /data/app
Jetzt kontrollieren ob intern genug Platz frei ist.
Code:
df -h
In der Zeile für /data (Spalte: Mounted on) muss bei dem freien Speicher mindestens so viel Platz angzeigt werden,
wie auf der apps-Partition (auf der SD) belegt ist.
Wenn das erfüllt ist, geht es weiter, sonst müssen Programme gelöscht werden.
Also weiter:
Code:
cp /data/sdapp/* /data/app 
chmod 644 /data/app/*
/data/busybox/chown 1000:1000 /data/app/*
/data/busybox/chown 1000:1000 /data/app
Milestone neu starten.
Ab jetzt werden die Programme wieder vom internen Speicher geladen.
Dabei kann es wieder zu Abstürzen und Widget Problemen kommen,
neu Installation der betroffenen Apps behebt auch hier das Problem.

Da das System nicht mehr auf den /data/sdapp-Ordner zugreift,
können wir diesen der Ordnung halber löschen.
Nachfolgender Befehl sollte ohne Probleme gehen,
da die SD-Partition nicht mehr gemountet wird.
Wenn nicht, ist möglicherweise der Wrapper noch aktiv,
oder es wurden von Hand Dateien in den Ordner kopiert.
Code:
rmdir /data/sdapp
Jetzt könnten wir ein Update installieren und da nach, ohne die Speicherkarte neu
partitionieren zu müssen, Apps2SD wieder installieren.
Wer die SD wieder auf den alten Stand haben will,
kopiert erst alles auf den PC und geht dann auf
Einstellungen -> SD Karte -> SD-Karte entnehmen , SD-Karte formatieren.
Dabei wird meiner Erfahrung nach die ursprüngliche Partitionstabelle wieder angelegt.
Angehängte Dateien
Dateityp: zip mot_boot_mode_script.zip (250 Bytes, 899x aufgerufen)

Geändert von mojo (12.04.2010 um 23:31 Uhr)
mojo ist offline   Mit Zitat antworten
Folgende Benutzer bedanken sich bei mojo für diesen Beitrag:
bemymonkey (11.07.2010), BigBoi (15.02.2010), Black-Guardian (16.02.2010), Bluebrain (15.02.2010), casula (21.03.2010), Compufreak (01.03.2010), Edzilla (17.02.2010), frichter (27.11.2010), Gambler (16.02.2010), greenberet123 (29.03.2010), Hami-1903 (03.04.2010), HTC (18.02.2010), KurrKurr (15.02.2010), mattmaso (15.02.2010), MeetAndroid (01.03.2010), Milestone (19.03.2010), nazfalas (12.04.2010), parabolon (16.02.2010), Reindl (16.02.2010), smog (19.04.2010), TheSpiritof69 (31.03.2010)
Alt 15.02.2010, 16:39   #2 (permalink)
Android-Hilfe.de Mitglied
 
Benutzerbild von cooper1988

Modell: HTC Sensation

Registriert seit: 17.11.2009
Beiträge: 129
Abgegebene Danke: 75
Erhielt 23 Danke für 19 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

darf ich dich heiraten?
cooper1988 ist offline   Mit Zitat antworten
Alt 15.02.2010, 16:43   #3 (permalink)
Erfahrener Benutzer
 
Benutzerbild von mojo

Registriert seit: 17.01.2010
Beiträge: 233
Abgegebene Danke: 32
Erhielt 59 Danke für 32 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Nicht so schnell

Ich habe es selbst noch nicht lange installiert,
und kann nur schwer einschätzen,
ob die Programme so stabil und schnell wie vorher laufen.
mojo ist offline   Mit Zitat antworten
Alt 15.02.2010, 17:10   #4 (permalink)
Android-Hilfe.de Mitglied

Modell: Motorola Milestone

Registriert seit: 14.01.2010
Beiträge: 143
Abgegebene Danke: 9
Erhielt 50 Danke für 27 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Man könnte auch anstelle die alte Partition löschen und zwei neue anlegen die bestehende mittels z.B. gnu parted (parted) verkleinern...

Die Daten sollte man natürlich sicherheitshalber trotzdem woanders sichern.
newton ist offline   Mit Zitat antworten
Alt 15.02.2010, 17:45   #5 (permalink)
Neuer Benutzer

Registriert seit: 21.01.2010
Beiträge: 29
Abgegebene Danke: 4
Erhielt 13 Danke für 10 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Gute Arbeit, sehr ausgefeiltes Tutorial. *2 Thumbs Up*

Hoffentlich bekommen wir bald Feedback was Systemgeschwindigkeit und -stabilität angeht. Da ich bisher noch keinen mangelnden Speicherplatz hatte, werde ich es erst mal nicht probieren. Und mit ner Class2-Karte wird's sicher nicht schneller.
BigBoi ist offline   Mit Zitat antworten
Alt 15.02.2010, 17:53   #6 (permalink)
Erfahrener Benutzer
 
Benutzerbild von mojo

Registriert seit: 17.01.2010
Beiträge: 233
Abgegebene Danke: 32
Erhielt 59 Danke für 32 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Ursprünglich wollte ich nicht gleich alles auslagern,
sondern nur einzelne .apk Dateien.

Die Symlinks für einen ganzen Ordner akzeptiert das Milestone sofort,
und die Programme erscheinen wieder im Startmenü/Launcher.

Wenn ich Symlinks auf einzelne Dateien setze,
passiert leider nichts, er ignoriert den Link einfach.
mojo ist offline   Mit Zitat antworten
Alt 15.02.2010, 18:04   #7 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 07.02.2010
Beiträge: 139
Abgegebene Danke: 6
Erhielt 51 Danke für 20 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Kannst du mir erklaeren wie ich dies hinbekomme?

Code:
/data/busybox/chown -h 1000:1000 /data/app 
   /data/busybox/chown 1000:1000 /data/sdapp/*
   /data/busybox/chown 1000:1000 /data/sdapp
Bei mir steht da als user -h existiert nicht, und user 1000:1000 existiert nicht... o.o
Bavilo ist offline   Mit Zitat antworten
Alt 15.02.2010, 18:15   #8 (permalink)
Erfahrener Benutzer
 
Benutzerbild von mojo

Registriert seit: 17.01.2010
Beiträge: 233
Abgegebene Danke: 32
Erhielt 59 Danke für 32 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Der Parameter geht nur mit der chown-Binary aus busybox.
Falls du bereits busybox hast, kann es an dem Busybox-build liegen.
Ob man die Rechte in der Form zwingend braucht,
und ob der Android-eigene chown Befehl das möglicherweise doch kann kann ich nicht sicher sagen.
mojo ist offline   Mit Zitat antworten
Folgender Benutzer bedankt sich bei mojo für diesen Beitrag:
Bavilo (15.02.2010)
Alt 15.02.2010, 18:16   #9 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 07.02.2010
Beiträge: 139
Abgegebene Danke: 6
Erhielt 51 Danke für 20 Beiträge
Standard AW: [Howto] Apps2SD auf dem Milestone

Zitat:
Zitat von mojo Beitrag anzeigen
Der Parameter geht nur mit der chown-Binary aus busybox.
Falls du bereits busybox hast, kann es an dem Busybox-build liegen.
Ob man die Rechte in der Form zwingend braucht,
und ob der Android-eigene chown Befehl das möglicherweise doch kann kann ich nicht sicher sagen.
Hab das mit dem chown schon hin bekommen, jedoch werden die apps nicht geladen (die apps in /data/sdapp erscheinen überhaupt nicht mehr...Hmm, woran könnte es liegen?)

Geändert von Bavilo (15.02.2010 um 18:21 Uhr)
Bavilo ist offline   Mit Zitat antworten
Alt 15.02.2010, 18:26   #10 (permalink)
Fortgeschrittenes Mitglied
 
Benutzerbild von Reindl

Modell: Samsung S2

Registriert seit: 16.12.2009
Beiträge: 359
Abgegebene Danke: 87
Erhielt 35 Danke für 19 Beiträge
Reindl eine Nachricht über MSN schicken Reindl eine Nachricht über Yahoo! schicken
Standard AW: [Howto] Apps2SD auf dem Milestone

Zitat:
Zitat von Bavilo Beitrag anzeigen
Hab das mit dem chown schon hin bekommen, jedoch werden die apps nicht geladen (die apps in /data/sdapp erscheinen überhaupt nicht mehr...Hmm, woran könnte es liegen?)
und wie kannst du es mir auch sagen?
__________________
Dell Streak / Galaxy Tap / Galaxy S2 / asus Transformer
Reindl ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Sipdroid auf dem Milestone bastii Motorola Milestone Forum 145 08.02.2011 14:58
Apps2SD auf dem Desire (nach Root) fubuman_05 Root / Hacking / Modding für HTC Desire 108 07.08.2010 16:40
Fennec auf dem Milestone MartinSchirr Motorola Milestone Forum 36 28.04.2010 23:16
Apps2sd auf Milestone MotoNero Root / Hacking / Modding für Motorola Milestone 44 17.04.2010 10:51
Stopuhr auf dem Milestone? Rayk Business und Organisation 4 07.02.2010 20:45




Du liest gerade: "[How-To] Apps2SD auf dem Milestone" unter "Anleitungen für Motorola Milestone" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.