Beiträge von thowi

    Hello !


    Thanks both of you for your usefull input.


    The reason that noggie pointed out that it is dangerous to fiddle around directly with the flash without OS Protection was exactly the reason why I implemented everything on the Cf card so far, and used only "properly with the tools from DM flashed images" as source for the copies.


    On the other hand in the latest releases of multiboot it worked nice to simply mount the /dev/mtdblock/2&3 devices while booted from CF and copying with tar there existing CF card images back to flash
    (already a big stept forward).


    In this case all the Flash memory handling is done by the OS and the drivers in this case, meaning I should be save not to fuck up anything.


    As I pointed out already the main reason why I wanted to unpack the nfi file is NOT that I want to create my own flash program, it was because I wanted to have a way to have the flash filesystem on hand afterwards and add the link to my multiboot tool afterwards, so that when then booted all functionality would be available for multibooting without the need for further installation (everything needed is on CF card already).


    Maybe all these problems with the NAND memory are also the reason why musicbob doesn't want to port the flash wizzard to the 7025 or hasn't succeeded so far :winking_face:


    On the other hand if the small bootloader from DM can do the job
    and is fully supported NOT to do any of the mentiod dangerous things there must be a way to do the same thing also when booted from
    the CF card !


    So there are 3 dumb questions:


    1) I think these sources of the boot loader are not public, but wouldn't it be possible for the Developers to steal this small code sequence (which cann't be much different to tmbinc's code) to have a clean standalone nfi2flash tool ?


    2) the DM bootlader when doing the flash is running on the Dreambox as binary executable (or on the frontprocessor - I know dumb question ?) - would it be possible to run it also when booted (from CF card) - my dumb idea would be like mounting the /dev/mdtblock/1 device where I think it is located (?), and simply call it also with the nfi file as input - because it has to run standalone there would be no need
    for kernel hacks, etc... ? It is like running a dos programm under unix, but why not :frowning_face:


    3) if I remember right the 7020 had the capability to flash from CF card by putting the nfi file and such a small standalone utility on it, would a similar approach be possible for 7025 ?


    BTW: I'm just a little old shell script programmer (and not even a good one, I think 30-40% of the multiboot.sh code is redundant because of me being too lazy to use subroutines,... and other nice features of sh)


    Therefore I don't have any programming environment for the DM 7025 at hand (well I have a linux PC) or are intersting in implementing one (sorry for posting here in the OE section), so would it be possible to get the C code of tmbinc compiled and put the binary here ?


    I'll do some further testing, and then decide if any of this functionality will ever show up in multiboot or if I'll stay away from it :winking_face:


    Thanks a lot for your feedback and help so far
    thowi

    Hello noggie !


    Just to give you another hint.


    I already tried to steal from your scripts before I started playing with dd.


    Here is my cp2flash that I created from your Unpack_image by kicking out all the unneded stuff:


    #! /usr/bin/python
    import os, sys, getopt, struct, time
    from machine_config import *
    from common_routines import *


    #################################################################
    # This is GPL software.
    # Written by noggie and modified by thowi
    #################################################################
    #
    # This script will unpack a .nfi image for the 7025 on the Flash
    #
    extract_nfi(['/dev/null', '/dev/mtdblock/2', '/dev/mtdblock/3'])
    os.system('/bin/sync')


    The above should simply unpack the NFI File to the 2 Flash devices
    when booted from CF card Image and then called with:


    > cp2flash < myimage.nfi


    but it fails in line 71 of the common routines with IO Error [Errno 5] Input/output error


    Any idea what I'm doing wrong ?


    I think the reason is because the Flash mtdevice has a fixed size and you cann't write beyond, but then this would mean that part_size is not properly calculated ?

    Zitat

    Original von noggie
    I believe tmbinc's unpacking tools come closest to what you want. See Experimental: NFI2CF


    The file at the pointer always downloads with 0 bytes.


    BUT putting nfi file to CF card is NOT what i want, I simply want to put the nfi file where it belongs (the Flash!) but instead of using Dreamup or the WebIF I want to do it from the multiboot shell script when booted from another CF Image (so that flash is unused and you can copy to it without prolems), so that after putting it to the flash I can mount it and add the addon menu link, change fstab,....


    Multiboot doesn't really need to put nfi to Cf card directly, stealing the image from flash with tar commands is OK in my opinion and much easier to handle.


    In this case I overcome the problem of the scripts I found that not all image have the mtd kernel modules, that you need temporary files for putting the jffs2 filesystem on,....


    It is really strange that nobody posted a way to do this, because in my understanding this would be the simpliest case when starting to play with nfi files :winking_face:


    The point is that nobody used a Dreambox which is ALREADY bootet from a CF card Image to unpack an nfi file to Flash, but this is exactly what I'm looking for.


    Because then only the first time when you install multiboot you have to
    install it into the image (and on CF card), when it then copies the images to CF card it always installs itself - on a PC you could call it a boot virus :winking_face: Exactly this I would like to do also for a flash copy, and for this I would need the correct commands to copy the nfi file to the /dev/mtdblock/X devices.


    please help
    thowi

    Hello !


    As you might know I spent some time to write the multiboot tool for the DM 7025 and for normal DM 7025 users it is really nice in the meantime.


    One of the few remaining things that annoy me is that I don't have a way to integrate the whole software in a freshly flashed image without running scripts, or installing something on top of it.


    On the other hand I've seen that noggie and others created nice pythin scripts for unpacking nfi files directly to CF cards or on the PC.


    Well, multiboot for DM 7025 avoids all this great stuff which took me quite some time to not even understand half of it :winking_face:


    But I mastered already to copy directly into the flash existing images
    on the Cf card by simply mounting the /dev/mtdblock/3 and /2 device which contain the / and /boot as plain jffs2 and then use the normal tar to fill them with a copy of an CF card image - works fine so far and is already included in teh current BETA of multiboot.


    To come back to my problem - if I would add into the multiboot shell script the possibility to unpack the .nfi to the entire FLASH (e.g. the /dev/mtdblock/0 device), when bootet from one of the Cf Images, then I could easily add the required links and maybe do other things like modifying /etc/fstab when mounting it before rebooting as I do already when I copy the CF Images to Flash.


    I tried around with the dd command using the .nfi file as source and various /dev/mtdblock/X as target, but the result is always a corrupt filesystem giving IO errors. I also tried specifying correct skips and seeks with appropiate blocksizes to not destroy my bootloader, but the outcome is never as needed.


    Can somebody give me a hint what the proper comands would be to copy an .nfi file back to Flash ?


    Actually this is the easiest case (no need to temporary unpack and then move to CF card partition or something like that), and it is strange that nobody implemented this yet (or I didn't find it), maybe the WebIF for
    flashing is too good :winking_face:


    But if I would enable multiboot to flash .nfi images directly to flash, then this would be a really great tool, until others implement something better :winking_face:


    Please help !
    thowi

    Ich habe nochmals drüber nachgedacht.


    So wichtig ist mein multiboot addon für die DM 7025 ja nicht das der Link in jedem Image drinnen sein muss, aber nett wäre es trotzdem wenn man das ohne telnet & co machen könnte - hier 2 Vorschläge:


    Variante 1:


    Wäre es aber möglich ein ipkg file namens multibootlink als addon zum Download bei Euch zur Verfügung zu stellen welches nur das File mit dem command zum linkanlegen beinhaltet und ausführt:


    cd /
    ln -sf /media/cf/Multiboot /usr/lib/enigma2/python/Plugins/Extensions/Multiboot


    Im Prinzip würde das schon reichen das das Multiboot Menu wenn es installiert wurde auch im Image sichtbar wird wenn die Leute es bei den addons zum download auswählen.


    Damit würden sich die User im Flash Image das einloggen mit Telnet um den link mit dem script anzulegen ersparen.


    Man wird sich ja noch etwas wünschen dürfen :winking_face:


    2. Variante:


    Die von multiboot unabhängige und auch zukunftssichere Implementierung wäre dann ein ipgk package boottimeinstall das wenn man es runterlädt und installiert dann einfach bei jedem booten auf /install nachsieht ob es ein install.sh script gibt und es dann einfach ausführt, damit könnte man den gewünschten Boottime installer einfach implementieren (und mein multiboot würde dann nur das /install befüllen) !

    beim neuen Image vom 29.4 geht aber ipkg update scheinbar noch nicht, ich kann also auch kein aktuelles bzip2 runterladen


    Wenn ich einfach das alte binary verwenden will fehlt die entsprechende libbz2.so library


    Kann mir da wer helfen ?


    PS: Habe halt jetzt nochmals das vorherige Image geflashed und auch die lib*.so files kopiert - könnte vieleicht wer hier das ipkg install file posten (dann könnte ich es so wie das dosfs tool in den kit einbauen), bzw. wie kann ich das selber runterladen ohne es zu installieren
    und dann ist es scheinbar weg ?


    Reicht es wenn ich einfach das wget kommando im alten Image klaue und extra ausführe, oder kann ich den server auch mit ftp browsen,... ?


    Sorry für die Blöden Fragen aber ipkg habe ich mir noch nicht genauer angeschaut

    habe es auch grade geschafft mußte wieder das standard Dream Multimedia Image flashen damit es funktionierte - ist ganz schön verwirrend durch das multibooting und den vielen Images.


    Danke für die Hilfe & ich kann jetzt am multibot weiterarbeiten.

    Zitat

    Original von dcdead
    Hmm, es ist wohl im ipkg repository. Kannst es also mit ipkg update && ipkg install bzip2 installieren.


    Funktioniert leider bei mir nicht, bzip2 scheint er auch nach dem update nicht zu kennen


    Kanns wer anderer probieren und falls verfügbar das executable hier als tar posten ?

    wie gesagt ich brauche eigentlich nur das executable (kann es einfach in den Multiboot kit dazupacken, ein ipkg ist also nicht nötig)


    ABER, die DM 7025 hat doch eine andere CPU (MIPS statt PowerChip), du müßtest es also dafür complieren.


    Danke im voraus


    Gruss
    thowi

    Hallo !


    Ich würde für mein multiboot Tool for die DM 7025 den Befehl bzip2
    benötigen, derzeit ist im Image aber nur bunzip2 drinnen, können den wer auch für die DM 7025 compilieren und evt. gleich als ipkg zum downloaden und nachinstallieren rausbringen ?


    Gruss
    thowi

    eigentlich ist Multiboot zu Ostern entstanden :winking_face:


    Multiboot Version 2.0 is jetzt als BETA zum downloaden verfügabr und wird in ca. 1 Woche als Release verfügbar sein und dann eh in den diversen Downloadsections der Boards auftacht. Bis jetzt gibt es halt in diversen Boards Threads von thowi :winking_face: wo die aktuellen Betas gepostet sind in den allgemeinen sections für die DM 7025.


    Das Board wo meine Helfer sitzen und mitarbeiten, bzw wo man Kommentare und Feature Requests für Version 3.0 posten kann habe ist ja schon in meiner letzten Reply versteckt (frei nach JFK - I have a dream.)


    Wenn jetzt auch noch die Imageentwickler anfangen den Link für das addon in Ihre Images einzubauen (so das sich das Plugin automatisch im Image registriert, wenn die CF Karte mit installiertem Multiboot drinnen ist) so dass man es nur 1x installieren muss und dann nur mehr mit dem Menu arbeiten kann dann wäre es perfekt, aber man wird doch noch Träume haben dürfen ....


    Dann wäre es auch möglich ein File zu machen das man direkt am PC auf die CF Karte auspacken kann (so wie eine Art Bootfloppy) und ab dann hat man einfach Multiboot wenn man es in die DM 7025 steckt !


    Jetzt wird es halt wie üblich 1x als addon installiert (man muss aber manuell auf /tmp FTPen) und falls nötig der Link mit einem script angelegt.

    Multiboot Version 1.3 ist jetzt als Download verfübar (allerdings in einem anderen Board wo man Träume hat)


    Ausser einer der Admins hier im Board lädt es hoch, bzw. gestattet es hier zu posten (sind ja keine bösen Sachen drinnen)


    Ich denke das sollte dich dann schon halbwegs glücklich machen, weil die üblichen Features jetzt schon als Addon im Menu verfügbar sind und damit auch für den Normaluser bedienbar.


    Flaswizzard ist halt ein ganz anderer Ansatz. Nachdem das Flashen der DM 7025 mit dem WebIF eh schon ganz elegant geht ist der Fokus vom Multiboot einfach Mehrere Images auf der CF Karte installieren zu können und von dort zu booten.


    Multiboot kann auch schon (wenn auch noch nicht über das Addon Menu) Features wie kopieren von Images zwischen den Partitionen der CF Karte, das geht beim Flash Wizzard nur mit backup des Images und flashen des Backups unter anderem Namen.


    Man kann auch settings zwischen Images hin und her kopieren (und nicht nur beim Flashen wie beim Flash Wizzard), etc.


    Ich denke schon das Du damit Spass haben wirst beim Multibooten !


    Multiboot ist auch jetzt ein kit der als addon installierbar ist
    (vieleicht kann ich mal am abend nicht schlafen und mache auch einen ipk kit draus) - die Zeit wo man mühsam selbst die scripts rumkopieren mußte sind längst vorbei (ist aber trotzdem gut wenn man weis wie es geht)


    PS: War nur etwas enttäuscht das ich Multiboot selber entwickeln musste - aber besser als Meckern was alles nicht geht ist das allemal :winking_face:

    es hat sich nun jemand gefunden der den entsprechenden python code angepaßt hat - mein Multiboot menu ist jetzt als Plugin über das Spiele/Erweiterungen Menu in praktische jedem Image aufrufbar.


    ABER ich habe noch ein kleines Problem wie man das Plugin in das directory kopieren kann OHNE wieder
    die ganze installation zu machen, damit es auch in einem neuen Geflashten Image verfübar, ist das nur auf die CF Karte kopiert werden soll (beim kopieren wird der link schon angelegt, das Problem ist
    das Original im Flash).


    Ich habe dazu in der Developer section eine entsprechende Frage gestellt wie man dieses Henne/Ei Problem lösen könnte, bitte um Inputs, Ihr kriegt dafür auch ein nettes Multiboot Tool für die 7025
    (funktioniert wirklich schon ganz gut in der Zwischenzeit, nur eben der Menu Support ist noch nicht 100% möglich, für reines switchen zwischen den Images geht es aber schon hervorragend, aber für den Normaluser muss auch das installieren und Kopieren übers Menu gehen)

    Hallo Leute !


    Ich arbeite ja im moment daran mein multiboot tool für die DM 7025
    das ja anfangs ein reines shell script war komplett ins enigma zu integrieren (ende der Woche kommt die erste release die nicht nur das Wechseln der Images kann, sondern auch das kopieren und install/deinstall des Tools - wobei ich fürs install es erstmals nur als tar.bz2 file fürs manuelle installieren
    aus /var/tmp gebaut haben, ein ipk file kommt erst später).


    Damit ich alle Funktionen aus den enigma menus aufrufen kann, das
    plugin aber nicht in jedem image neu installiert werden muss wird
    das entsprechende Multiboot plugin.py nicht direkt ins
    /usr/lib/enigma2/python/Plugin/Extras/Multiboot directory
    kopiert (ausser bein ersten mal damit man es eben ganz normal mit auspacken des tar-bz2 files durch die vollen Pfadnamen dort hinkriegt), sondern kommt dann
    ins directory /media/cf/Multiboot auf die CF Karte und es wird
    nun vom Extras directory nur dorthin ein Link angelegt.


    Funktioniert im Prinzip super, es wird nach dem Kopieren des Images
    nur der Link angelegt und schon taucht das Menu in jedem Image
    auf.


    Nur beim Flash Image (wo es am dringendsten nötig wäre) habe ich das Henne Ei Problem - wenn ich es neu Flashe um dann mit multiboot auf die CF Karte zu kopieren habe ich natürlich den link noch nicht (der wird erst bei der Kopie auf der CF Karte angelegt), womit ich wiederum für das Kopieren das Menu nicht verwenden kann und wieder auf das reine script im telnet angewiesen bin.


    Folgende Frage(n) dazu:


    1) Gibt es die Möglichkeit im autorun.bat auf der CF Karte, auf das ja in meinem Fall auch durchlaufen wird wenn ich vom Flash boote (nur eben sofort wieder auf den Kernel im Flash deutend) noch zusätzlich diesen Link anzulegen
    (habe versucht ein mblink.bat dort noch auszuführen auf /media/cf
    welches das ln -sf Komado enthält für das Plugin). Damit wäre es dann möglich beim Booten sozusagen das Image mit dem nötigen Plugin zu infizieren :winking_face:


    2) wenn 1) nicht geht könne man den entsprechenden Link im Plugins/Extras Menu nicht im Standard DM Image anlegen, oder wenigstens so eine art generischen Install Link auf /media/cf/Install machen der es dann ermöglichen würde damit Menus bereits beim Booten einzubinden ?


    3) Wenn 1+2 nicht gingen, kann man wenigstens so eine art autoinstall machen - wenn zB. auf /media/cf/tmp ein file liegt wird es nach dem booten installiert, genauso wie auf /media/usb/tmp Im Prinzip hätte ich gerne so eine art autoexec.bat wie bei DOS die nach/beim booten ausgeführt wird :winking_face:


    4) vieleicht gibt es ja noch eine bessere methode - Tipps sind willkommen.


    Nach jedem Flash das Plugin in /tmp kopieren und nachinstallieren ist leider keine echte Lösung.


    Bitte um Hilfe & Tipps und gute Ideen

    für Multiboot ist derzeit eine 256MB Karte ausreichend weil im Moment eh nur 3 Images drauf gehen, für die Leute die zukunftsträchtig unterwegs sein wollen würde ich 512MB nehmen, aber mehr macht im normalen Gebrauch kaum Sinn (ausser du legst z.B. die ganze Entwicklungsumgebung drauf)

    Hallo Liebe enigma2 Entwickler !


    Nachdem ich mir gestern und heute die Arbeit gemacht habe rauszufinden wir man eine CF Karte für Multiboot vergewaltigen kann (Posts dazu in den entsprechenden Sections von anderen Boards wo man Träume hat) wollte ich nachfragen wie man das am besten ins Enigma2 einbauen könnte.


    Dadurch das man derzeit ein Image gebootet haben muss damit
    man das nächste zu bootende auswählen kann, müßte es eine Mthdei sein die praktisch immer funktioniert (als Plugin nachlinstallieren,
    oder externes script ausführen ...)


    Im Prinzip wäre kaum wirklich neues Coding nötig - es gibt ja bereits entsprechende Backup/restore Plugins die man dafür verwenden könnte.


    Das erste Eingabefeld für das Komando mit enable, disable, copy, boot, reboot und shutdown als erlaubte Werte.


    Das zweite Eingabefeld einfach für die Partitionsnummer mit 0,1,2,3 als erlaubte Werte


    Und unten würden nur die Knöpfe Ausführen und Abbruch benötigt
    (und evt Log zum anschauen des Letzten Logfiles da das Script dann ja im Hintergrund läuft).


    Das Plugin müßte man dann nur mit diesen Parametern das script ausführen.


    Ich bin mir aber nicht sicher ob das die beste Methode ist so etwas zu
    implementieren.


    Daher würde mich interessieren was Ihr drüber denkt wie man sowas am besten implementiert so das es mit allen Images geht (na ja der derzeitige shell scrippt only approach ist für den Gebauch vorm fernseher halt zu mühsam)


    Feedback is welcome !

    Cool, habe es über das Advanced Menu probiert - ist einfach ungewohnt das man einfach den jeweiligen SAT auswählt und sagt wie der geschaltert wird - aber eigentlich viel einfacher und logischer.


    Gerade bei mir wo 4 SATs über Multischalter und 2 über weitere Ausgänge des Uncomitted Switch direkt angehängt sind muss man nicht mehr tricksen um das einzugeben (allerdings muss man trotzdem ein command AA für den commited switch eingeben, owohl es gar keinen gibt - da schein die Programmlogik für diesen Fall nicht durchdacht zu sein das ein LNB direkt an einem Uncommited Ausgang hängt ohne DiseqC Schalter dazwischen).


    Ich war halt von dem einfachen menu das erst wenn man die LNB Nummer eingibt die restlichen Optionen zeigt verwirrt.


    Evt wäre da unterhalb eine kurze Message auf dem Bildschirm wenn man advanced auswählt hilfreich:


    choose LNB Number for further options/LNB Nummer auswählen für weitere Optionen


    Das wäre hilfreich, damit man nicht unnötig rumsucht.


    Nach der derzeitigen Menustructur wäre es auch einfach number of uncomitted switches als Option einzubauen und dann kann man auch Kaskadierungen eingeben und mehr als 16LNBs ansprechen.


    Also eigentlich recht gelungen, und auf jedem fall besser als die vielen Subbildschirme beim enigma1, gratuliere.


    Ich muss nur jetzt das config file sofort weg FTPn damit man das Ganze nicht immer neu eingeben muss.


    Das wäre übrigens auch ein nettes Feature (und leicht zu implementieren, auch wenn natürlich die diversen PC Tools über FTP das auch bald können werden) - save Konfig to CF/USB und dann wenn der Startassistent läuft als ein zusätzlicher Auswahlpunkt die Option Load Config from CF/USB.

    Zitat

    Original von tmbinc
    Keine Frage, sowas sollte, sofern es nicht durch das Design unmöglich ist, in der Anleitung stehen..


    Es ist sogar noch schlimmer, wenn man sich die Bilder in der aktuellen Anleitung anschaut schwebt auf allen (insbesondere dem letzten mit eingebauter Harddisk wo bevor man wieder zuschraubt) das Stromkabel und auch das andere Schwarze Kabel genau über dem Kühlkörper - also wenn man so so den Deckel drauftut ist Spass fast garantiert !


    Also bitte auch wenigstens das Letzte Foto neu machen mit schön runtergestopftem Kabel und evt. noch einem weiteren weissen Pfeil - Kabel darf Kühlkörper nicht berühren !


    Na ja, die ist aber recht holprig zum Bedienen - ich probiere beide Varianten und Ihr kriegt Feedback, danke auf jeden Fall für das Beispielfile - mit dem kann ich kontrollieren ob das was ich einstelle Sinn macht.