News   Magazin   Börse   Links   ArcArchie   Homepages
 Magazin  RISC OS Partition bei Raspberry Pi vergrössern Home 
Hardware   Software   Praxis   Sonstiges  
RISC OS Partition bei Raspberry Pi vergrössern  Carlos Michael Santillán 14. 5. 2013

Hinweis: Inzwischen gibt es mit SystemDisc von Piccolo Systems ein RISC OS Programm um komfortable und sauber die RISC OS Partition zu vergrößern. 11. 11. 2013


SD Karte voll genutztDas kleine Raspberry Pi Board ist ein recht preisgünstigster Computer. Gedacht ist dieser ARM11 Rechner eigentlich für Linux, aber dank dem quelloffenen RISC OS 5 kann man auch RISC OS auf dem kleinen Board zum Laufen bekommen. Die Basisinstallation von RISC OS, also das Aufspielen des Images auf eine SD Karte, ist recht einfach und entspricht der von Linux. Deshalb werde ich hier nicht beschreiben wie man das RISC OS Image auf die SD Karte bekommt. Mit der Suchmaschine seiner Wahl sollte man zum Beispiel mit "raspberry pi installation" eine gute Anleitung finden. Ich selbst habe das unter Linux mit dd bs=4M if=ro519-rc8-1876M.img of=/dev/sdX gemacht. Das SD Karten Image kann man bei der Raspberry Pi Foundation herunterladen.

Die SD Karte dient als Bootmedium inklusive RISC OS ROM und ist zusätzlich für RISC OS quasi die Festplatte. Das RISC OS Image ist für SD Karten mit einer Kapazität von zwei GByte ausgelegt. Hat man eine größere SD Karte verwendet, so gehen die Hälfte oder weit mehr der Karte ungenutzt verloren. Leider steht bislang (Mai 2013) kein Tool zur Verfügung um den ungenutzten Teil der Karte für RISC OS zu nutzen. Raik Fischer ist deshalb einen recht schmutzigen Weg gegangen um die gesamte SD Karte unter RISC OS zu nutzen. Auch ich bin diesen Weg gegangen und empfehle diesen Weg nicht wirklich. Trotzdem werde ich das hier beschreiben, da es der einzige mir bekannte Weg ist die gesamte SD Karte zu nutzen. Wer einen sauberen Weg oder ein Tool kennt um die RISC OS Partition zu vergrößern soll mir das bitte melden und dann werde ich das hier kundtun.

Leider kann RISC OS bislang nicht mit Partitionen umgehen. Aber irgendwie hat RISC OS Open Ltd. es hinbekommen auf die SD Karte zwei Partitionen abzulegen. Die schmutzige Lösung um die gesamte SD Karte zu nutzen ist, dass man unter RISC OS die Karte formatiert und am Ende etwas Platz für die Bootpartition übrig lässt. Da RISC OS nicht mit Partitionen umgehen kann, ist der erste Bereich keine Partition.

Der hier beschriebene Weg benötigt Linux und das Partitionierungstool GParted. Das sollte aber auch mit Windows oder Mac OS und einen geeigneten Tool funktionieren. Sicherlich kann man auch ein Livelinux von CD oder USB Stick nutzen. Im Prinzip kann man auch das Linuxprogramm fdisk benutzen, aber ich bin den graphischen Weg gegangen.

Zuerst die RISC OS SD Karte in den Raspberry Pi stecken und RISC OS starten und die gesamte RISC OS "Festplatte" sichern. Dabei sollte man $.!Boot.Loader nicht sichern. Ich habe die Dateien und Verzeichnisse via ShareFS auf einen anderen RISC OS Rechner gesichert. Man kann aber auch einen ADFS formatierten USB Stick oder Festplatte, einen NFS Server und so weiter nehmen. Eventuell passt das auch gepackt auf die RAM Disc. Man muss aber auf alle Fälle dafür sorgen das HForm ($.Utilities.Caution.!HForm) benutzbar ist und das man die Daten auf einer leeren SD Karte wiederherstellen kann. Wenn man alles gesichert hat hängt man die SD Karte mit Dismount im Laufwerksmenü aus und zieht die SD Karte im laufenden Betrieb aus dem Raspberry Pi.

