Sailfish OS – Systempartition vergrößern

Systempartition vergrößern

Standardmäßig ist die Systempartition von Sailfish OS 2,44 GB groß wovon 1,3 GB bereits vom System belegt sind. Dies kann nach der Installation vieler Apps im Falle eine Updates zum Problem werden, da Sailfish OS für jedes Systemupdate ca. 650-700 MB freien Speicher voraussetzt.

Die grundlegende Partitionsverwaltung von Sailfish OS basiert auf dem Logical Volume Manager ( LVM ), der eine relativ einfache Modifikation der Partitionsgrößen erlaubt. Um die LVM Verwaltung nutzen zu können muss das Gerät im Recovery Modus gestartet werden. Wie der Recovertyboot und die Änderung der Partitionsgrößen funktioniert wird im Folgenden beschrieben :

ACHTUNG ! Vollständiger Datenverlust bei falscher Befehlseingabe oder der Wahl falscher Speichergrößen !
Das Gerät selbst kann nicht beschädigt werden, Wiederherstellung der Grundsystemkonfiguration jederzeit möglich, allerdings auch hier vollständiger Datenverlust !

  1. Gerät im Fastboot Modus mit Rechner verbinden ( Gerät bei gedrückter Volume Up Taste mit dem Rechner verbinden, Signal LED des Gerätes leuchtet blau )
    Recovery Image falls nötig ( ist in Installation ZIP Datei enthalten ) auf das Gerät flashen:
  2. Recovery Image via Fastboot starten ( Bildschirm des Gerätes ist aktiv,  jedoch vollkommen schwarz ):
  3. Verbindung zur Recovery Konsole des Gerätes über Telnet aufbauen:
  4. Shell/Konsole starten und Partitionen bearbeiten ( Systempartition auf 4 GB vergrößern ) :

    * lvm lvextend –size 5G /dev/sailfish/root vergrößert die Systempartition auf 5 GB. Bei Größeren Werten (<6GB) muss die Home Partition und der Home LV stärker reduziert werden.

    Das Ganze sieht dann wie folgt aus :

     

Detaillierte Erläuterung des o.g. Vorgehens

Logical Volume Manager (LVM) basierende Systeme sind in zwei Schichten aufgebaut, die alle innerhalb eines Containers (Physical Volume (PV)) liegen. Die PVs enthalten die Logischen Volumes (LV) die wiederum die Dateisysteme enthalten auf denen letztendlich die Daten gespeichert werden.

Um Änderungen an den LVM Volumes und Dateisystemen durchzuführen muss man daher in umgekehrter Reihenfolge verfahren. Um z.b. die Dateisysteme/Partitionen, die sich in den LVs befinden, zu ändern müssen die Dateisysteme zuerst verkleinert werden damit dann die Logischen Volumes geändert werden können.

Ein frisch geflashtes Sailfish OS Gerät hat per Default folgende Speicheraufteilung :
( ab SFOS Gen. 2 Xperia X | Gen 1 hat keine Aufteilung zwischen System und Userdaten  )

|                     PV auf gesamter Festplatte 22.25 GB                     |
| LV1 2.44GB |                          LV2 19.81GB                           |
| FS1 2.44GB |                          FS2 19.81GB                           |

Um FS1 auf LV1 um 2GB auf 4GB zu vergrößern muss dazu LV2 um 2GB verkleinert werden, da das PV den gesamten physikalischen speicher ( gesamte Festplatte ) bereits nutzt. Würde man einfach die logischen Volumes bearbeiten stimmen die Größen nicht mehr mit den darauf enthalten Dateisystemen überein und es kommt zu Dateisystem Fehlern und Datenverlust. Darum müssen zu erst die Dateisysteme selbst bearbeitet werden, i o.g. Fall muss das Dateisystem FS2 mindestens um 2 GB verkleinert werden.

Als Erstes wird FS2 auf 15GB reduziert. Dabei enstehen im LV2 4,81 GB freier Speicher.

|                     PV auf gesamter Festplatte 22.25 GB                     |
| LV1 2.44GB |                                          LV2 19.81GB           |
| FS1 2.44GB |                                 LV2 4,81GB frei  | FS2 15.00GB |

Nachdem FS2 reduziert wurde kann jetzt LV2 reduziert werden. Zur Sicherheit sollte dabei ein Puffer berücksichtigt werden ( 0.36 GB ).

|                     PV auf gesamter Festplatte 22.25 GB                     |
| LV1 2.44GB |                 PV 4.45GB frei |         LV2 15.36GB           |
| FS1 2.44GB |                                | LV2 0.36GB frei | FS2 15.00GB |

Der jetzt freie Speicher im PV kann nun den LVs zugewiesen werden. In diesem Fall wird LV1 auf 4GB vergrößert. In diesem Beispiel wäre eine maximale Vergrößerung von LV1 auf 6,89 GB ( 2,44GB +4,45 GB ) möglich.

|                     PV auf gesamter Festplatte 22.25 GB                     |
| LV1 4.00GB                 | PV 2,89GB frei |         LV2 15.36GB           |
| FS1 2.44GB | LV1 1.56 frei |                | LV2 0.36GB frei | FS2 15.00GB |

Da LV1 nur auf 4GB vergrößert wurde, und somit 2,89 GB im PV ungenutzt sind, wird der übrig gebliebene Speicher des PV jetzt wieder dem LV2 zugewiesen. Die Zuweisung kann auch direkt ohne den Zwischenschritt der Puffer durchgeführt werden, erfordert dabei aber genaue Berechnung der FS Extends und den FS Größen. Es ist jedoch einfacher den Ziel LV ( LV1 ) mit einer direkten Größenagabe zu ändern und den nachfolgen LV ( LV2 ) mit automatisch erfolger Speicherplatzberechnung wieder zu maximieren.

|                     PV auf gesamter Festplatte 22.25 GB                     |
| LV1 4.00GB                 |                          LV2 18,25GB           |
| FS1 2.44GB | LV1 1.56 frei |                  LV2 3,25GB frei | FS2 15.00GB |

Nach Abschluss der Änderungen an den LVs muss jetzt noch das Dateisystem an die neuen Größen der LVs angepasst werden

|                     PV auf gesamter Festplatte 22.25 GB                     |
|       LV1 4.00GB       |                   LV2 18,25GB                      |
|       FS1 4.00GB       |                   FS2 15.00GB                      |

 

 

Bugreport

=> if error occurs filesystem bigger than targetsize reduce fs
=>> lvm lvreduce -L -1G /dev/sailfish/root

CC_BY_NC_SAInfosource : together.jolla.com | together.jolla.com | blog.pcfe.net | www.tecmint.com

 

 

Quellen : together.jolla.com

Kategorie(n): Anleitungen, Linux, Sailfish OS

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

 

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.