Partitionieren der SD Karte
Posted by | Posted in Guides | Posted on 15-11-2009
Wer in der Lage sein möchte seine Apps statt im internen Speicher auf der SD Karte zu speichern, um somit viel mehr Apps installieren zu können, muss seine SD Karte zunächst Partitionieren. Es gibt mittlerweile viele Methoden die SD Karte auf dem G1 zu partitionieren. Die wohl praktischste, wenn auch mit etwas Schreibarbeit verbundene Methode ist aber eine, die uns Dank der Cyanogen Recovery das installieren von Linux oder irgendwelchen Partitionierungsprogrammen erspart.
Wie immer gilt auch hier: Für Schäden am Gerät, der Software oder Personen sind wir nicht haftbar. Das Durchführen dieser Anleitung geschieht auf eigene Gefahr!
Folgendes muss vorrausgesetzt sein:
Korrekt installiertes Android SDK
Bereits geflashte Cyanogen Recovery 1.4 (oder höher)
Euch muss klar sein das mit dem Partitionieren wirklich ALLE Daten von eurer SD Karte gelöscht werden. Also sichert, was ihr noch benötigt. Gibt einige Apps dafür auf dem Market, wir haben bisher gute Erfahrungen mit dem App “Backup for root users” gemacht. Wenn ihr das alles gemacht habt, geht es nun los:
Verbindet euer G1 via USB Kabel mit dem PC. Schaltet dieses nun aus, und haltet beim einschalten die Home-Taste gedrückt, bis ihr im Recovery Modus seid. Geht nun auf dem G1 mit Alt+X in die Konsole.
Als nächsten Schritt startet ihr auf dem PC die Eingabeaufforderung (Windows XP: Start -> alle Programme -> Zubehör -> Eingabeaufforderung; alle anderen System bitte googlen)
Dort gebt ihr nun folgendes ein (neue Zeile bedeutet “Enter” drücken):
adb shell
parted /dev/block/mmcblk0 <–das ist eine “Null”
Jetzt sucht ihr die Zeile in der steht: “Disk /dev/block/mmcblk0: xxxxMB”
Das xxxx bitte irgendwo aufschreiben, das ist die Gesamtgröße eurer SD Karte!
Gleichzeitg könnt ihr nun auch sehen wieviele Partitionen ihr habt. Um diese zu löschen geben wir nun ein:
rm 1 (für die erste Partition)
rm 2 (für die zweite Partition)
usw.
Mehr als drei Partitionen sollten aber im Normalfall nicht da sein, es sei denn ihr hattet irgendwelche Exoten-Roms auf eurem G1 geflashed.
Nun mit print nochmal überprüfen ob die Partitionen auch wirklich gelöscht wurden.
Nun erstellen wir die primäre Partition, auf der dann später eure Musik, Bilder etc. zu finden sein werden:
mkpartfs primary fat32 0 xxxx
xxxx ist die Größe der Partition in MB. Bitte denkt daran das ihr noch 256-512 MB für eure Applikationen Partition (Apps2SD) benötigt. Optional auch noch 64MB für eine Linux-Swap Partition, die ihr aber für Cyanogen Roms z.B. nicht unbedingt braucht. Hingegen bei Hero Roms sind diese auf jeden Fall von Nöten. Lest dazu bitte genau die Anleitungen der Developer durch, denn dort wird eigentlich immer angegeben welche Partitionen nötig sind.
Nun erstellen wir die Apps-Partition:
mkpartfs primary ext2 xxxx yyyy
yyyy ergibt sich ganz einfach aus der Summe von xxxx vom vorherigen Schritt, plus die gewünschte Größe für diese Partition (z.B. 512MB). Man kann die Angabe “xxxx yyyy” auch als “von bis” sehen.
Optional kann man nun noch eine Swap Partition erstellen, dies würde dann so aussehen:
mkpartfs primary linux-swap yyyy-zzzz
yyyy ist wieder die Zahl aus dem vorherigen Schritt und zzzz summiert sich aus yyyy plus der gewünschten Swap Größe (Standardmäßig meistens 64MB)
Ich gebe hier mal ein Beispiel für diese Befehle wie sie mit Zahlen aussehen könnten, wenn ich eine 2GB SD Karte habe:
mkpartfs primary fat32 0 1400
mkpartfs primary ext2 1400 1912
(optional)
mkpartfs primary linux-swap 1912-1976
Nach der Swap Zeile wird er nach “End?:” fragen, dort einfach nochmal die 1976 eingeben und bestätigen.
Um zu überprüfen ob die SD Karte auch richtig partitioniert wurde geben wir noch mal print ein. Sollte etwas nicht passen, einfach bei “rm …” noch mal anfangen.
Jetzt einfach:
quit
Um die nun bestehende Ext2 Partition auf die stabilere Ext3 Partition upzugraden geben wir nun noch ein:
upgrade_fs
Und wem das aus irgendwelchen Gründen immer noch nicht reicht und er unbedingt eine Ext4 Partition braucht gibt nun noch folgendes ein:
tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2
e2fsck -fpDC0 /dev/block/mmcblk0p2
Die Karte ist nun partitioniert und bereit zum Einsatz. Als nächstes muss ein neues Rom aufgespielt werden. Da ihr aber noch kein System auf der SD Karte habt müsst ihr entweder die Karte nach dem ausschalten (!!!) rausnehmen und dort die Daten draufkopieren (SD Karteleser vorrausgesetzt) oder aber ihr tut dies folgendermaßen:
Reboot durchführen, Home Taste wieder gedrückt lassen, wieder mit Alt-X in die Konsole gehen.
Falls die Eingabeaufforderung am PC noch offen ist “exit” eingeben und dann nochmal neu öffnen und eingeben (USB Kabel am G1 lassen):
adb shell mount /sdcard
adb push Laufwerk auf dem die Rom Datei ist:/Verzeichnis wo die Datei ist/romdatei.zip /sdcard
Nun wird die Datei in das Grundverzeichnis eurer Fat32 Partition auf der SD Karte kopiert. Mit Hilfe des Recovery Images können wir diese nun flashen.
Dafür nochmal rebooten (Auflegen + Menü + Abheben drücken), wieder Home gedrückt lassen beim booten. Dann einmal Alt+F um sicher zu gehen das die Ext-Partition auch ok ist, und Alt+W um einen wipe durchzuführen und somit 100% sicherzustellen das alles frisch ist. Und nun mit Hilfe von Alt+A das gewünschte Rom auswählen und mit drücken des Trackballs die Installation starten und im Anschluss USB Kabel abziehen und mit “Home+Zurück” rebooten. Voilá!




Schönes Tut aber die wichtigste Frage wird nicht beantwortet: Warum sollte ich meine SD-Karte partitionieren? Wozu der ganze Aufwand?
Stimmt, das ist mir tatsächlich diesmal untergegangen, da solche Fragen von uns eigentlich immer beantwortet werden. Wird nachgeholt
Mir ist gerade beim Lesen der alten Kommentare hier aufgefallen, dass nicht ganz klar wird, dass das erwähnte “Nachholen” bereits geschehen ist. Kollege Zehner hat nach dem Leserhinweis einen entsprechenden erklärenden Absatz an den Anfang des Artikels angefügt. Damit sollte nun auch für alle nachfolgenden Leser alles soweit klar und nachvollziehbar sein. Falls nicht: fragen!