Ungenutzer Platz auf SD KarteNun die RISC OS Karte in das Lesegerät des Linuxrechner stecken, GParted starten und dann im Auswahlmenü oben rechts die SD Karte auswählen. Wie man im Bild sieht ist das bei mir /dev/sdb mit einer 7,46 GiB großen SD Karte. GParted zeigt drei Bereiche auf der Karte an. Der erste Bereich ist die Bootpartition mit Namen PiBoot. Diese FAT Partition enthält die notwendigen Dateien um RISC OS zu starten. PiBoot ist bei mir 48 MiB groß. Die zweite Partition hat einen unbekannten Typ und ist bei mir 1,79 GiB groß. Dies ist die RISC OS Partition. Und ich möchte hier betonen, das es eine Partition ist. Der letzte und größte Teil der Karte ist ungenutzt und bei mir 5,63 GiB groß. Dieser Teil soll nun für RISC OS nutzbar gemacht werden, damit die gesamte acht GByte der SD Karte genutzt wird.

Einige Daten der Karte müssen nun notiert werden. Also die PiBoot Partition anklicken und dann mit der rechten Maustaste das Kontextmenü öffnen und dort auf "Informationen" klicken. In dem nun geöffneten Fenster findet man allerlei Information über die Partition. Die Anzahl der Sektoren (hier 98.304) und die Größe (hier 48 MiB) muss man notieren. Den letzten Sektor der Karte und damit des nicht zugeteilten und dritten Bereichs der Karte, muss in gleicher Weise ermittelt werden. Bei mir ist der letzte Sektor 15.652.863. Auch diesen Wert muss man notieren. Da die gesamte Karte gelöscht wird, muss man die Dateien der Bootpartition auf dem Linuxrechner, einen USB Stick oder so sichern. Ist das geschehen, kann man mit GParted die beiden Partition löschen. Dazu die Partitionen einzeln auswählen und im Kontextmenü löschen. Dann den grünen Harken anklicken. Falls dies nicht möglich ist, die SD Karte im Kontextmenü aushängen.

HFormDie Karte nun wieder in den mit RISC OS laufenden Raspberry Pi stecken und HForm ($.Utilities.Caution.!HForm) starten. Dort wählt man SDFS ("M") und das Laufwerk 0 aus. Auf die Frage "Do you wish to retain this shape" antwortet man mit nein, also "N". Nun wird nach der Anzahl der Köpfe (Heads) gefragt. HForm denkt offenbar, das die SD Karte eine Festplatte ist. Lassen wir HForm in diesen Glauben. Hier wird 64 vorgeschlagen. Bei einer anderen Karte bekam ich den Wert 128. Keine Ahnung warum es Unterschiede gibt, aber der vorgeschlagene Wert muss notiert werden und wird mit der Eingabetaste übernommen. Nun wird nach der Anzahl der Sektoren pro Spur (Sectors per track) gefragt und hier der Wert 32 vorgeschlagen. Bei der anderen Karte war der Wert 24. Auch diesen Wert notieren und übernehmen. Bei der Frage nach den Zylindern (Cylinders) ist nun rechnen angesagt.

