Kernel für LinVDR in Anlehnung an DarkAngel kompilieren

  • Hallo,


    momentan habe ich ein Problem eine ITE 8212 IDE Controller-Karte mit Dark-Angels Kernel zum laufen zu bringen. Hierzu stehe ich auch schon in regem Kontakt mit DarkAngel.


    Das Forum will ich selbstverständlich auch daran teilhaben lassen, weshalb ich diesen Thread eröffnet habe.


    Was mein Ziel wäre: Sich selber einen Kernel für LinVDR zu backen, mit unterstützung von indivdueller Hardware. Diesen Kernel allerdings über den Start von KANOTIX erstellen und dann als Package für LinVDR bereitstellen. Dies hätte den Vorteil, dass mein LinVDR nicht erst mit Entwicklertools "vollgestopft" werden müsste.


    Da ich leider "noch" recht wenig Ahnung von diesen ganzen Kernel-Themen habe wäre es natürlich interessant zu wissen, ob denn dieses Vorgehen mit Kanotix überhaupt möglich ist.


    Ich könnte es mir ungefähr so vorstellen:


    Kanotix booten. Eine vorhandene IDE mounten. Ein Verzeichnis temporär anlegen. Dort die Kernel-Sourcen hineinkopieren. Den Kernel mit den gewünschten Optionen backen und ....weiter weiß ich dann leider auch nicht. Am Ende soll es eben auch eine Datei sein, die ich mit dem deb-tool unter linvdr installieren kann.


    Ich hoffe einfach mal, dass so etwas machbar ist.


    Bin schon auf die Meinungen hier aus dem Forum gespannt.


    Gruß,


    dvdjimmy

    HW1: HP Vectra VL400 | 800MHz PIII | Hauppauge Nexus-S Rev. 2.2 | Technisat Airstar2 DVB-T | Componentenausgang über SCART an Standard-Röhren TV


    SW 1: easyVDR 0.6

  • Ich mache das immer so:


    Entwicklungsumgebung in einem Verzeichnis auf dem LinVDR Rechner angelegt (Debian Woody mit debootstrap + Entwicklungstools laut www.linvdr.org eingerichtet). Dieses Verzeichnis wird dann mit chroot zu einem "eigenständigen" System auf dem ich Entwickeln kann. Das original LinVDR bleibt dabei unangetastet, der VDR läuft nebenher und kann aufnehmen. Also auch kein Nutzungsausfall ;) Man kann aber nichts testen was Devices oder so benötigt (z.B. ein gepatchtes und kompiliertes VDR Binary). Dazu muss man dann doch das Original LinVDR hernehmen, aber das will man dann ja eh ;) Vorsichtige Naturen machen natürlich vorher ein Backup, z.B. mit dem hier: MyLinVDR


    Das Verzeichnis kann aber auch auf einem anderen Rechner liegen, es muss nicht zwingend ein LinVDR als Basissystem laufen.


    Mar(Mahlzeit)kus

  • Das sollte dann ja eigentlich mit Kanotix genauso gehen...


    Die Frage ist nur, wie ich dann den Kernel kompiliere.


    Grüße,


    dvdjimmy

    HW1: HP Vectra VL400 | 800MHz PIII | Hauppauge Nexus-S Rev. 2.2 | Technisat Airstar2 DVB-T | Componentenausgang über SCART an Standard-Röhren TV


    SW 1: easyVDR 0.6

  • Hallo,


    das Ganze unter Kanotix zu machen, ist 'ne gute Idee. Solange der gesamte Kernel mit all seinen Treibern neu übersetzt wird, kann man das unter jedem x-beliebigen System machen. Man braucht dazu kein zusätzliches Debian in einer Chroot-Umgebung einzurichten. Ich kompiliere den Kernel z.B. unter Gentoo.


    Hier noch mal eine kurze Anleitung zur Vorgehensweise:


    1. Quellen vom Kernel 2.6.12.6 von hier laden und nach /usr/src/ entpacken


    2. Meinen Patch, der Anpassungen und zusätzliche Treiber enthält von hier laden


    3. Patch entpacken: tar xjvf /path/to/ksrc-2.6.12.2-linvdr.tar.bz2 -C /


    4. Patch anwenden: cd /usr/src/linux; bzcat ../patch-2.6.12.2-linvdr.bz2 | patch -p1


    5. AC-Patchset von hier laden


    6. Patch anwenden: cp /path/to/patch-2.6.11-ac7.bz2 /usr/src/linux; cd /usr/src/linux; bzcat patch-2.6.11-ac7.bz2 | patch -p1
    -> ob das gut geht, kann ich nicht sagen, da der Patch eigentlich für den Kernel 2.6.11 gedacht ist. Es könnte also durchaus zu Rejects kommen, die dann evtl. per Hand aufgelöst werden müssen.


    7. Den Kernel mit "make menuconfig" anpassen
    -> in Deinem Fall den ITE8212-Treiber unter "Device Drivers->ATA/ATAPI/MFM/RLL support" hinzufügen


    8. Das Script make_kernel.sh bearbeiten (eine Verzeichnisebene tiefer, also "cd ..")


    Zitat

    DIR=/mnt/linvdr-0.7
    VERSION=2.6.12.2


    Hier das Zielverzeichnis für den Kernel (z.B. /tmp) und die Version anpassen:


    Zitat

    DIR=/tmp
    VERSION=2.6.12.6-ac7


    9. Das Script "make_kernel.sh" ausführen


    -> jetzt sollte der fertige Kernel im Verzeichnis /tmp liegen. Nun kann man die Verzeichnisse "boot" und "lib" packen


    Zitat

    cd /tmp; tar cjvf kernel.tar.bz2 /boot/ /lib


    und auf dem LinVDR-System wieder entpacken


    Zitat

    tar xjvf /path/to/kernel.tar.bz2 -c /


    So, ich hoffe das war ausführlich genug. ;)


    Gruß,


    Marcus

  • DarkAngel


    Hi,


    wirklich schön ausführlich die Anleitung. Hast Du besondere Präferenzen zu Kernel 2.6.12-6 oder kann man auch gleich den 2.6.13 nehmen?

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Zitat

    Original von Scorp
    Hast Du besondere Präferenzen zu Kernel 2.6.12-6 oder kann man auch gleich den 2.6.13 nehmen?


    Du kannst ruhig den 2.6.13 nehmen, nur wird dadurch die Wahrscheinlichkeit, daß der Patch bzw. die Patches noch funktionieren, immer geringer. Außerdem ist nicht gesichert, daß die zusätzlichen Treiber (das sind die unter /usr/src/kmodules) mit 2.6.13 funzen. Auf jeden Fall würde ich vor dem Kompilieren ein "cvs -z9 up -dP" in /usr/src/kmodules/dvb-kernel und in /usr/src/kmodules/madwifi absetzen, wenn Du 2.6.13 verwendest.


    Gruß,


    Marcus

  • Hi,


    ich werds mal auf meinem Sarge System probieren und zunächst mal bei 2.6.12-6 bleiben um nicht noch unnötig zusätzliche Probleme zu provozieren. Zumindest der madwifi Zweig ist für mich sowieso momentan uninteressant.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • DarkAngel: Vielen Dank für die sehr ausführliche Anleitung. Das ist genau das was ich mir vorgestellt habe.


    Mittlerweile habe ich auch gesehen, dass im 2.6.13er Kernel bereits die ite 8212 eingebunden ist. Deshalb sollte der Patch nicht mehr unbedingt notwendig sein. Deinen Patch muss ich jedoch nach wie vor einspielen, oder?


    Werde das gleich heute abend mal ausprobieren.


    Gruß und vielen Dank.


    dvdjimmy

    HW1: HP Vectra VL400 | 800MHz PIII | Hauppauge Nexus-S Rev. 2.2 | Technisat Airstar2 DVB-T | Componentenausgang über SCART an Standard-Röhren TV


    SW 1: easyVDR 0.6

  • Zitat

    Original von DarkAngel
    Hallo,


    das Ganze unter Kanotix zu machen, ist 'ne gute Idee. Solange der gesamte Kernel mit all seinen Treibern neu übersetzt wird, kann man das unter jedem x-beliebigen System machen. Man braucht dazu kein zusätzliches Debian in einer Chroot-Umgebung einzurichten. Ich kompiliere den Kernel z.B. unter Gentoo.


    Servus,


    wenns beim Kernel bleibt braucht man das nicht, wennst aber den VDR auch noch anpackst und selbst übersetzt (weil z.B. ein Plugin fehlt) wirst nicht drum rumkommen. ;)


    Und ich kann LinVDR nebenher weiternutzen und Aufnehmen/ DVD erstellen etc. (ich hab momentan nur die eine Linux-Kiste mit genug Platz) ;)


    Mar(Mahlzeit)kus

  • DarkAngel


    Was genau macht den das AC-Patchset?

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Vielleicht kann ich dir das auch beantworten.


    Das AC-Patchset ist ein spezielles Patch-Set um beispielsweise die ITE 8212 Controller Karte in den Kernel einzubacken.


    ist also nicht wirklich notwendig für jene, welche so eine Karte nicht haben :)


    Hoffe dir damit geholfen zu haben.


    Gruß,


    dvdjimmy

    HW1: HP Vectra VL400 | 800MHz PIII | Hauppauge Nexus-S Rev. 2.2 | Technisat Airstar2 DVB-T | Componentenausgang über SCART an Standard-Röhren TV


    SW 1: easyVDR 0.6

  • dvdjimmy


    Ach so, ich hab das instinktiv mal weggelassen.


    Danke.



    Beim 2.6.13er Kernel funktionierten die Patches erwartungsgemäß nicht mehr so einfach... Aber der 2.6.12-6 lief durch und wird morgen getestet.

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

    Einmal editiert, zuletzt von Scorp ()

  • DarkAngel: Tja, leider hat noch nicht einmal deine ausführliche Anleitung geholfen.


    Kann den ITE8212 Patch nicht ohne Fehler einspielen. Und wenn ich direkt den 2.6.13 verwenden will, habe ich mit deinem Patch ein Problem.....


    Vielleicht läßt es sich ja irgendwie einrichten, dass du in 5 Minuten "kurz" einen 2.6.13er Kernel bauen kannst. Würde mich natürlich am meisten freuen :)


    Vielen Dank für die große Hilfe bisher.


    Gruß,


    dvdjimmy

    HW1: HP Vectra VL400 | 800MHz PIII | Hauppauge Nexus-S Rev. 2.2 | Technisat Airstar2 DVB-T | Componentenausgang über SCART an Standard-Röhren TV


    SW 1: easyVDR 0.6

    Einmal editiert, zuletzt von dvdjimmy ()

  • dvdjimmy


    Warum probierst Du's nicht mal mit nem 2.6.12-2 dafür waren die Patches doch ursprünglich wenn ich mich nicht irre...

    HD DVB-C System / Ubuntu 14.04 x64 / Kernel 3.13.0-48 x64; VDR 2.2.x; VDRadmin 3.6.10 / ACPI Wakeup

    SoftHD-Device GIT / Vdpau / Nvidia 337.25

    ASUS AT5IONT-I; Atom D525; 4GB; Nvidia GT218; 1x DD Cine C/T v6; 1x DD DuoFlex C/T v2; (20~40 Watt)

  • Also ich hatte letztens nen 2.6.13rc6 Kernel ohne Probs am Laufen mit linvdr..
    Muss halt vor dem compilieren einige Sachen aktivert werden (gerade DVB-Kram) aber wenn man sind von den alten Kernel ne .config nimmt , ist das nicht mehr ganz so aufwendig.


    Das einzige Problem was ich hatte, war das LIRC nicht zur Mitarbeit zu bewegen war unter den 2.6.13rc6 Kernel - trotz kompilieren der lirc 0.7.2 final oder auch aus dem CVS . Soweit wie ich nachgeforscht habe, wird wohl ein passender Patch benötigt (den ich aber für den 2.6.13er Kernel ned gefunden habe :(


    Da nun der 2.6.13 final raus ist und es hier gerade um "Kernel-backen" geht, wollte ich mal die Gunst der Stunde nutzen und fragen, ob nicht einer nen passenden LIRC-Patch für 2.6.13 zur Hand hat, oder ggf. nen alten Lirc-Patch, den man dann anpassen kann ?



    ciao,


    Markus

    Hardware: MB Asrock B75 Pro3-M, CPU Pentium G2120, RAM 4GB DDR-3, 60GB SSD System, 3TB HD Data, GFX GT610 HDMI, CineS2 V6.5, IR-USBWakup + Logitech Harmony, MiMO Displaylink UM710S 7" Display
    Software: yaVDR 0.5 testing repo

Jetzt mitmachen!

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