Home-Partition verkleinern um die Root zu vergrößern

  • Hi,


    es gibt ja nun schon mehrere Anleitungen dazu und keine ist so richtig ausführlich. Meinem Empfinden nach muss man sich mehrere Anleitung anschauen, um zu wissen was da in etwa so abgeht.


    Ich habe es mal mit dieser Anleitung von Speefak probiert: Link

    ...und bin dabei auf die Schnauze gefallen, wobei ich das eigentlich nicht so ganz verstehe

    Meine Ausgangsartitionen sind:

    Home: 17.55 GB

    Root: 2.44 GB


    Da sollte man das Eine (Home) um 2.55 GB verkleinern können, um das Andere (Root) um 1.56 GB zu erweitern.

    Nichts anderes sagt die Anleitung: Verkleinere Home auf 15 GB und erweiter Root auf 4 GB.


    Tja, wenn ich nach der Anleitung vorgehe und zum Befehl "lvm lvextend --size 4G /dev/sailfish/root" (vorher fehlerfrei die Home-P auf 15GB verkleinert) komme, wirft er mir Folgendes aus:

    Code
    1. /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
    2. Insufficient free space: 399 extents needed, but only 0 available

    ...wobei der Input/output error hier normal ist. Ist also irgendwie kein Platz.


    Gut, damm soll er mir eben die Root mit 3GB erstellen "lvm lvextend --size 3G /dev/sailfish/root

    Code
    1. /dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
    2. Insufficient free space: 143 extents needed, but only 0 available

    ...immer noch ein Platzproblem.


    Dann gehe ich eben nach der Anleitung von Jolla vor - runter scrollen auf 3.3.2.a (ohne Verschlüsselung). Mit Verschlüsselung=etwas weiter scrollen.

    Hier hat nun alles funktioniert (bis auf die oben schon erwähnten Input/output-error). Aber ich war natürlich zu feige die Partitionsgrößen nach meinen Vorstellung anzupassen - so habe ich nun letztendlich eine ca.15 GB große Home-Partition und eine 6 GB große Root (welche mir eigentlich viel zu groß ist).

    Richtig gelesen: Die Home ist trotzdem ca.15 GB groß, obwohl ich sie per Befehl auf 10 GB resized habe. Ich kann mir das nur vorstellen, dass eine von den letzten Befehlen eine Korrektur auf die physische Größe ist ("erweitere auf Rest" - so ungefähr, ich muss mir die Befehle nochmal anschauen).


    Damit man weiß, dass man alles richtig macht, poste ich hier noch meine komplette Terminalausgabe der ganzen Aktion:

    Eine gute Anleitung für den Fastboot (natürlich mit dem 'hybris-recovery.img' von seiner SFOS-Version, welche auf dem Phone drauf ist), findet man hier (runter scrollen zu den '3 Answers').


    PS: Die ganze Operation wurde mit einem Host-Computer mit Linux Mint Mate 20.1 und einem USB-Kabel (Verbindung zum XA2+) an einem Hub (also nicht direkt am Computer) ausgeführt.


    -volker

  • Ich habe mir das mal angeschaut und lasse andere gerne an meinen Gedanken teilhaben.


    Wenn ich das durchgehe, sind das folgende Befehle:


    e2fsck -f /dev/mapper/sailfish-home


    Test der Partition

    -f erzwingt den Test

    http://manpages.ubuntu.com/man…xenial/man8/e2fsck.8.html


    resize2fs /dev/mapper/sailfish-home 10G


    Vergrößert/Verkleinert auf die angegebene Größe

    resize2fs -p würde einen Fortschrittsbalken ausgeben.


    https://wiki.ubuntuusers.de/Dateisystemgröße_ändern/


    Hier wird also wohl /home verkleinert


    e2fsck -f /dev/mapper/sailfish-home


    s. oben.

    vermutlich Test, ob es geklappt hat.


    lvm lvchange -a n sailfish/home


    Da ist mir leider nicht richtig klar, was damit bezweckt wird im Detail.


    lvm lvresize -l -911 sailfish/home


    Shrink "home" volume by -911 extents (= -3644M) for a 6 GiB, -1423 extents (= -5692M) for a 8 GiB, -399 extents (= -1596M) for a 4 GiB or -1935 extents (= -7740M) for a 10 GiB "root" volume size


    https://together.jolla.com/que…-the-root-lvm-volume-size


    lvm lvresize -l +100%FREE sailfish/root


    +100%FREE erweitert auf den maximal verfügbaren Speicherplatz

    https://docs.linuxfabrik.ch/base/filesystem/lvm.html


    Root wird also größer hierdurch.


    lvm lvchange -a y sailfish/home


    Da ist mir leider nicht richtig klar, was damit bezweckt wird im Detail.


    resize2fs /dev/mapper/sailfish-home


    Vergrößert das Dateisystem bis zur maximalen Größe des Logical Volumes oder der Partition


    https://wiki.ubuntuusers.de/Dateisystemgröße_ändern/

    e2fsck -f /dev/mapper/sailfish-home

    s. o.


    resize2fs /dev/mapper/sailfish-root


    s. o., keine Ahnung, warum das hier nochmal kommt.

  • Das ist doch überfällig, dass Jolla das im Rahmen eines Updates längst erledigt haben sollte. Ich finde es unzumutbar ein Betriebssystem am laufenden Band neu flashen zu müssen. Das mag für Linux User ein Klacks sein als Windows Benutzer ist das eine Zumutung.

    Eins lernt man mit diesem Betriebssystem, anspruchslos zu werden.

  • Das ist doch überfällig, dass Jolla das im Rahmen eines Updates längst erledigt haben sollte. Ich finde es unzumutbar ein Betriebssystem am laufenden Band neu flashen zu müssen. Das mag für Linux User ein Klacks sein als Windows Benutzer ist das eine Zumutung.

    Eins lernt man mit diesem Betriebssystem, anspruchslos zu werden.

    das Stimmt. Das flashen geht unter Linux einfacher. Wobei hier das Problem der Fastboot-treiber ist. Wenn der richtige gefunden ist und der dann irgendwann mal von windows akzeptiert wird gehts eigentlich. in der zeit kannst unter Linux locker 10 geräte flashen.

    Nebenbei hab ich auch mal gelesen das Jolla die Installation von sfOS nicht weiter vereinfachen will um potentielle Anfänger die sich an SfOS wagen wollen dafon abzhalten um den Support von "ich komme nicht weiter"-Mails zu entlasten. Den entsprechenden Artikel hab ich leider nicht mehr gefunden.