Man muss nun den letzten Sektor der Karte den man über GParted ermittelt hat (15.652.863) durch die Anzahl der Köpfe (hier 64) und durch die Anzahl der Sektoren pro Spur (hier 32) teilen. Also hier 15.652.863 geteilt durch 64 geteilt durch 32. Als Ergebnis erhält man hier 7.643 Zylinder. Das ist der Wert den auch HForm angibt und das ist auch gut so. Eventuell muss man den errechneten Wert aufrunden. Die Anzahl in Zylinder der Bootpartition berechnet man ebenso. Also die Sektoranzahl der Bootpartition (hier 98.304) geteilt durch die Köpfe (hier 64) und dies geteilt durch Sektoren pro Spur (hier 32). Hier erhält man 48 Zylinder. Diese Zylinder müssen nun vom letzten Zylinder abgezogen werden (7.643 minus 48) und zu Sicherheit habe ich noch weitere vier Zylinder abgezogen. Besser ein paar MByte verlieren als das sich die Datenbereiche von der RISC OS "Festplatte" und der Bootpartition überlappen. Als Wert habe ich hier 7.591 Zylinder (7.643 minus 48 minus 4) herausbekommen. Dieser Wert wird für Cylinders in HForm eingetragen und bestätigt. Mit "A" wird bei "no more changes to defect list" ausgewählt. Der Rest der HForm-Vorschläge wird dann einfach übernommen bis zu Frage ob man das Laufwerk wirklich initialisieren möchte ("Are you SURE you want to do this to drive SDFS::0 (Y/N) ?"). Sofern SDFS Laufwerk 0 und die richtige SD Karte in den Raspberry Pi eingelegt wurde darf man jetzt mit "Y" bestätigen und den Inhalt der Karte vernichten. Auch bei "Large file allocation unit" wird der vorgegebene Wert übernommen. Hat HForm seine Arbeit beendet kann man mit der Leertaste zum Desktop zurückkehren. Die SD Karte sollte jetzt eine weit höhere Kapazität haben als vorher. Aber sie ist nun auch leer. Zuerst sollte man dem Laufwerk wieder den ursprünglichen Namen geben. Dazu im SD Karten Menü auf der Iconbar via Name disc den Namen "RISCOSpi" angeben. Damit ist es Zeit die Daten wieder auf die Karte zu kopieren. Ist das erledigt kommt die SD Karte in den Linux Rechner.

Bootpartition anlegenDort muss die Bootpartition eingerichtet werden. Also wieder GParted starten, die SD Karte auswählen und auf die nicht zugeteilte Partition, die ja zum größten Teil für RISC OS zuständig ist, auswählen und dann im Kontextmenü "Neu" auswählen. Nun ist wieder etwas rechnen von Nöten. GParted möchte hier die Partition mit einer Größe von 7.643 MiB anlegen. Das wäre also die gesamte Karte. Davon zieht man dann einfach 48 MiB ab und trägt dann die 7.595 MiB unter "Vorhergehender freier Speicherplatz" ein. Als "neue Größe" wird dann 48 MiB eingetragen. Der "Anschließender freie Speicherplatz" sollte nun Null MiB betragen. Als Dateisystem habe ich "fat32" angegeben und benenne die Partition "PiBoot". Erst später habe ich gesehen das die orginale Bootpartition mit FAT16 formatiert war. Da ich keinen Probleme habe lasse ich das so, werde aber in Zukunft auch FAT16 nutzen. Nun auf "Hinzufügen" klicken. Wenn man sich die Informationen der neuen Partition anzeigen lässt, dann sieht man das der erste Sektor der zukünftigen Bootpartition bei mir der Sektor 15.554.560 ist. Teilt man diesen Wert durch Anzahl der Köpfe (hier 64) und dies dann durch die Anzahl der Sektoren pro Spur (hier 32), dann kommt hier 7.595 Zylinder raus. Das sind drei Zylinder hinter dem RISC OS Bereich der SD Karte. Damit ist alles in Ordnung und man kann mit einen Klick auf das grüne Häkchen die Partition wirklich anlegen. Nun die Karte kurz aus dem Lesegerät ziehen und wieder hineinschieben. Linux sollte nun die Karte beziehungsweise die 48 MiB große Partition PiBoot erkennen und man kann die Daten der Bootpartition aus der Sicherung auf die Karte kopieren. Die Karte dann abmelden und in den Raspberry Pi stecken und den Rechner starten. Wenn alles geklappt hat, sollte sich RISC OS melden und auf der Karte sollten jetzt mindestens drei GByte Platz vorhanden sein.

Dank an Raik Fischer und Herbert zur Nedden (GAG News 124)
Kennst Du einen besseren und vielleicht sauberen Weg um für RISC OS mehr Platz zu verschaffen? Gibt es Unklarheiten oder Fehler? Verbesserungsvorschläge, Tipps oder Anmerkungen? Dann schick mir einfach eine Mail!

Name: *

EMail:

Text: *
Hardware   Software   Praxis   Sonstiges  
ArcSite   News   Magazin   Börse   Links   ArcArchie   Homepages