Mehr Speicherplatz für dm800 mit OE2.0 Image

  • Wer ein neues OE2.0 Image auf seiner dm800 installiert, wird schnell merken, dass der Speicher nur mit dem Image bereits fast 95% voll ist und nicht mehr viel installiert werden kann.


    Eine Alternative ist, das komplette Image auf einen USB-Stick auszulagern.


    Es geht aber auch einfacher, denn das große Image kommt in erster Linie von 3 QT Libraries, die zusammen gut 20 MB gross sind und somit fast 20% des kompletten Flash Speichers belegen.


    Man kann die 3 Libraries auf einen USB-Stick auslagern und im Flash durch symbolische Links ersetzen. Das funktioniert ohne Probleme - es sei denn, man vertippt sich beim Anlegen der Links, denn dann startet enigma nicht mehr. Man kommt aber immer noch per Telnet oder FTP auf die Box, um die Links zu korrigieren oder die Libraries wieder zurück in den Flash zu kopieren.


    Hier die Vorgehensweise:


    1. Freien Speicherplatz über telnet mit "df -h" überprüfen
    1. Die 3 Dateien /usr/lib/libQtCoreE.so.4.8.1, /usr/lib/libQtGuiE.so.4.8.1 und /usr/lib/libQtNetworkE.so.4.8.1 in ein Verzeichnis auf den USB-Stick kopieren, z.B. nach /media/usb/usr/lib/
    3. Die 3 Libraries in /usr/lib/ löschen
    4. Die 3 notwendigen Links anlegen:


    root@dm800:/usr/lib# ln -s /media/usb/usr/lib/libQtCoreE.so.4.8.1 /usr/lib/libQtCoreE.so.4.8.1
    root@dm800:/usr/lib# ln -s /media/usb/usr/lib/libQtGuiE.so.4.8.1 /usr/lib/libQtGuiE.so.4.8.1
    root@dm800:/usr/lib# ln -s /media/usb/usr/lib/libQtNetworkE.so.4.8.1 /usr/lib/libQtNetworkE.so.4.8.1


    5. Box neustarten, "df -h" ausführen und sich über knapp 20% mehr Speicherplatz freuen :winking_face:


    Einmal editiert, zuletzt von kashmir ()

  • Zitat

    Original von cs_e
    oder einfach freeze von Gutemine benutzen :winking_face:


    Zitat

    Original von kashmir
    Eine Alternative ist, das komplette Image auf einen USB-Stick auszulagern.


    Es geht aber auch einfacher


    :winking_face:

  • Hört sich gut an, ich werde es mal ausprobieren.
    Vielleicht sollte man noch erwähnen, dass der Speicherplatz zum ersten Herunterladen der libs auf die Box schon nicht ausreichen könnte.
    Deshalb sollten die drei Dateien vor der Installation von Browser und hbbtv schon auf dem USB-Stick sein und die Links angelegt werden.

  • Das geht sogar noch einfacher :)


    Du kannst die LInks auch anlegen BEVOR du überhaupt die Plugins installierst, dann gehen die Files bereits beim Installieren an den gewünschten Platz und du brauchst nichts manuell kopieren.


    Einfach ziel am USB mit touch anlegen, wmit das dann 2x3 Befehle in einem shellscript sind.

  • Zitat

    Original von gutemine
    Einfach ziel am USB mit touch anlegen, wmit das dann 2x3 Befehle in einem shellscript sind.


    Bis hierher war alles klar, aber das habe ich nicht verstanden.

  • Das Schöne ist, dass die 3 Dateien 20% des Flashs ausmachen. Eine der der Library ist 14 MB gross, da passt der Linux Kernel 7 mal rein :) Wäre es notwendig, viele kleinere Dateien auszulagern, ist ein Auslagern des kompletten Flashs sicher die elegantere Methode. Aber so hält sich der Aufwand in Grenzen und die dm800er User können OE2.0 doch uneingeschränkt nutzen - zumindest sehe ich bislang kein Problem. Wenn ich einen zweiten USB-Stick hätte, würde ich mal testen, ob ext4 funktioniert oder nicht. Zumindest sind alle erforderlichen binaries vorhanden - mkfs.ext4, fsck.ext4 usw...


    Das Ganze kam mir aber schon ein wenig wie die Arschkarte seitens dmm für die dm800 vor. Aber dazu läuft die Box einfach noch zu gut. Zumindest bei mir :)

  • die ext4 binaries gibts schon seit fast einen Jahr, ext4 kernel module für den alten Kernel nicht - ausser du portierst es zurück.


    Das man die 3 großen Files (eigentlich sind es mit ProjectX sogar 4 weil das auch 9MB) leicht auslagern kann habe ich auch schon wo geschrieben, aber selbst copy und symlink anlegen ist vielen zu kompliziert.


    #!/bin/sh
    touch /media/usb/xxxx
    ln -sfn /media/hdd/xxxx /usr/lib/xxxx
    exit 0


    Und schon wird dir wenn dann wenn du dieses xxxx installierst das binary gar nicht mehr im Flash landen.


    Weil sonst hast du das Henne-Ei problem - du must es runterladen um es weg zu kopieren und zu verlinken aber du hast keinen Platz um es runterzuladen :)

    Einmal editiert, zuletzt von gutemine ()

  • Danke für die Info! Dann kann man die ext4 binaries gleich auch entsorgen, zumal noch die entsprechende devs dabei sind. Das hätte dmm eigentlich auch machen können.


    Wo liegt denn die ProjectX Library? Habe ich auf die Schnelle nichts gefunden...


    Ja mit touch geht das seeehr elegant :) Aber in dem Fall hast du die Libraries ja erst mal im Flash, weil du das OE2.0 Image installieren musst.

  • projectx ist keine lib sondern ein binary


    Und nein entsorgen must du da gar nichts, auch das anlegen und checken von etx4 devices macht evt. Sinn, selbst wenn du wie nicht mounten kannst.


    Und nein du hast es immer noch nicht verstanden, du kannst ein normales OE 2.0 image wo die browser sachen nicht drinnen sind flashen. Die links anlegen zu mit touch angelegten leeren dummy files und wenn du dann die browser installierst wird beim installieren der link befolgt und das file aus dem Flash direkt aufs verlinkte device umgelenkt.

    Einmal editiert, zuletzt von gutemine ()

  • Zitat

    Original von kashmir
    Wo liegt denn die ProjectX Library? Habe ich auf die Schnelle nichts gefunden...


    Ist keine lib sondern ein binary:


    /usr/bin/projectx


    Edit:
    gutemine war schneller :tongue:

    Ein kleines Dankeschön, durch eine Spende, nehme ich gerne an, PayPal oder Amazon-Gutschein an dhwz(at)gmx.net

    Einmal editiert, zuletzt von dhwz ()


  • Ja nur das das so nicht funktioniert wenn ich mich nicht irre?!?!
    Der Link den du da erstellts wird bei einem opkg install eines paketes welches diese xxxx datei hat gnadenlos einfach überschrieben mit der Datei. Da landet nix auf /media/hdd


    Das klappt mit Ordnern, aber nicht mit einzelnen Dateien.

  • Zitat

    Original von gutemine
    Und nein du hast es immer noch nicht verstanden, du kannst ein normales OE 2.0 image wo die browser sachen nicht drinnen sind flashen. Die links anlegen zu mit touch angelegten leeren dummy files und wenn du dann die browser installierst wird beim installieren der link befolgt und das file aus dem Flash direkt aufs verlinkte device umgelenkt.


    Ich denke du hast mich nicht verstanden, oder wir reden gerade aneinander vorbei. Es gibt aktuell 3 OE 2.0 Images auf dem dreamupdate Feed für die dm800 und in allen sind die QT Libaries im Image enthalten. Ein touch im Libary Directory kann ich erst nach dem Flashen eines Images machen. Bei Images ohne die entsprechende Files kann man natürlich nach der Image Installation die Files auf eine externe Quelle touchen und dann erst installieren.


    Ja mittlerweile habe ich mich wegen Project X informiert. Aber entweder habe ich das gleich wieder deinstalliert (verschiedene DVD Pakete) oder es war gar nicht im dm800er Image drin.


    Aber ein guter Tipp für alle die Platz benötigen. Mit den 3 QT Libaries und dem Project X binary hat man auf einem Schlag fast 30 MB mehr Platz. Ich habe aktuell mehr Platz auf meiner dm800 mit OE2.0 als vorher mit dem OE1.6er Image :)

  • Verstehe ich das nun so richtig wie folgt beschrieben um die die 3 Dateien auf den USB-Stick auszulagern:


    1. Die 3 Dateien von /usr/lib/ nach /media/usb/ kopieren:
    /usr/lib/libQtCoreE.so.4.8.1
    /usr/lib/libQtGuiE.so.4.8.1
    /usr/lib/libQtNetworkE.so.4.8.1

    2. Folgende Befehle unter Telent ausführen:
    touch /media/usb/libQtCoreE.so.4.8.1
    ln -sfn /media/usb/usr/lib/libQtCoreE.so.4.8.1 /usr/lib/libQtCoreE.so.4.8.1

    touch /media/usb/usr/lib/libQtGuiE.so.4.8.1
    ln -sfn /media/usb/usr//usr/lib/libQtGuiE.so.4.8.1 /usr/lib//usr/lib/libQtGuiE.so.4.8.1

    touch /media/usb//usr/lib/libQtNetworkE.so.4.8.1
    ln -sfn /media/usb/usr/lib//usr/lib/libQtNetworkE.so.4.8.1
    /usr/lib//usr/lib/libQtNetworkE.so.4.8.1


    3. Die 3 Dateien in /usr/lib/ löschen.


    4. Box neu starten?


    Muss der USB-Stick im Vorfeld irgendwie besonders formatiert werden (auf ex4, wenn das überhaupt geht) oder sind sonst noch Vorarbeiten notwendig?


    Wenn ich aus Faulheit aus den Befehlen eine Scriptdatei machen möchte, mit welchen Befehl kann ich diese dann ausführen (soll auf /media/usb/ liegen)?


    Danke für eure Hilfe.

  • Den touch Befehl brauchst du nicht! Nur die 3 Links anlegen wie ich oben im ersten post beschrieben habe. Wenn du die 3 Dateien direkt nach /media/usb/ kopiert, muss der Link auch entsprechend angepasst werden, also:


    ln -s /media/usb/libQtCoreE.so.4.8.1 /usr/lib/libQtCoreE.so.4.8.1
    ln -s /media/usb/libQtGuiE.so.4.8.1 /usr/lib/libQtGuiE.so.4.8.1
    ln -s /media/usb/libQtNetworkE.so.4.8.1 /usr/lib/libQtNetworkE.so.4.8.1


    Dann die Dateien in /usr/lib löschen und Box neustarten. Das filesystem auf dem USB-Stick spielt dabei keine Rolle.

  • >>>Dann die Dateien in /usr/lib löschen und Box neustarten. Das filesystem auf dem USB-Stick spielt dabei keine Rolle.[/quote]


    Dann löscht du die links und das wars dann, wenn du meinst ...

  • JA sorry zuerst die Dateien löschen und dann die Links anlegen.


    EINFACH SO WIE IM ERSTEN POST BESCHRIEBEN! Alles andere trägt nur zur Verwirrung bei und kann IGNORIERT werden.

  • Danke kashmir war ein gute tip!!das ist das dritte mal die ich versuche die OE2.0 zu installieren, so hat es funktioniert mit den G3 wizard, die andere 2 male wurde die installation wegen Platzmangel abgebrochen, box starte neu aber das B-Pannel war nicht dabei:-)


    GuteMine projectx war bei mir mit die neue DM Firmware von 19.05 nicht dabei

  • Would it be possible to make the symlink point at a folder on my internal 2.5" HDD? Or does it have to be USB?

  • I wanted to try this with an USB-stick first. But I ran in to some problems...


    I tried to do exactly what was described, but I could not get it to work. These are the steps that I took:


    * Put a 16GB Sandisk USB in. Formatted it to ext4 and made a mountpoint "/media/ExtFlash".


    * Copied the three files libQtCoreE.so.4.8.1, libQtGuiE.so.4.8.1 and libQtNetworkE.so.4.8.1 to /media/ExtFlash/usr/lib/.


    * Deleted the three files from /usr/lib/.


    * Made symlinks as follows...
    ln -s /media/ExtFlash/usr/lib/libQtCoreE.so.4.8.1 /usr/lib/libQtCoreE.so.4.8.1
    ln -s /media/ExtFlash/usr/lib/libQtGuiE.so.4.8.1 /usr/lib/libQtGuiE.so.4.8.1
    ln -s /media/ExtFlash/usr/lib/libQtNetworkE.so.4.8.1 /usr/lib/libQtNetworkE.so.4.8.1


    * Reboot box.


    But it halts halfway through the boot process and just blinks. Why doesn't it want to work?