CVS Swap Kernel MaxVar fuer die 500

  • Hallo,


    Jetzt habe ich endlich den Schritt gewagt. Ich habe einen Kernel im Gemini 3.4 MaxVar am laufen, in dem swap hinein konfiguriert ist.


    Die busybox Version des swapon benoetigt doch einen Device: man muss einen Loopdevice auf das swapfile drauflegen. Aber losetup faellt im GP busybox...:rolleyes: Dafuer habe aus dem CVS den busybox so konfiguriert, dass es nur noch losetup enthaelt;)


    Es wird hiermit Ausdrucklich vom Ausfuehren des nachstehenden Textes abgeraten.
    Wer ihn dennoch ausfuehrt tut dies auf eigene Gefahr.


    Bevor wir anfangen sollte man einen Imagebackup erstellen;)


    Den Kernel ins Flash zubringen war relativ einfach. Alle die nachstehende Befehle werden local auf der 500 ausgefuehrt.


    Man sollte erstmals einen Backup vom jetztigen machen.

    Code
    cat /dev/mtdblock/6 > <backup.cramfs.img>


    Dann muss der Backup ausgepackt werden.

    Code
    uncramfs boot <backup.cramfs.img>


    Folgt durch Speicherung der neuen Kernel als boot/root/platform/kernel/os

    Code
    cp <neu os> boot/root/platform/kernel/os


    Weiter muss man diese Verzeichnisstruktur neu packen.

    Code
    mkcramfs -bh boot <neu.cramfs.img>


    Hier muss beachtet werden das die Groesse der <neu.cramfs.img> Datei die maximale Groesse des Devices (/dev/mtdblock/6) nicht uebersteigt!
    Und schliesslich im Flash abspeichern.
    Ich habe absichtlich hier den letzten Befehl ausgelassen. Wer die Befehle oben verstanden hat, kann auch den letzten Schritt;)
    Die Ausfuehrung des letzten Befehls dauert ein paar Minuten; da MUSS man warten bis er fertig ist.


    Anschliessend muss man neu booten. Und wann alles gut gegangen ist meldet sich die Box wieder. Wann etwas schief geht sollte man doch noch neu Flashen.


    Nach dem den Kernel eingepflegt worden ist, kann man den Netswap einrichten;)


    Die Programme mkcramfs und uncramfs sind vom T-Hydron (h**p://t-hydron.verkoyen.be/ ist nicht mehr erreichbar) und habe sie vom r4ge aus seiner FAQ scam Image 107_4 erstellen (erweitert). An dieser Stelle, vielen Danke Leute.
    Die mkcramfs und uncramfs Dateien sind in der tar.bz2 Datei enthalten.


    Vorsicht die tar.bz2 Datei ist kein Plugin...



    ================================================


    Seit Gemini 3.5 habe die Anhaenge geloescht!

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

    Edited 8 times, last by johnbock ().

  • Heute habe ich den autofs4 ins Kernel rein konfiguriert. Ins Flash mit dem oben beschriebenen Verfahren geschossen. Jetzt habe ich sogar Dank die Vorleistung unseres GP Teams und des GP 3.40, automount am Laufen.


    Was komisch ist, dass der Kernel immer noch etwa 10KB kleiner ist als der Original;)


    Auch der swap laeuft!

    Code
    root@dreambox:~> cat /proc/bus/dreambox
    type=DM500
    chipset=STBx25xx
    boardrev=06
    nim=Alps -S
    nimtype=DVB-S
    ethernet=
    Code
    root@dreambox:~> free
    total used free shared buffers
    Mem: 30148 28356 1792 0 2532
    Swap: 7992 0 7992
    Total: 38140 28356 9784

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Hallo Johnbock,


    Spitze Arbeit.
    Was komisch ist, ist das dein benutzten Swap ebenso groß ist als dein benutztes Speicher. ;)
    Swap auf einen File wird von busybox unterstutzt, oder?


    Und lauft deinen box nun stabiler?


    Grüsse,


    Nick

    Empfänger: DM500 mit PLI und DM7020Si mit PLI + 80 Gb Festplatte
    Satellitenanlage:
    Schüssel 1: 88 cm Triax Schüssel mit Twin-LNB gerichtet auf Astra (19,2 Ost).
    Schüssel 2: 80 cm Schüssel mit Single-LNB gerichtet auf Astra 2 (28,2 Ost).

  • Hallo nbrok & John,


    john


    Danke!


    @nbrock


    Nein, da has du falsch geschaut, free zeigt nur, das der verfügbare Swapspeicher gleich dem Freiem Swapspeicher ist und die CPU momentan nur das RAM benutzt, welches allerdings auch noch 1,7MB frei hat, Swappen also in diesem Moment garnicht erforderlich war, damit ist dieser Screenshot natürlich kein endgültiger beweis das das Swppen funktioniert, aber zeigt schonmal das der Kernel den Swapspeicher akzeptiert hat, der Rest sollte dann auch tun.

  • Quote

    Originally posted by nbrok
    Spitze Arbeit.

    Bedanke mich.


    Quote

    Originally posted by nbrok
    Swap auf einen File wird von busybox unterstutzt, oder?

    Nope:( IHMO braucht man losetup...


    Quote

    Originally posted by nbrok
    Und lauft deinen box nun stabiler?

    Habs erst seit 12 Stunden am Laufen und es steht noch in den Sternen... Bevor ich den Kernel fuer weitere Tests freigebe, moechte die Box zwingen den Swap in Anspruch zunehmen. Und naturlich ihre Verhalten beobachten.


    Meine erste nicht ahnende Betatesterin ist zuhause und testet fleisig, hehe;)

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

    Edited once, last by johnbock ().

  • Quote

    Nope:( IHMO braucht man losetup...


    Dann musst du in CVS in deinen Busybox die Optionsliste aendern. Make menuconfig starten in deinen Busybox directory.
    Ich habe hier Busybox auf einen embedded PC laufen und swap von Datei wird unterstutzt.
    Es kann sein das es standard aus steht. Muss du mahl nachschauen.



    Quote

    Habs erst seit 12 Stunden am Laufen und es steht noch in den Sternen... Bevor ich den Kernel fuer weitere Tests freigebe, moechte die Box zwingen den Swap in Anspruch zunehmen. Und naturlich ihre Verhalten beobachten.


    Meine erste nicht ahnende Betatesterin ist zuhause und testet fleisig, hehe;)


    Dass sind die Besten, pass auch auf deine Ehe auf... wenn die Kiste nicht lauft gibst aerger..
    ;)


    Grusse,


    Nick

    Empfänger: DM500 mit PLI und DM7020Si mit PLI + 80 Gb Festplatte
    Satellitenanlage:
    Schüssel 1: 88 cm Triax Schüssel mit Twin-LNB gerichtet auf Astra (19,2 Ost).
    Schüssel 2: 80 cm Schüssel mit Single-LNB gerichtet auf Astra 2 (28,2 Ost).

  • Quote

    Originally posted by nbrok


    Dann musst du in CVS in deinen Busybox die Optionsliste aendern. Make menuconfig starten in deinen Busybox directory.

    Mit welchem busybox Version und Konfigurationspunkt? Mit der busybox Version, die bereits im GP 3.4 vorhanden ist tut's definitiv nicht.


    Verstehe Deinen Anliegen nicht... Mit'n loop Device sind doch keine grosse Unterschiede. Oder habe ich etwas nicht verstanden? Da wird nur losetup (das habe ich inzwischen) und einen zusaetztlichen Schritt benoetigt bis zum swapon.

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Nach

    Code
    root@dreambox:~> uptime
    13:07:39 up 1 day, 11:54, load average: 0.12, 0.18, 0.11

    habe noch keine nachteilige Effekte warhnehmen koennen.


    Mit den nachstehenden Befehlen habe den Kernel gezwungen den Swap in Anspruch zunehmen.

    Code
    root@dreambox:/automount/stb/control/root> cat /dev/mtdblock/5 > root.img
    root@dreambox:/automount/stb/control/root> mkdir root.dir root.tmp
    root@dreambox:/automount/stb/control/root> mount -t sqaush -o loop root.img root.tmp
    root@dreambox:/automount/stb/control/root> cp -a root.tmp/ root.dir
    root@dreambox:/automount/stb/control/root> umount root.tmp
    root@dreambox:/automount/stb/control/root> rmdir root.tmp

    Und mit dem Speicher siehts so aus

    Code
    root@dreambox:/automount/stb/control> free
    total used free shared buffers
    Mem: 30148 29180 968 0 2032
    Swap: 7992 1640 6352
    Total: 38140 30820 7320

    Die oben stehenden Befehle haben noch'n Vorteil: habe einen ausgepackten GP 3.4 ohne Kernel und Startupbild in dem Verzeichnis root.dir;)

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

    Edited once, last by johnbock ().

  • Hallo Johnbock,


    Du arbeitest mit der originale bin-Dateien aus Gemini, habe ich verstanden.


    Ich habe busybox für meinen Box auf neut kompiliert via die CVS Methode. Via deinen angewandten Methode gehst auch, aber warum hast du dann einen swapon Kommando?
    Im CVS kannst du im busybox Directory einen make menuconfig starten und dann die Option für einen full-swapon Funktion einstellen.... So kompiliere ich meinen Busybox immer.
    Dan brauchst du auch keinen extra Datei zu bauen....
    Aber deinen Methode geht auch....



    no hard feelings...



    Grüsse,


    Nick

    Empfänger: DM500 mit PLI und DM7020Si mit PLI + 80 Gb Festplatte
    Satellitenanlage:
    Schüssel 1: 88 cm Triax Schüssel mit Twin-LNB gerichtet auf Astra (19,2 Ost).
    Schüssel 2: 80 cm Schüssel mit Single-LNB gerichtet auf Astra 2 (28,2 Ost).

  • nbrok
    Ich sehe die FULL_SWAPON Option nicht in der Konfigurationsdatei, und nur die hier gefunden:
    CONFIG_FEATURE_INIT_SWAPON
    CONFIG_MKSWAP
    CONFIG_SWAPONOFF



    Bin mir nicht 100% Sicher aber ich denke swapon <file> macht sowieso ein loop auf der Swapdatei. Mit einem zusatz Program macht es etwas leichter (kleiner) einen Package fuer die Leute zumachen.


    Wenn es soweit ist, moechte ich nur uncramfs, cramfs, losetup und den Kernel mit ausliefern. Ich plane an dieser Stelle keine Image heraus zugeben;)


    > Dan brauchst du auch keinen extra Datei zu bauen....
    ?, busybox muss auch gebaut werden oder?


    > no hard feelings...
    Ach... Wollte nur Deine/n Einstellung/Einwand verstehen;)

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Quote

    Originally posted by nbrok
    Ich habe busybox für meinen Box auf neut kompiliert via die CVS Methode. Via deinen angewandten Methode gehst auch, aber warum hast du dann einen swapon Kommando?

    Seddi weiss warum!

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze


  • Aso, jetzt begreife ich deinen anwand.... Busybox macht indertat einen loop mount, aber das ist dan in die code eingebaut. Du moechtest ein nicht zu grossen Busyboxdatei haben... Sorry habe dich falsch verstanden ;) :rolleyes:
    Das mit full swapon hatte ich aus meinen gedaechtnis, da es bei meinen configuration (embedded 68000er) moeglich ist um auch mit swapon einen Swapdatei zu benutzen. Da haette mein gedaechtnis mich im stich gelassen ;( Wenn diese optionen die du nennst auf yes stehen, muss es funktionieren. Aber gut.... deine Arbeitsweise ist vielleicht einfacher zu implementieren in ein bestehendes Image....


    Grusse,


    Nick

    Empfänger: DM500 mit PLI und DM7020Si mit PLI + 80 Gb Festplatte
    Satellitenanlage:
    Schüssel 1: 88 cm Triax Schüssel mit Twin-LNB gerichtet auf Astra (19,2 Ost).
    Schüssel 2: 80 cm Schüssel mit Single-LNB gerichtet auf Astra 2 (28,2 Ost).

  • So, jetzt haben wirs!


    CVS Kernel 2.6.9 mit swap, automount und cifs-1.45;) Das cifs Backport hat den Kernel auf eine erwartete Groesse gebracht.

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Habe den neuen Kernel hochgeladen;) Warte auf euere Berichte. Viel Spass!

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Hallo Johnbock,


    Danke, gute Arbeit und gute Beschreibung, auch wenn sie teilweise einer Scnitzeljagt gleicht. ;)


    Ich habe es geschafft den neuen Kernel einzubinden, das Loop-device aufzusetzen und das swap einzuschalten, der Swapspeicher wird genauso wie in deinem Beispiel bei "free" angezeigt alledings nicht bei "top".


    Ich habe bisher aber noch keine Verwendung fuer den Swapspeicher gefunden, 2 Sachen von denen ich gehofft hatte dass sie mit swap besser funktionieren gehen immer noch mindestens genauso schlecht wie vorher:


    1. verwendung des Midnightcommanders unter Tuxterm ist auf der DM500 gluecksache, manchmal gehts manchmal bringt der Aufruf die ganze Box zum Absturz, daran aendert auch swap nichts, man sieht zwar das nach dem Aufruf massiev geswaped wird, aber auch das konnte den Absturz in einem Vertsuch nicht verhindern. :(


    2. Dein MVI-Viewetr unter Flexmenu funktioniert bei mir immer noch nicht, hatte ich auch gehofft das er mit mehr RAM(SWAP) laeuft, ist aber nicht so. :(


    Naja, vielleicht findet sich ja doch noch eine Verwendung, zumindest habe ich vieles bei diesem Projekt gelernt. :)

  • Das mit der Schnitzeljagt ist/war mit Absicht. Dachte wenn die Neue sehen das es etwas Arbeit ist, das sie sich erst davon schaeuen bis sei mehr Erfahrung haben;) Ausserdem, die verschieden Thema passen nur bedingt hier rein bzw passen in der jeweilige Sectionen besser.


    Danke fuer die Information chriwi. Schade diene Probleme nicht geloest hat. Waere nett zuwissen wieviel Swap Du angelegt hast. Und wieviel Midnightcommander aufnimmt und wann. Also bei welchen Funktionen?


    Nach den 3-4 Tagen wo ich getestet habe, hat die 500 ca. 25KB Swap in Anspruch genommen. Ich weisse nicht ob es mit camd3 zutun hat?


    Ich wollte den Swap um mksquash direkt auf der Kiste ausfuehren zukoennen. Root bzw. /dev/mtdblock/5 auslesen, auspacken, abaendern und wieder squashen. Dazu habe einen zweiten Swap mit 64MB (kleiner hebe ich nicht versucht) geschalten. Ich habe nun dank Swap auch Gemini direkt auf der 500 angepasst. Gruene Taste DVR Timerfunktion. Klein anfangen:)


    Didaktisch macht Alles mehr spass8) Lerning by doing!

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Hallo John,


    oh,mein Swapfile ist eigentlich viel zu gross, hauptsaechlich aus Faulheit, ich habe wie schon geschrieben mich einfach ueber deien Rat hinweggesetzt und eine Kopie meiens 1GB-Swapfiles meines NSLU2 verwendet und auch dort ist das GB viel zu viel, aber der NSLU2 laeuft damit jetzt schon ueber 150 Tage, deshalb habe ich es nicht mehr geaendert.
    Aufder Dreambox habe ich bisher nie mehr als 10MB (vermutlich nur 5MB) swap gebraucht, Tatsache bin ichc ohne swap bei free<500Byte und sobald ich den midnightcommander auch nur im Telnet starte bruche ich ein knppes Kilobyte swap, aber insgesamt waerten 100MB wohl mehr als genug.


    Camd3 laeuft auch bei mir immer.

  • Quote

    Originally posted by chriwi
    ich habe wie schon geschrieben mich einfach ueber deien Rat hinweggesetzt

    Es dauert wirklich keine Zeit einen neuen Swapdatei richtig anzulegen und die moegliche Wirkungen sind nicht abzusehen. Daher nochmals rate ich Dir die Swapdatei Ordnungsgemaess ueber die 500 anzulegen!

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze

  • Hallo John,


    ist mksquash schon in der Busybox der DM500 vorhanden (eher nicht wozu auch), hast du es schon? Würde mich auch interessieren, ich würde nur gern ein /opt Verzeichnis ins Root der DM500 einbauen. ;)

  • chriwi

    Quote

    Originally posted by johnbock
    Die Programme mkcramfs und uncramfs sind vom T-Hydron (h**p://t-hydron.verkoyen.be/ ist nicht mehr erreichbar) und habe sie vom r4ge aus seiner FAQ scam Image 107_4 erstellen (erweitert).

    mksquashfs ist auch da drin. Es ist im Forum (Database?) vorhanden, ist schon eine Weile her.

    johnbock


    13.0/19.2
    NFS/QNAP TS-219P/debian - lenny
    NFS/eSATA SheevaPlug/emdebian (ubifs) - squeeze