[LinVDR 0.7] Boot from LAN

  • Zitat

    Original von cooper
    Servus,



    Nein.


    Viele Grüße, Mirko


    Hartes Urteil :)


    Vermutlich kriegt man das schon hin. Der Aufwand dafür ist aber sicherlich teurer als ein Harddisk oder eine CF-Card mit IDE-Adapter....

  • Zitat

    Original von MarcTwain
    Hartes Urteil :)


    So ist er halt ;)

    Zitat


    Vermutlich kriegt man das schon hin.


    Man wird das genauso hinkriegen, wie mit 0.6. Warum sollte das nicht gehen? Es ist doch ein Linux drunter, ODER? :gap

    Zitat

    Der Aufwand dafür ist aber sicherlich teurer als ein Harddisk oder eine CF-Card mit IDE-Adapter....


    Ähm..- was ist daran teuer? Ok, eine 08/15- LAN mit RTL8139 bootet normalerweise nicht vom Netz. Also eine mit PXE- Boot. Ok, die kostet etwas Geld.
    Und der Aufwand? Gut, aber es ist ja ein Hobby. Und wir müssen ja nicht kalkulieren :) Teuer ist IMHO auf jeden Fall die Variante mit CF- Card.
    Du bist doch der Compiler- Profi, bau dochmal einen solchen Kernel ;D
    Floh:
    Es ist relativ einfach. Stichworte:
    Der Kernel muß so kompiliert sein, daß NFSRoot fest eingebaut ist sowie der Treiber für Deine Netzwerkkarte. Einfach die Karte als Modul in die initrd reicht nicht!
    Dann darfst Du einen dhcp, einen nfs und einen tftp- Server einrichten. Der dhcp verteilt IP- Adressen (auf MAC- Basis!) und übergibt den Pfad zur Boot- Datei (Kernel). Von dort holt das PXE nun das Bootfile via tftp und startet den Bootmanager (z.B. Grub). Dieser wiederum muß auch entsprechend Deiner Netzwerkkarte kompiliert sein, so daß er via tftp dann den Kernel laden kann und anschließend booten.
    Der Kernel hat ebenso den Netzkartentreiber fest eingebaut, so daß er vom Grub mit dem entsprechenden Parameter den Pfad zum NFS- root- Dir bekommen hat. Das mounted er und startet /sbin/init. Fertig die Kiste.


    Ist natürlich etwas aufwändiger, aber man lernt dabei :) Und für den, der Wert auf einen lautlosen VDR legt, ist das wunderbar.


    Was ich noch nicht probiert habe, ist dem Grub und dem Kernel einfach ALLE Netzkartentreiber reinzukompilieren,, so daß er pauschal eingesetzt werden kann. Bisher habe ich den Kernel halt genau für eine Kiste gebaut- wenn die Karte geändert wurde: neuer Kernel, neuer Grub.


    Viel Spaß damit!

    Glotze: yaVDR (ASRock Q1900M, 4GB RAM, DD Cine S2 V6.5, ZOTAC GT630 (Rev. 2)
    Server: HP ProLiant MicroServer G8, VMware ESXi 5.5 :P

  • Das Problem is den Kernel zu bauen... Ich habe kein LinVDR Devsystem da... Aber vielleicht wäre ja jemand so freundlich? *dackelblick* Das Epia-800 Board hat ja PXE integriert, sollte also soweit funktionieren.

  • Zitat

    Original von Floh
    Das Problem is den Kernel zu bauen... Ich habe kein LinVDR Devsystem da... .


    wenn dies dein Problem ist gilt wohl cooper Antwort :)


    Sonst setz dier ein Woody System auf - und du hast die perfekte Linvdr Entwicklungsumgebung ...

    Gruß


    sdu

    *******************************************************************
    gen2vdr 2.0
    TT1.3, Skystar 2.6c, activy300, STBs AVBoard
    *******************************************************************

  • Mein Serverchen läuft mit debian testing (sarge), sind die dort gebauten Kernel binärkompatibel? Und muss ich an was besonderes beim Kernel backen denken? Und wo gibts ne .config Datei vom original LinVDR Kernel damit ich nich alles umschmeiße?

  • Zitat

    Original von Floh
    Mein Serverchen läuft mit debian testing (sarge), sind die dort gebauten Kernel binärkompatibel?


    nein


    Zitat

    Original von Floh
    Und muss ich an was besonderes beim Kernel backen denken? Und wo gibts ne .config Datei vom original LinVDR Kernel damit ich nich alles umschmeiße?


    die config ist dabei (config.gz) ...

    Gruß


    sdu

    *******************************************************************
    gen2vdr 2.0
    TT1.3, Skystar 2.6c, activy300, STBs AVBoard
    *******************************************************************

  • Hallo!


    Zitat

    Original von Floh
    Mein Serverchen läuft mit debian testing (sarge), sind die dort gebauten Kernel binärkompatibel? Und muss ich an was besonderes beim Kernel backen denken?


    Wenn Du den gesamten Kernel mit allen Treibermodulen neu kompilierst und ersetzt, ist das kein Problem.
    Bei mir läuft unter LinVDR auch ein mit gcc 3.3 auf Sarge kompilierter Kernel.


    Gruß,


    Marcus

  • Ich hab das Ding jetzt soweit geprügelt, dass es Bootet, hab aber jetzt nen Problem mit dem vdr Start: Die DVB Karte wird gefunden...


    ...aber vdr will nicht starten...

    Code
    Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: invalid primary device number: 1
    Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: no primary device found - using first device!
    Dec 21 22:43:15 linvdr user.err vdr[1715]: ERROR: invalid primary device number: 1


    Auch wenn ich vdr manuell starten will habe ich keine Chance:

    Code
    linvdr:/# vdr -v /video0 -c /etc/vdr
    vdr: no primary device found - using first device!
    linvdr:/#


    Any hint on this?

  • Zitat

    Original von Floh
    Any hint on this?


    Ich tippe darauf, daß das zu Deiner Karte gehörende Frontend-Modul nicht geladen wird. Zumindest kann ich dem Log keine entsprechenden Meldungen entnehmen.


    Gruß,


    Marcus

  • Welches wäre das Frontend Modul? Eigentlich doch saa7146 oder saa7146_vv für ne TT FF 1.6, oder? Und das funktioniert eigentlich sauber:

    Code
    linvdr:/# modprobe saa7146
    linvdr:/# dmesg | tail -n 5
    saa7146_vv: saa7146 (0): registered device video0 [v4l2]
    av7110: found av7110-0.
    saa7146: register extension 'budget dvb'.
    saa7146: register extension 'budget_ci dvb'.
    saa7146: register extension 'budget dvb /w video in'.
    linvdr:/#


    Ich bin nen bissl ratlos :(

  • Zitat

    Original von Floh
    Welches wäre das Frontend Modul? Eigentlich doch saa7146 oder saa7146_vv für ne TT FF 1.6, oder?


    Neeee!
    Gut, Du verwendest ja einen älteren Treiber, da war es irgendwas mit "grundig_29504-491". Das kommt aber wirklich auf die Karte an.
    Bei den aktuellen CVS-Treibern heißt es nicht mehr so, dort ist es dann "tda8083" (oder ähnlich). Ich würde Dir eh empfehlen, wenn Du schon den Kernel neu kompilierst, dann auch die aktuellen CVS-Treiber zu verwenden.


    Gruß,


    Marcus

  • Ich hab nen Vanilla 2.6.9 genommen, ich wollte eigentlich so wenig wie möglich am original LinVDR verändern... Ich hab ma nen Strace gemacht:

    Code
    rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
    open("/dev/dvb/adapter0/frontend0", O_RDONLY) = -1 ENODEV (No such device)
    time([1103667336])                      = 1103667336
    getpid()                                = 5448
    rt_sigaction(SIGPIPE, {0xb7fc0e80, [], SA_RESTORER, 0xb7e566b8}, {SIG_DFL}, 8) =
     0


    Dein Tipp war also richtig.... Nur wie komme ich jetzt an das Frontend? *grybel*


    Floh

  • Zitat

    Original von Floh
    Ich hab nen Vanilla 2.6.9 genommen, ich wollte eigentlich so wenig wie möglich am original LinVDR verändern...


    Tja, nur verwendet das Original-LinVDR 0.7 auch die CVS-Treiber. ;)


    Zitat

    Ich hab ma nen Strace gemacht:

    Code
    rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
    open("/dev/dvb/adapter0/frontend0", O_RDONLY) = -1 ENODEV (No such device)
    time([1103667336])                      = 1103667336
    getpid()                                = 5448
    rt_sigaction(SIGPIPE, {0xb7fc0e80, [], SA_RESTORER, 0xb7e566b8}, {SIG_DFL}, 8) =
     0


    Dein Tipp war also richtig....


    Puh, das sagt mir irgendwie gar nix. :gap


    Zitat

    Nur wie komme ich jetzt an das Frontend? *grybel*


    Ok, da die Kernel-Konfig des Original-LinVDR für 2.6.9 + CVS-DVB-Treiber ist, entspricht sie natürlich im Bereich der DVB-Konfig nicht ganz dem Vanilla-Kernel (wegen der oben angesprochenen anderen Modulbezeichnungen).
    Du solltest also einfach bei der Konfiguration des Kernels unter "Device Drivers -> Multimedia -> DVB" das entsprechende Frontend als Modul aktivieren.


    Gruß,


    Marcus

  • Zitat

    Original von DarkAngel


    Tja, nur verwendet das Original-LinVDR 0.7 auch die CVS-Treiber. ;)


    Achsoooo, da liegt der Hund begraben! Na dann kann ich ja lange rumsuchen... Der neue Kernel is grad am bauen, bin mal gespannt!

  • So, läuft! Das System bootet nun komplett vom NFS aus. Ist zwar noch nicht vollständig getestet, aber läuft erstmal. Musste noch einige Zeilen in den Init-Scripten ändern, bissl am Kernel rumfrickeln, aber nu läufts!


    Ein großes Danke an alle, die mir geholfen haben!

  • Aieyy, du hast Wünsche :) Ich hab mir das so zusammengefrickelt... Aber bevor ichs vergess schreib ichs mal auf, garkeine schlechte Idee.


    Ach, hast du eigentlich meine email bekommen?

Jetzt mitmachen!

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