Bootbare ISO CD von Linvdr0.7 erstellen.

  • Hi,
    vielleicht mal überprüfen ob es den Brenner noch gibt in den links -
    wie in der Anleitung zu dem MT-Patches empfohlen - kein Link - kein brennen
    sollte glaube ich heissen:


    /dev/burner als Brenndevice


    Grüße Magicdragon

    2 Mal editiert, zuletzt von magicdragon67 ()

  • Hallo
    Vielen Dank erstmal an alle die sich dem Problem angenommen haben.


    ddgonzo
    Ich habe das Verzeichnis vdr-burn im Verzeichnis /video0 erstellt.
    Jetzt hat das Erstellen geklappt.
    Trotzdem noch eine Frage.
    Wie bekomme ich den Ordner burn-vdr in mein Script eingebunden.
    Der exclude Befehl schließt ja alle Dateien somit auch alle Verzeichnisse die darin liegen aus.
    Würde ich diesen nicht ausschließen, dann hätte ich ja alle aufgenommenen Filme da drin.
    Vielleicht weißt Du oder jemand anderes einen Rat.


    Dann noch eine Frage.
    Ich habe das Erstellen der Datei MyLinvdr - Iso Datei schon schätzen gelernt. RuckZuck ist das ja dann wieder installiert falls mal etwas schiefgelaufen ist.
    Die Filme gehen halt verloren, da ich halt z.B eine Sicherung angesagt wenn man diese unbedingt benötigt.
    So jetzt aber zur Frage. Während des Erstellens über das OSD , kann man bis zur Fertigstellung nichts aus dem OSD anwählen.
    Gibt es eine Möglichkeit, dieses im Hintergrund zu machen ? und bei erfolgreicher Erstellung eine Nachricht auf dem OSD ausgeben lassen ?


    Was mich weiter noch interessieren würde, ob das hier jemand noch installiert hat. Erfahrungsbericht etc.
    Würde mich über Rückantwort freuen.


    Gruß viper67

  • Wie immer ungetestet:


    Dabei wird der rm, tar und mkiso Befehl im hintergrund ausgeführt.
    Wenn der mkiso fertig ist wird eine Message ans OSD geschickt.


    Bin mir nur nicht sicher ob svdrpsend.pl im PATH drinnen ist.
    Sonst mußt Du den ganzen Pfad mit angeben.


    //EDIT kleiner fehler.
    Habe ich jetzt erst behoben!!

  • decembersoul
    Hi
    erstmal danke für Deine schnelle Antwort.
    Aber leider hat das nicht funktioniert.


    logread bringt folgendes


    Jun 16 20:26:27 linvdr user.err vdr[1114]: ERROR (svdrp.c,363): Broken pipe


    Ich denke das ist die Fehlermeldung.



    der Pfad zur svdrpsend.pl lautet

    Code
    && /usr/bin/svdrpsend.pl MESG "Die neue MYLinVDR CD ist fertig" &


    Bei der ISO Erstellung geht erstmal nichts am OSD und dann werden alle Dateien, die aufgenommen werden auf dem OSD angezeigt.
    Aber keine Meldung dass er fertig ist.


    Ist aber das kleinere Problem. Wichtiger wäre es dass burn-vdr Verzeichnis unter video0 integriert zu bekommen.


    Hast Du da vielleicht eine Lösung ?


    Gruß Viper67

  • Ich glaube das ist ganz einfach.


    Füge einfach den pfad mit beim tar hinzu.
    Include bindet in diesem fall stärker als exclude.


    Was das OSD angeht, gibt es noch viele Möglichkeiten es zu realisieren.
    Ich kann es aber leider nicht testen.


    Beachte Zeile 6

  • decembersoul
    ich hab's ausprobiert.
    /video0/burn-vdr schließt nun zwar das burn Verzeichnis ein, aber nun werden alle Dateien ab dem RootVerzeichnis eingebunden.
    So wie ich das Script verstanden habe.
    Packe alles ab dem Verzeichnis Root (/*) und schließe folgende Verzeichnisse (--exclude ... ) aus.
    Kommt nun ein include in dem Fall /vidoe0/burn nimmt der Packer dann auch wirklich alles und übergeht den exclude Befehl.
    Leider :(


    Was das OSD beantrifft. Falls Du irgendwelche Lösungen hast und wenn Du Zeit hast, mir Tipps zu geben, kann ich testen.
    Aber nur wenns keine Umstände macht. Aslo nur keine Stress machen.


    Danke
    Viper67

  • Zitat

    Original von viper67
    decembersoul
    ich hab's ausprobiert.
    /video0/burn-vdr schließt nun zwar das burn Verzeichnis ein, aber nun werden alle Dateien ab dem RootVerzeichnis eingebunden.
    So wie ich das Script verstanden habe.


    Wenn ich es jetzt richtig vertanden habe, dann musst Du vielleicht Zeile 6 zwischen 16-17 einfügen.
    Anscheinend bezieht sich das exclude immer nur auf das vorgehende include.


    Was Du mit dem OSD mal testen könntest wäre:
    Das MyLinvdr nicht direkt aus dem OSD aufrufen, sondern Dir ein skript schreiben das MYLinvdr im hintergrund startet.
    Dann könntest Du am ende von MyLinvdr eine Nachricht an das OSD schicken.
    Ich hoffe Du verstehtst was ich meine ;)

  • decembersoul
    ahhh... jetzt bin ich einen Schritt weiter.


    Leider hat /video0/burn-vdr integrieren nicht funktioniert.
    Allerdings das Problem mit dem OSD ist jetzt gefixed.
    Das Script läuft im Hintergrund und gibt eine Meldung aus wenn es fertig ist.
    Also ich habe nun das Script als mylinvdr.sh gespeichert und rufe aus der commands.conf folgendes auf.
    ISO-Image erstellen: printf "/addon/mylinvdr.sh" | at now


    in der Datei mylinvdr.sh
    wird dann durch
    /usr/bin/svdrpsend.pl mesg "Die neue MYLinVDR CD ist fertig"
    eine Message auf dem OSD angezeigt.


    Gruß Viper67

  • Hallo
    da ich immer noch keine Lösung hinbekommen habe das Verzeichnis /video0/burn-vdr in ein Tar-File einzubinden das --exclude Befehle enthält, möchte suche ich natürlich nach weiteren Lösungsansätzen.


    wie kann man das burn-vdr Verzeichnis unter ein anderes Verzeichnis legen ? die temporär Erstellten Dateien bleiben leider auch nach einem Reboot erhalten. wenn man das ins tmp legen würde wäre das auf jeden Fall von Vorteil.

    Oder man legt unter video0 ein Verzeichnis z.B. Filme an. in dieses dann die Aufnahmen erstellt werden und nich direkt unter video0.


    welche Dateien muss man da editieren um die Aufnahme bzw. das burn-vdr Verzeichnis zu verschieben ?


    Gruß viper67

  • Hallo VIPER,


    könntest Du Deinen bisherigen Stand hier mal vollständig posten (alle Änderungen in command.conf etc.) oder anhängen (alle Dateien)?


    Ich würde gerne das Skript bei mir einbinden und testen, aber ich habe mittlerweile hier den Überblick verloren,. was denn nun geht und welche Fassung aktuell ist.


    Wäre super! Danke!

    SW Server: TvHeadend auf Ubuntu 12.04 [kann ersetzt werden]


    SW Client: XBMC 11 / ATV


    HW Server: Intel DH67CL | Core i3-2100 | 4GB RAM | 1x Digital Devices cine S2 V6 Twin DVB-S2 | 2x TT DVB-S 1500 budget | LG GSA-4167B DVD+/-R(W) | Corsair Force F60
    HW Client: ATV2 / ATV3

  • Hallo 44892
    --------------------------------------------------------------------------------------------
    Vorbereitung
    --------------------------------------------------------------------------------------------
    Mit ALT+F1 auf die Konsole wechseln
    Benutzer: root
    Passwort: *****
    LinVDR 0.7 CD einlegen
    mount /mnt/dvd
    mkdir /bootiso
    cp –a /mnt/dvd/isolinux /bootiso
    cp –a /mnt/dvd/LinVDR /bootiso


    --------------------------------------------------------------------------------------------
    Editieren
    --------------------------------------------------------------------------------------------
    /etc/vdr/commands.conf
    am Ende des Scriptes folgendes einbinden


    --------------------------------------------------------------------------------------------
    Datei commands.conf
    --------------------------------------------------------------------------------------------

    Code
    z.B.
    9  ISO-Image erstellen: /etc/vdr/plugins/mylinvdr/mylinvdr.sh


    --------------------------------------------------------------------------------------------
    Im Verzeichnis
    --------------------------------------------------------------------------------------------
    /etc/vdr/plugins/mylinvdr/ eine Datei erstellen mit dem Namen mylinvdr.sh


    Rechte 777 auf die Datei mylinvdr vergeben


    --------------------------------------------------------------------------------------------
    Datei mylinvdr.sh
    --------------------------------------------------------------------------------------------



    --------------------------------------------------------------------------------------------
    Problem
    --------------------------------------------------------------------------------------------
    Um nicht alle aufgenommen Filme mit in das Image aufzunehmen, habe ich den --exclude Befehl auf das video0 Verzeichnisses angegeben.
    Dadurch bedingt fehlt allerdings das Verzeichnis vdr-burn. Leider konnte ich hier keine Lösung finden.
    Hatte das ja schon angefragt, allerdings konnte mir da auch keiner helfen.
    Die CD funktioniert soweit allerdings musst Du das Verzeichnis vdr-burn manuell anlegen.


    Du gehst Du folgendermaßen vor. Im Verzeichnis /video0/ das Verzeichnis vdr-burn anlegen Rechte 755 vergeben.
    Ansonsten funktioniert das Erstellen eines ISO-Files nicht. Vdr-burn ist das temporäre Verzeichnis für das burn-Plugin



    Gruß Viper67

  • Habe alles so gemacht wie beschrieben, wenn ich unter Menu/Befehle/myLinVDR.sh aufrufe, erscheint im Logfile auch der richtige Eintrag


    Zitat

    executing /etc/vdr/plugins/mylinvdr.sh


    Danach aber passiert gar nichts.


    Rufe ich das skript per Hand auf mit ./mylinvdr.sh im entsprechenden Verzeichnis, erhalte ich die Fehlermeldung


    Zitat

    : bad interpreter: No such file or directory


    Mir ist aufgefallen, dass im skript der Echo-Befehl einmal mit ";" beendet wird und einmal nicht - was ist denn nun richtig?


    Und wiso läuft das Skript bei mir nicht? Das Kopieren ging nicht wie von Dir angegeben, habe die beiden Verzeichnisse mit mc kopiert, so dass unter /isoboot nun die beiden Unterverzeichnisse der CD liegen. Liegt es vielleicht da dran? Und ist das ok so mit den ganzen folgen für TAR in neuen Reihen, müssen die nicht vielmehr in einer Zeile sein? Sorry, kenne mich da nicht so sehr aus, suche nur den Fehler...


    Vielen Dank aber für das sehr ausführliche Skript mit Beschreibung! Wenn ich es jetzt noch zum Laufen bringe, hast Du mir - und vermutlich auch vielen anderen Interessierten - sehr geholfen!

    SW Server: TvHeadend auf Ubuntu 12.04 [kann ersetzt werden]


    SW Client: XBMC 11 / ATV


    HW Server: Intel DH67CL | Core i3-2100 | 4GB RAM | 1x Digital Devices cine S2 V6 Twin DVB-S2 | 2x TT DVB-S 1500 budget | LG GSA-4167B DVD+/-R(W) | Corsair Force F60
    HW Client: ATV2 / ATV3

  • Hi,


    ob diese Anmerkung hier was bringt, kann ich nicht beurteilen, aber vielleicht hilft's ja weiter. Wenn nicht, ist's ja auch egal, dann vergesst es recht schnell :)


    bei kanotix remastern habe ich's so gemacht:
    benötigte Programme
    mksquashfs und mkisofs


    # Dateien komprimieren
    # KNOPPIXSRC = Datei'n des Systems
    # KNOPPIXCD = aus den KNOPPIXSOURCEN komprimiertes KNOPPIX file erstellen
    mksquashfs /kanotix/KNOPPIXSRC /kanotix/KNOPPIXCD/KNOPPIX/KNOPPIX -info


    # Kanotix-vdr iso erzeugen
    cd /kanotix/KNOPPIXCD


    mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 -boot-info-table -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -hide-rr-moved -o /kanotix/kanotix-vdr.iso /kanotix/KNOPPIXCD

  • Zitat

    Original von 44892


    Hast Du die Datei unter windows erstelt oder bearbeitet?
    Da sind da zusätzliche Steuerzeichen drinnen die Fehler verursachen.


    Früher war es auch mal so das hinter der ersten Zeile eine leerzeile folgen musste.

  • Hallo 44892
    Leider bin ich auch nicht so der Linux Spezialist. Ich bitte zu entschuldigen, wenn ich hier etwas falsches sage.
    Bei mir läuft das einwandfrei. Genauso wie ich es beschrieben habe.
    Scheint so, als ob der Interpreter nicht angesprochen wird. Vielleicht nicht installiert ist ?


    Kann natürlich sein, dass ich durch das Nachinstallieren mittels debtool diese Fehlermeldung nicht bekommen habe und damit der vielleicht fehlende Interpreter mitinstalliert worden ist.


    Soweit ich das noch aus dem Kopf zusammenbekomme, habe ich
    das Setup Programm von LinVDR mit dem Parameter -x
    #/ setup -x gestartet.
    In der Übersicht hast Du nun einen zusätzlichen Punkt „Erweitert“
    Ich habe damals gcc und Midnight Commander installiert.


    Was Du allerdings machen kannst, eine Datei anlegen die den gleichen inhalt wie die mylinvdr.sh hat nur ohne das .sh am Ende.
    Dann führst Du im mc diese Datei aus.


    Wenn Dir das auch nicht weiterhilft, dann würde ich auf der Konsole die Befehle ausführen. Das "/" des tar-Befehls kannst Du weglassen und alles in eine Reihe schreiben. Zwischen den "--exclude" ein Leerzeichen.



    Code
    cd /pub/export


    Code
    mkisofs -o mylinvdr-0.7_$(date +%y%m%d).iso -b isolinux/isolinux.bin  -no-emul-boot -boot-load-size 4 -boot-info-table -joliet-long -RJ -r /bootiso/


    das müsste auf jeden Fall funktionieren.


    Der Pfad heißt /bootiso und nicht /isoboot



    Gruß Viper67

  • Hi decembersoul
    ich glaube Du hast recht.
    Ich hatte vergessen das zu erwähnen.


    Was mich interessieren würde.
    Ist eigentlich jemand im Forum der MyLinVDR wie es hier bescrieben worden ist verwendet ? Würde mich interessieren ob das jemand benutzt.


    Gruß viper67

  • sorry Viper wenn ich dich verbessern muss.


    Er braucht auf gar keinen fall den gcc.
    Und das er den Interpreter nicht kennt kann auch nicht sein.
    bash ist immer da!


    Ich vermute eher das der Aufruf.
    #!/bin/bash
    nicht stimmt.
    In 80% der Fällen liegt es an einer unter windows bearbeiteten Datei.
    Dann steht da nicht
    #!/bin/bash
    sondern
    #!/bin/bashxxyy
    (wobei xxyy im Editor nicht sichtbar sind.)


    kannst ja mal das Skript nur aus zwei Zeilen aufbauen:


    Bash
    #!/bin/bash
    
    
    echo "Es geht!";


    Wenn Du das nun mit chmod +x ./dateiname ausführbar machst, dann kannst Du es ja mal starten .-)


    Das *.sh hat im Grunde garkeine Bedeutung. Hilft nur etwas das man sehen kann was in der Datei steht, ein Shell Script. Ist Linux aber total egal.


    Das "\" am ender der Zeile bedeutet das der Befehl in der nächsten Zeile weitergeht. Man kann auch alles in eine Zeile schreiben. nur wird es dann schnell unleserlich.


    was das
    echo "mache was";
    oder
    echo "mache was"


    angeht, ist es in diesem fall wohl egal ob Du mit ";" machst oder nicht.

  • Zitat

    Original von decembersoul
    Hast Du die Datei unter windows erstelt oder bearbeitet?
    Da sind da zusätzliche Steuerzeichen drinnen die Fehler verursachen.


    Früher war es auch mal so das hinter der ersten Zeile eine leerzeile folgen musste.


    Danke, das war es tatsächlich! Ich hatte den Text per copy&paste aus dem firefox in den Texteditor kopiert und als Textdatei abgespeichert, dann auf den LinVDR kopiert, daran hat es wohl gelegen. Habe nun die Datei von Hand im LinVDR eingegeben un er läuft... Mal sehen, wie das ISO aussieht...


    viper:
    Falls es keinen work-around gibt beim Erstellen, könnte man doch den Befehl auch in commands.conf einbauen, um das Verzeichnis /video0/vdr-burn zu erstellen, falls es noch nicht existiert mit einfacher Abfrage... wäre zwar nicht das selbe, wie eine automatische Installation, aber würde es jedem Nutzer erlauben, auch ohne Kommandozeile den VDR nach der Installation vollständig in Betrieb zu nehmen... Eine entsprechende Info könnte man doch in die README-Dateien von LinVDR einbauen, die bei der Installation angezeigt werden...

    SW Server: TvHeadend auf Ubuntu 12.04 [kann ersetzt werden]


    SW Client: XBMC 11 / ATV


    HW Server: Intel DH67CL | Core i3-2100 | 4GB RAM | 1x Digital Devices cine S2 V6 Twin DVB-S2 | 2x TT DVB-S 1500 budget | LG GSA-4167B DVD+/-R(W) | Corsair Force F60
    HW Client: ATV2 / ATV3

  • So, ich habe meine Erfahrungen in die Anleitung von viper67 noch ein wenig eingearbeitet, insbesondere den Befehl in der commands.conf noch in den Hintergrund verschoben, damit man weiter arbeiten kann und mit nice die Priorität auf 19 (sehr niedrig) eingestellt, damit durch die ISO-Erstellung keine wichtigen anderen Prozesse behindert werden.


    Dann habe ich noch in die excludes alle Laufwerke im Verzeichnis /mnt ausgenommen, damit nichts überflüssiges eingebunden wird und auch noch meine 2. festplatte, /video1.


    zur besseren Lesbarkeit der OSD-Ausgabe noch ein sleep 5 hinzugefügt... hoffe, dass die Angaben hier auch für andere nützlich sind.


    --------------------------------------------------------------------------------------------
    Vorbereitung
    --------------------------------------------------------------------------------------------
    Mit ALT+F1 auf die Konsole wechseln
    Benutzer: root
    Passwort: *****
    LinVDR 0.7 CD einlegen
    mount /mnt/dvd
    mkdir /bootiso
    cp –a /mnt/dvd/isolinux /bootiso
    cp –a /mnt/dvd/LinVDR /bootiso


    --------------------------------------------------------------------------------------------
    Editieren
    --------------------------------------------------------------------------------------------
    /etc/vdr/commands.conf
    am Ende des Scriptes folgendes einbinden


    --------------------------------------------------------------------------------------------
    Datei commands.conf:


    MyLinVDR - ISO erstellen : nice -n 19 printf "/etc/vdr/plugins/mylinvdr/mylinvdr.sh" | at now


    --------------------------------------------------------------------------------------------
    Im Verzeichnis
    --------------------------------------------------------------------------------------------
    /etc/vdr/plugins/mylinvdr/ eine Datei erstellen mit dem Namen mylinvdr.sh


    Rechte 777 auf die Datei mylinvdr.sh vergeben mit

    Zitat

    chmod +r+w+x mylinvdr.sh


    --------------------------------------------------------------------------------------------
    Datei mylinvdr.sh
    --------------------------------------------------------------------------------------------


    #!/bin/bash
    /usr/bin/svdrpsend.pl mesg "Ein neues MYLinVDR-ISO File wird erstellt"
    sleep 5

    rm /bootiso/LinVDR/linvdr-0.7.tar.gz
    tar -czvpf /bootiso/LinVDR/linvdr-0.7.tar.gz /* \
    --exclude=/bootiso/LinVDR/linvdr-0.7.tar.gz \
    --exclude=/proc/* \
    --exclude=/video0/* \
    --exclude=/video1/* \
    --exclude=/mnt/* \
    --exclude=/pub/mp3/* \
    --exclude=/pub/mplayer/* \
    --exclude=/pub/images/* \
    --exclude=/pub/export/* \
    --exclude=/sysfs/* \
    --exclude=/vtx/* \
    --exclude=/var/vm/swapfile \
    2>/var/log/error-backup
    cd /pub/export


    echo "Bitte warten, Image wird erstellt";
    sleep 5


    # ISO-File erstellen
    mkisofs -o mylinvdr-0.7_$(date +%y%m%d).iso -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -joliet-long -RJ -r /bootiso/
    echo "ISO erstellt im Verzeichnis /pub/export/";
    sleep 5
    /usr/bin/svdrpsend.pl mesg "Die neue MYLinVDR CD ist fertig"


    --------------------------------------------------------------------------------------------
    Problem
    --------------------------------------------------------------------------------------------


    Um nicht alle aufgenommen Filme mit in das Image aufzunehmen, habe ich den --exclude Befehl auf das video0 Verzeichnisses angegeben.
    Dadurch bedingt fehlt allerdings das Verzeichnis vdr-burn.


    Die CD funktioniert soweit allerdings musst Du das Verzeichnis vdr-burn manuell anlegen.


    Dazu gehst Du folgendermaßen vor. Im Verzeichnis /video0/ das Verzeichnis vdr-burn anlegen Rechte 755 vergeben.
    Ansonsten funktioniert das Erstellen eines ISO-Files nicht. Vdr-burn ist das temporäre Verzeichnis für das burn-Plugin


    Code
    mkdir /video0/vdr-burn
    chmod 755 /video0/vdr-burn


    ------------------------------------------------------------------------------------------


    Was bleibt:


    Wie kann ich das erstellte ISO gleich brennen?


    1. Ich würde gerne in meinem Brenner eine CD-RW einlegen, die automatisch gelöscht wird, falls Daten enthalten sind (also mounten, falls Daten vorhanden CD-RW löschen, falls CD-RW leer, gleich zu Schritt 2).


    2. Dann würde ich gerne das aktuelle ISO brennen (automatisch, als anhang zum mylinvdr.sh-skript)


    Wie geht das?


    Danke an euch für die Hilfe!

    SW Server: TvHeadend auf Ubuntu 12.04 [kann ersetzt werden]


    SW Client: XBMC 11 / ATV


    HW Server: Intel DH67CL | Core i3-2100 | 4GB RAM | 1x Digital Devices cine S2 V6 Twin DVB-S2 | 2x TT DVB-S 1500 budget | LG GSA-4167B DVD+/-R(W) | Corsair Force F60
    HW Client: ATV2 / ATV3

  • Hi.


    Ich hab mir das mal angeschaut und ein bischen mit 'man tar' gespielt.
    Da ist dann dieser script-Teil rausgekommen:

    rm /video0/LinVDR/linvdr-0.7.tar.gz
    rm /video0/LinVDR/linvdr-0.7.tar
    # nur tar erstellen KEIN ZIP , daran kann tar nicht anhängen.
    tar -cvpf /video0/LinVDR/linvdr-0.7.tar /* \
    --exclude=/video0/LinVDR/linvdr-0.7.tar \
    --exclude=/proc/* \
    .
    .
    .
    --exclude=/var/vm/swapfile \
    2>/var/log/error-backup
    # an existierendes tar anhängen ( -r ) . nicht in Unterverzeichnis wechseln (--no-recursion)
    tar -rvp --no-recursion -f /video0/LinVDR/linvdr-0.7.tar /video0/vdr-burn \ 2>/var/log/error-backup
    # und nun zippen
    gzip /video0/LinVDR/linvdr-0.7.tar


    Gruß
    Manni

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!