??? - das etwas seltsame nfi image booten

  • Hi !


    Ich habe aus einer Bastelei von mir ein Plugin gebaut um den Flash der 800/800se/500HD/7020HD/8000 noch ein bisschen weiter ausquetschen könnte.


    Die 7025 ist nicht unterstützt und auch nicht mehr geplant, man kann dort nur mehr SqueezeOut von CF verwenden.


    In der Version 2.0 wird aber keine squashfs mehr verwendet sondern mittels des mtdram Treibers kann man direkt ein nfi Image zum booten verwenden


    Im Wesentlichen installiert man sich das Plugin und kann dann im Plugin ein nfi File von /media/hdd/backup zum booten auswählen. Das jeweils ausgewählte nfi image wird vom Plugin auf /media/hdd kopiert und dann beim nächsten Booten von dort einfach mittels mtdram Treiber ins RAM geladen. Nur Eure Änderungen des Images landen daher noch im Flash, womit dieser anfangs gähnend leer sein wird (ausser Ihr habt die Option im Plugin keep Flash image angemacht)


    Das gebootete Image kann man dann wieder wie jedes normale Image mit dFlash sichern (dieses ist jetzt auch eine Voraussetzung für die installation von Cramy) und auch wieder Flashen oder eben neuerlich zum booten mit Cramy auswählen. Da dadurch das delta aus dem Flash ins nfi wandert wird dann auch der Flash wieder neuerlich geleert sein.


    Achtung, es werden zusätzliche Treiber benötigt - nämlich die ipks für unionfs und mtdram und es muss ein aktuelels Image sein wo der loop device Treiber schon im Kernel ist.


    Dadurch dass das gesamte image im RAM läuft bootet die box auch flotter und ist insgesamt auch agiler im Handling und der Bedienung. Am meisten merkt man den Unterschied natürlich bei der 7020HD weil die massig Memory hat, aber auch auf der 8000er macht es richtig Spass so zu booten und zu Flashen.


    Und natürlich möge der zusätzliche Freiplatz im Flash mit Euch sein !


    LG
    gutemine

    55 Mal editiert, zuletzt von gutemine ()

  • Im Freeze Thread sind jetzt dank adenin's Hilfe auch wieder unions module für die 500HD zu finden.


    Bitte probiert also jetzt auch mal aus ob es sich auf der 500HD installieren und benutzen lässt. Die 500HD ist ja mangels USB (falls man die box nicht modifizieren will) eigentlich der logischte Kandidat um den Flash noch mehr zu komprimieren.


    Auf den 800ern hat man ja auch andere Möglichkeiten.


    Cramy 0.1 ist aber sowieso auch nur eine Art Vorstufe, weil er das cramfs file ja immer noch in den Flash macht.


    ABER ein Cramy 0.2 könnte beim Booten auch das ganze cramfs file von der Hardddisk ins Memory laden und DANN hätte man fast doppelt so viel Platz im Flash.


    Das müsstet Ihr aber auch erstmals testen ob das die box zu sehr belastet (weil auch wenn die neuen Boxen genug Memory haben sollten heisst das nicht das man es so einfach verschwenden sollte).


    Einfach auf der box wenn sie mit einem Cramy image gebootet ist das cramfs ins /tmp kopieren und schauen ob man sie dann noch normal benutzen kann:


    cp /boot/mnt/flash/cramfs /tmp/cramfs


    Und wenn man ein ganzes image komprimiert im cramfs in einem einzigen File hat das man auch woanders hinlegen kann, dann kann man auch noch ganz andere lustige Sachen damit machen, aber jetzt testen wir bitte erstmal die derzeitige Version ob es prinzipiell funktioniert.


    LG
    gutemine

    5 Mal editiert, zuletzt von gutemine ()

  • 20x runtergeladen und keiner berichtet ob es geht ?


    Wenn es Euch zu kompliziert ist alle ipks selst zusammen zusuchen soll ich Euch die Files zusammensuchen ?


    Weil mich interessiert schon ob es funktioniert, sonst hätte ich es nicht in ein Plugin gepackt.


    Oder wollt Ihr unbedingt die squashfs Variante haben die mehr Platz als das cramfs bringt ?


    Weil ich mag hier keinen Monolog führen und ohne Testinputs kommen wir nicht weiter.


    LG
    gutemine

    Einmal editiert, zuletzt von gutemine ()

  • Na gut dann führe ich meinen Monolog halt weiter:


    Habe gerade das mksquashfs aus dem Debian getestet. Das unterstützt bereits mehrere CPUs und erkennt das auf der 8000er auch richtig und ist dadurch auch verdammt flott.


    Dieses mkfssquashfs hat aber keinen lzma Support an Board, womit das erstellte File natürlich nicht so tolle komprimiert ist wie das der 7025.


    Jetzt ist die Frage ob ich Crammy beibringen soll beide Formate zu booten ?


    Oder soll ich versuchen ein aktuelles mksqushfs mit lzma patch zu compilieren, vieleicht ist das flotter als mein altes binary das nur eine CPU nutzen kann ?


    Weil bis auf die 800er haben ja die 800se und die 800hd auch 2 Cores.


    Aber wenn schon das cramfs keiner testet mach ich mir die Arbeit wohl nicht ....


    PS: Frischgeflashtes OoZooN image mit cramfs root.: 36,8MB mit squashfs root: 31,3 MB, als nacktes jffs2 39,8 MB. Insofern würde das squashfs auch ohne lzma einiges bringen (rund 8,5MB) und auch nicht länger als das erstellen mit cramfs bringen, aber ihr wollt es ja nicht testen ...


    LG
    gutemine

    7 Mal editiert, zuletzt von gutemine ()

  • startet die dm8000 durch andere formate auch schneller, oder ist das "nur"
    für mehr speicherplatz-gewinnung?

  • Für den bootspeed bringt das nichts, du verlierst sogar ein paar sekunden weil du das squahsfs auch noch mounten musst, wenn bringt es erstmals nur zusätzlichen Freiplatz.

    Einmal editiert, zuletzt von gutemine ()

  • Würde es gerne mal testen. Wär super wenn Du die benötigten Dateien zur Verfügung stellen könntest. Ich würde es gerne mit der 8000er versuchen

  • Hallo Gutemine,


    finde die Idee toll besonders wenn man daran denkt, dass DMM ja scheinbar in Zukunft mehr Speicher braucht wegen HBBTV, weinn das stimmt, was man so liest. Bin auch gerne bereit auf meiner 500HD zu testen, das Problem ist nur, das ich bis Ostern weg bin. Danach kann ich gerne helfen beim testen.


    Viele Grüße


    Hoppelhase2000

  • Na ja für die Suchfaulen habe ich jetzt halt alle nötigen ipks angehängt, nur wie schon gesagt, um das sauber zum laufen zu bringen müsstet Ihr das auch wirklich TESTEN und berichten, und nicht nur runterladen und sagen wie super es wäre wenn es funktionieren würde.


    Solange ich nicht weis das es auf allen Boxen mit cramfs geht die Images zu konvertieren und die box zu booten macht es z.B. wenig Sinn Euch ein Cramy 0.2 zu machen wo das auch mit squashfs funktioniert.


    Und solange wir nicht wissen wie viel Platz es wirlich bringt und ob es stabil läuft ist das auch nur eine mehr oder weniger nette Spielerei von mir.


    Und solange wir nicht wissen ob das Auslagern ins Memory geht kann ich auch nicht mit Hilfe der Hardddisk den Flashspeicher der 500/800 praktisch viertuell verdoppeln...


    Und ja gerade ein Webbrowser wäre ein ideales gepacktes squashfs das man mit den unionfs utils problemlos von irgendwo dazumounten kann OHNE das man sich den Flash damit zuballert. Es wird je gerne vergessen das man unionfs auch so ins Image machen kann ganz ohne cramfs oder squashfs und dann NUR bei Bedarf was dazumountem - wofür gerade ganze Picon Pakete oder große Applikationen die man dann als einziges File ausliefern kann ideal geeignet wären.


    Man würde dann gar nicht merken das die nicht im Flash sind, weil sie durch das unionfs trotzdem wie ein einziges Filesystem aussehen würden und gerade Applikationen oder Picons stört es überhaupt nicht wenn die hochgepackt und read only ausgeliefert werden.


    LG
    gutemine

    4 Mal editiert, zuletzt von gutemine ()

  • ALSO, wenn ich Cramy nicht als Testbed für was anderes benötigen würde dann wäre mir der Monolog hier schon zu blöde und ich würde das Projekt einstellen.


    Statt dessen habe ich jetzt auch wie versprochen squashfs in eine cramy 0.2 gepackt. ABER die kriegt Ihr erst hochgeladen wenn Ihr auf 800/800se und 500HD die 0.1 getestet habt, vorher bringt das nichts.


    Nur zur Motivation:


    root@dm8000:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 7.0M 3.0M 4.0M 43% /boot
    /dev/mtdblock3 248.0M 38.0M 210.0M 15% /boot/mnt/flash
    /dev/loop0 32.0M 32.0M 0 100% /boot/mnt/compressed
    none 280.0M 70.0M 210.0M 25% /
    udev 2.0M 8.0K 2.0M 0% /dev


    Man beachte die Zeile mit / und Available. Dort stehen jetzt 210MB, BEVOR Cramy 0.2 an die Arbeit ging stand dort 200,5 - also netto ca. 9,5MB zusätzliche Platz (nicht nur 2-3MB wie beim cramfs).


    Und das nur mit der normalen squahfs 3.1 compression, ganz ohne den lzma Patch so wie es die 7025 verwendet.


    Das ist zwar nicht berauschend, aber wie schon gesagt die Big Blocks der 8000er Jumbo images verzerren das Ergebnis noch ein bisschen.


    Und fast 10MB MEHR Platz im Flash einer 500HD wären nicht so schlecht, oder ?


    Wenn man da noch das 32MB squashfs File von der Hardddisk beim booten ins RAM laden würde wären das je nach Image virtuelle 96-100MB Flash die man statt der 64MB zur Verfügung hätte.


    Und nachdem die Harddisk am SATA ist würde das wahrscheinlich ZIEMLICH stabil booten, auch wenn es natürlich ein paar Sekunden bootzeit kostet das komprimierte Filesystem dazu zu mounten.


    Und nein, wenn man es ins RAM lädt würde die Harddisk nicht ständig laufen, und man könnte die box trotzdem mit dem Stromschalter abdrehen ohne was korrupt zu machen, und ja das wäre dann normal mit dFlash sicherbar und zusammen mit dem File auf der Harddisk auch konsistent.


    Aber da Euch das alles eh nicht interessiert .... gehe ich erstmals ins Bett.


    LG
    gutemine

    3 Mal editiert, zuletzt von gutemine ()

  • Zitat

    Original von gutemine squashfs File von der Hardddisk beim booten ins RAM laden würde wären das je nach Image virtuelle 96-100MB Flash die man statt der 64MB zur Verfügung hätte


    läuft dann permanent die festplatte?


    warum wird es nicht ähnlich wie bei den peter pan images verlagerung der plugins auf externe mediengeräte angeboten wie z.b usb

  • Zitat

    Original von gutemine
    Und nein, wenn man es ins RAM lädt würde die Harddisk nicht ständig laufen, ....


    Und zum Plugins Auslagern gibts tonnenweise Tools und Möglichkeiten, hier geht es ums Image selbst

    2 Mal editiert, zuletzt von gutemine ()

  • Na gut bringen wir die Sache halt noch zu Ende:


    Auf der ersten Seite ist jetzt die Version 0.2 von Cramy.


    Der Unterschied zur Version 0.1 ist das Cramy jetzt je nachdem welches Kernel Modul mit compression Ihr installiert habt (squashfs oder cramfs oder auch beide) Euch die compression die Ihr testen wollt beim Komprimieren des Images noch zur Auswahl angeboten wird.


    Wie schon gesagt squashfs ist höher komprimiert, aber dauert etwa 1-2 min länger beim Erstellen den nfi files.


    Falls doch noch jemand das auf seiner 500HD/800/800SE testen würde würde ich mich sehr freuen, ob und was es auf der 8000er bringt habe ich ja schon geschrieben, die Ergebnisse auf den anderen Boxen müssten sogar etwas besser sein, aber nachdem keiner berichtet sind das auch nur Vermutungen von mir.


    Viel Spass beim Testen von Cramy 0.2!


    Damit ist der Monolog hier aber erstmals beendet, ausser Ihr habt noch Fragen zur Anwendung und Funktionsweise oder eben Testergebnisse mit Euren Cramyfiszierten Images :)


    Und NEIN das Feature das comprimierte image vom ram zu booten und den ganzen (!) Flash frei zu halten kriegt Ihr mangels Interesse nicht zum testen, auch wenn es sehr lustig aussieht wenn der Flash zu 99% FREI (!) ist :)


    LG
    gutemine

    6 Mal editiert, zuletzt von gutemine ()

  • Nur langsam Gutemine bei solch speziellen Sachen lassen die Tester wohl etwas auf sich warten.


    Ich hab jetzt mal ein squashfs .nfi backup auf der 800se erstellt. 42MB gegenüber 56 MB vorher. Muss das ding dann nur noch flashen.


    Vorher:


    root@dm800se:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 60.0M 52.6M 7.4M 88% /
    none 67.1M 40.0K 67.1M 0% /dev
    /dev/mtdblock2 3.8M 2.3M 1.5M 61% /boot
    tmpfs 67.1M 1.2M 65.9M 2% /var
    tmpfs 67.1M 20.0K 67.1M 0% /tmp
    /dev/sda1 596.0G 76.0G 520.0G 13% /media/hdd


    Image via dflash geflasht.


    Bios Kernel Command Line auf enabled gestellt.


    Eintrag von:
    console=ttyS0,115200 ip=dhcp root=/dev/nfs rw


    auf das geändert:


    console=ttyS0,115200 ip=dhcp root=/dev/mtdblock2 rw


    Jetzt tut sich aber nichts mehr. Er bootet nicht.

  • Die kernel command line muss ohne ip=xxx sein, also:


    console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw


    Wenn das nichts hilft, könntest du ein bootlog machen, weil sonst komme ich nicht drauf was fehlt das es auch auf der 800se bootet?


    Und ich weis ja das es mühsam ist, aber mehr wer Platz will muss halt auch was dafür tun :)


    Das die Reduktion in der Größe auf den nicht-8000 höher sein sollte hatte ich ja schon vermutet, aber das scheint fast ein bisschen zu viel zu sein, möglicherweise fehlt da was im Image.


    Könntest du daher wenn das image mit der verbesserten Kernel command line nicht bootet nachdem du das bootlog gemacht hast auch noch das squashfs image mal irgendwo mit nfidump von Hand auspacken und mir auch davon den output posten ?

    4 Mal editiert, zuletzt von gutemine ()

  • Hallo gutemine,


    dann will ich nach einiger Zeit auch mal wieder was als Tester tun :winking_face:


    Hier die Werte für meine dm800 (ohne se)



    vor Installation cramy:


    root@DreamSchlaZi:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 60.0M 46.7M 13.3M 78% /
    udev 2.0M 320.0K 1.7M 16% /dev
    /dev/mtdblock2 3.8M 2.4M 1.4M 63% /boot
    tmpfs 71.1M 292.0K 70.8M 0% /var
    tmpfs 71.1M 20.0K 71.1M 0% /tmp
    /dev/sda 149.0G 466.0M 148.5G 0% /media/hdd
    /dev/sdb1 1.8G 65.0M 1.8G 3% /media/Stick



    nach Installation cramy:


    root@DreamSchlaZi:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 60.0M 47.5M 12.5M 79% /
    udev 2.0M 320.0K 1.7M 16% /dev
    /dev/mtdblock2 3.8M 2.4M 1.4M 63% /boot
    tmpfs 71.1M 292.0K 70.8M 0% /var
    tmpfs 71.1M 12.0K 71.1M 0% /tmp
    /dev/sda 149.0G 466.0M 148.5G 0% /media/hdd
    /dev/sdb1 1.8G 65.0M 1.8G 3% /media/Stick



    komprimiertes Image:


    root@DreamSchlaZi:~# df -h
    Filesystem Size Used Available Use% Mounted on
    /dev/root 3.8M 2.5M 1.3M 66% /boot
    /dev/mtdblock3 60.0M 37.4M 22.6M 62% /boot/mnt/flash
    /dev/loop0 34.2M 34.2M 0 100% /boot/mnt/compressed
    none 94.2M 71.6M 22.6M 76% /
    udev 2.0M 352.0K 1.7M 17% /dev
    tmpfs 71.1M 292.0K 70.8M 0% /var
    tmpfs 71.1M 12.0K 71.1M 0% /tmp
    /dev/sda 149.0G 504.5M 148.5G 0% /media/hdd
    /dev/sdb1 1.8G 65.0M 1.8G 3% /media/Stick


    nfi-Größen:
    50.055.806 Byte (vor installation von cramy, da kommen dann sicher noch ein paar Bytes hinzu, wenn ich nach der Installation der ipk´s nochmal ein Backup mit dflash gemacht hätte :)
    40.287.278 Byte (cramy-squashfs-Backup)


    Allerdings hat die Erstellung des komprimierten Backups eine knappe halbe Stunde gedauert *argh


    Ich werde die Box jetzt laufenlassen, ein bisschen stressen und gebe Dir dann nochmal feedback.


    Mit meiner 800se könnte ich auch noch testen, aber erst am WE. Evtl. bekommst Du ja hierzu ja auch schon vorab Info´s von B0B
    Bei Fragen fragen,


    bis später...



    Gruß, DaddelDu