booten des Kernel von 'hdd' (sata) im Bios

  • Hi!


    Nochmals danke an obi für die Anpassungen im kernel und im SSL der Dreamboxen vor einigen Monaten um die Bootmöglichkeiten zu verbessern. Ich habe diese mit meinen Multiboottools ausgenutzt so gut ich konnte, und mit dem root=LABEL=XXXX im initramfs Kernel mir auch selber helfen können um die am USB wandernden devices in den Griff zu bekommen. Insofern funktioniert das eigentlich jetzt super und viel besser als vorher.


    Ich habe mir aber jetzt mal testweise so einen SSD Stick gekauft:


    http://www.delock.de/produkte/…l_2GB_Vertikal_54162.html


    Der lässt sich in der 8000er prima an den interne SATA Port anstecken und die Stromversorgung mit Abzweigen vom Harddisk Anschluss funktioniert mit dem mitgelieferten kabel auch problemlos.


    Booten tut es von dem Teil wenn man es in ext3 fürs Rootfilesystem formatiert sauschnell, vor allem auch weil man da es ein SATA device ist nicht so wie beim USB drauf warten muss bis es erkannt wird.


    Restlos glücklich wäre ich aber jetzt wenn das Bios neben flash/cf/usb nun auch hdd als device anbieten würde wo nach FAT und autoexec*.bat gesucht wird (und dann auch das USB ignoriert würde um schneller zu booten). Wäre es möglich das für die Boxen mit mehreren SATA Anschlüssen einzubauen (8000, 7020HD), und auch für die 800(s) und vor allem die 500HD wäre es eine Bereicherung für die Leute die lokal keine Disk dran haben wollen und den USB Umbau nicht machen wollen um Ihre Garantie nicht zu verlieren.


    Auf der 7025 geht es mit cf ja auch vom IDE zu booten, also nehme ich an das die Treiber eh schon im bios drinnen sind, es ginge also nur darum auch die Einstellmöglichkeit zu haben um von dort auch den Kernel zu booten.


    Im Moment muss ich halt den Kernel vom Flash verwenden und mit root=/dev/sdb2 dann das rootfilesystem vom SSD stick holen.


    Es wäre sehr nett wenn obi darüber nachdenken könnte und es für die nächste Version als Feature Request für den SSL auf die Liste tut, schon weil ich denke das es nicht viel Aufwand wäre es zu implementieren.


    PS: Selbst ohne den Support für den Kernel vom FAT dauert das booten meiner 8k bis zum TV Bild damit nur mehr 42 sec, wenn auch der kernel von so einem schnellen device geladen werden könnte denke ich könnte ich die 8000er auch in < 40 sec booten. Und Platz im 'Flash' habe ich jetzt auch mehr als die 7020HD haben wird - und das schön in der Box eingebaut :smiling_face:


    LG
    gutemine

    4 Mal editiert, zuletzt von Lost in Translation ()

  • Scheinbar wird das schon wieder einer meiner Monologthreads ?


    Ich habe aber nicht umsonst dazu geschrieben wie viel es spart damit direkt vom SATA zu booten. Damit kann man ohne größere Änderungen am Image praktisch in der halben Zeit booten (42 statt 90 sec), und wenn auch der kernel vom SATA kommen könnte wäre das eine feine (und noch flottere) Sache die sich dann eben auch leicht in ein Sata Boot Plugin gießen ließe das ich von mir aus auch fürs CVS machen könnte (ansonsten würde ich es ins Dumbo machen das halt derzeit offiziell nur von CF und USB boten kann). Ich habe nicht umsonst angeboten das nfidump ins CVS einzuchecken, weil damit kann man ein nfi auch direkt auf das SATA device 'flashen' indem man es in das ext3 auspackt.


    Nachdem das Aufnehmen auf NAS immer populärer wird wäre das booten von SATA stick/ssd auch eine schöne Nutzung selbst wenn die Dreambox nur einen SATA Anschluss hat (500HD, 800se). Und die ganze Bootzeit und Flashplatzdiskussion wäre dann auch elegant 'gelöst'.


    Ich weis zwar das man mit ubifs, upstart und neuem kernel auch flotter booten kann, aber halbieren wird das die bootzeit wohl auch nicht :smiling_face:


    Insofern hätte ich gerne wenigsten die Frage ob wir das booten des Kernel von sata bekommen könnten prinzipiell beantwortet - also DMM bitte ankreuzen:


    [ ] Ja
    [ ] Nein
    [ ] Vieleicht


    LG
    gutemine

    3 Mal editiert, zuletzt von Lost in Translation ()

    • Offizieller Beitrag

    Hi,


    also auf die schnelle geht das nicht. Und eigentlich ist es den Aufwand nicht wirklich wert. Für bestenfalls 1-2 sekunden schneller booten.


    Und man müsste halt sehr viel im 2nd umbauen.


    Also ich sag jetzt nicht niemals.. aber auf jedenfall nicht so schnell...


    cu

  • [x] vieleicht :smiling_face:


    Danke fürs Feedback.


    Ich hatte halt gehofft halt das der sata treiber sowieso schon drinnen ist und es daher nicht so schwer ist, so ähnlich wie der ide Treiber für die 7025 (die ja über ide von CF booten kann).


    Natürlich bringt es keine Welten mehr den Kernel auch noch vom FAT auf dem sata zu booten, aber 2-3 sec sind wenn ich mal unter 40sec kommen will schon ganz schön viel.


    Aber eigentlich sind das 2 Probleme - das man den Kernel vom FAT auf SATA laden kann und das man wenn ein autoexec_*.bat im FAT gefunden wird von dort ohne Änderungen im Bios bootet und halt wenn kein autoexec*.bat gefunden wird dann automatisch vom Flash bootet.


    Weil wenn ich meinen Delock SATA stick fix in der Box angesteckt habe (was auf der 8k ja gerade das schöne ist) dann ist nicht mal schnell mit abstecken um wieder vom Flash zu booten. Ich müsste ja dann fix root=/dev/sdb2 und rootfstyppe=ext3 in die Kernel command line vom Bios machen und diese enablen um wirklich sofort ohne warten von dort booten zu können.


    ABER nachdem ich nicht gerne warte werde ich für das zweite Problem halt einen Workaround in meinen initramfs Kernel reinmachen:


    Das kostest mich << 1 sekunde bootzeit auf /dev/sdb2 und/oder /dev/sda2 den Label des Filesystems zu checken ob dieser Label DUMBO ist und dann nachzusehen ob ein autoexec_dm*.bat im Filesystem von /dev/sdb1 oder /dev/sda1 ist (so wie das Bios es tun würde) - und dann halt von DORT weiter zu booten.


    Dann funktioniert wenigstens dieser Teil des Problems so ähnlich wie es letztendlich das Bios machen sollte (nur halt mir der Logik von mir aus dem initramfs Kernel aus dem Flash) - und wir tun uns damit dann leichter beim Warten.


    Und ich suche eh Gründe warum die Leute meinen initramfs Kernel verwenden sollen (nicht nur zum Klone ärgern, weil der nur mir den aktuellen ungepatchten Originalloadern von DMM bootet).


    Trotzdem aber bitte den Bios SATA Boot Support auf der Wunschliste lassen - falls Euch mal fade ist :smiling_face:


    LG
    gutemine

  • sorry wenn ich mal dieses alte thema hochhole.


    aber spätestens seit oe2 wäre es denke ich wirklich sinnvoll über eine erweiterung der bootoptionen für ein direktes booten von sata platte/sata stick nachzudenken :smiling_face:
    das würde so manches einfacher machen.


    bei der gelegenheit könnte man ja auch gleich noch labelmount in den kernel einbauen *g*


    hat sich an den beiden "fronten" inzwischen etwas getan?

  • Na ja nicht jede Box hat einen 2. SATA Anshluss, womit du damit auch nicht jeden glücklich machen kannst.


    Nachdem ich mir die Sachen wie Labelmounten ja in meinen initramfs Patch gemacht habe, sehe ich das ziemlich wertfrei in der Zwischenzeit.


    Gegen eine großzügige Spende für die SOS Kinderdörfer kann DMM aber gerne die Sourcen haben :winking_face:


    LG
    gutemine

  • naja, man könnte ja auch vom ersten sata booten von einer eingebauten platte, z.B. oder von esata.


    und man muss ja nicht immer alle glücklich machen :smiling_face:


    also mich würde das glücklich machen *g*

  • wenn du von der Festplatte bootest wirst du aber sehr wenig Freude damit haben.


    Mit rambo kannst du die root als jffs2 file auf der festplatte haben und das funktioniert tadellos, trotzdem machen es die wenigsten. mit BA kannst du das ganze Image drauf haben, trotzdem ...


    Sooooo schlecht ist USB booten auch nicht, das Einzige was du dir wirklichj sparst sind die etwa 5-10 Sekunden für das Erkennen des Devices auf dem USB. Wenn du die 2x brauchst (einmal vom Bios und einmal vom Kernel) kommst du auf den typischen Unterschied den man heute schon mit Dumbo und SATA stick erleben kann.


    Im Prinzip ist es dabei vom Speed her ziemlich egal ob der Kernel vom Flash oder vom SATA kommt.


    Was evt noch sinvoll wäre den Kernel und das ganze /boot gar nicht mehr mit zlib zu komprimieren sondern mit none zu komprimieren, nachdem der kernel sowieso ein geziptes file ist und das bootlogo ein ebenfalls komprimiertes jpeg ist der Platzgewinn schon minimal und es würde 1-2 sekunden bootzeit sparen wenn das bios nicht 2x dekomprimieren müsste. Unsere holländischen Freunde machen das auch so, und es hat sich noch keiner beklagt das Ihre Images langsam booten.


    Dann kannst du praktisch sofort mit root=/dev/sda1 auf der Hardddisk weiter booten - von den wandernden devices mal abgesehen.


    Wenn ihr wollt kann ich das gerne ins dFlash machen das man die /boot Kompression auswählbar hat - und none als compression nimmt der Kernel so wie er jetzt ist ohne Änderungen.

  • trotzdem wär es doch mit direktem boot noch viel schöner :smiling_face: und ohne den flashspeicher überhaupt noch zu verwenden.


    wie kommt da jetzt dflash mit in die argumente rein? den zusammenhang hab ich jetzt noch nicht so verstanden :smiling_face:


    ich kenn mich damit noch nicht so aus, verusche aber sobald mein stick da ist für die 8000 mal in flash nur noch den kernel zu haben und den rest von sata stick zu ziehen.
    also so wie ich das sehe rambo von hand :smiling_face: ich will ja auch was dabei lernen.


    alternativ dazu dachte ich an boot per usb und dann ber autoexec den kernel von der ssd. aber das denke ich ist ja irgendwie sinnfrei.


    gibt es eigentlich irgendwo ein wiki oder so das den bootvorgang genau beschreibt bei der 8000?


    ich versuch das ganze möglichst ohne zusatztools zu machen ... deswegen der umstand ohne dumbo, rambo etc.
    von usb mag ich nicht da sich ja die devices auf der 8000 immer ändern je nachdem was drinsteckt und wann es erkannt wird (deshalb die frage nach labelmount).


    bei sata sollte das ja immer sda (hdd) und sdb (satastick) sein, oder?


    zur zeit verwende ich den kernel aus lowfat wegen labelmount (tnx @ gutemine) in einem mediaboot usb stick mit dmm root partition.
    natürlich so nicht kernelupdatesicher :smiling_face:

  • Du kannst natürlich machen was du willst, aber wenn du den kernel vom FAT auf USB holst verlierst du den Geschwindigkeitsvorteil der erkennung eines SATA devices, dann kannst du die root gleich auch drauf machen. Wenn du den kernel unkomprimiert im Flash hast ist er schneller da und du gewinnst vielleicht sogar 1-2 sekunden gegenüber einem im komprimierten jffs2 abgelegten kernel - und das könnten wir mit dFlash selber ausprobieren ein image mit unkomprimierter /boot zu sichern - wenn ich es einbaue.


    rambo benutzt den block2mtd Treiber, allerdings nur im mit ienem jffs2 File im Filesysten, irgendwann muss ich auch mal rambo III machen wo man auch das rohe device dafür benutzen kann. Aber im Filesystem ist 4es für die User einfacher wiel du durch sinples Ersetzen des Files flashen 'kannst'


    Nur hat das alles nicht mehr viel mit dem Können und Nichtkönnen des Bios zu tun :smiling_face:

  • trotzdem ist es immer wieder lehrreich deinen ausführungen zu lauschen :smiling_face:


    aber deswegen auch wieder zurück ontopic für dmm:


    1) es wäre schön wenn man aus dem bios ohne tricks direkt von einem beliebigen device booten könnte incl. sata.


    2) es wäre schön wenn der kernel auch labelmounten könnte oder wenn die devices immer den gleichen namen hätten *g*

  • Das Labelmounten wäre im Bios sogar besser aufgehoben - das Bios zeigt dir bei FAT 16 sogar jetzt schon den Label der Partition an, sprich es hat schon alle notwendigen infos für FAT und den Label bei ext2/3/4 zu bekommen ist ähnlich simpel.


    Das Bios müsste also nur mehr mit root=LABEL=XXXX in der Kernel commandline was anfangen können und daraus dann für das device mit diesem Label root=/dev/sdX1 machen und DAS an den Kernel übergeben. Das ist erschreckend wenig code und würde die Sache viel einfacher machen, aber ich glaube DMM hat im Moment andere Sorgen als am Bios rumzuspielen.