[Anleitung] Debian 5.0 i386 (Lenny) Kernelupdate von kernel.org + Module für lirc (+ hg-dvb)

  • Für Debian 5.0 Lenny i386 angepasst.
    Sarge Anleitung und Etch Anleitung lassen wir mal so stehen.


    Beta Version


    Einführende Worte:
    Kann natürlich nicht garantieren, das das mit jeder Karte oder Hardware funktioniert.
    Sicherung vor größeren Änderungen sollte man auch machen.
    Keine Garantie, dass das System nach Kernelupdate noch funktioniert.
    Alten Kernel nicht löschen und sicherstellen, dass Grub den alten Kernel auch noch starten kann.


    Das ganze ist als Paket zu sehen, möglich das Teile für sich alleine nicht funktionieren.


    Kernel:


    Benötigtes Werkzeug installieren:

    Code
    apt-get install build-essential libncurses5-dev kernel-package bzip2 zlib1g-dev


    Ins Build Verzeichnis wechseln:

    Code
    cd /usr/src


    Kernel von kernel.org holen:

    Code
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.tar.bz2


    Kernel auspacken:

    Code
    tar xjf linux-2.6.32.tar.bz2


    Nach linux verlinken und ins Verzeichnis wechseln:

    Code
    rm linux
    ln -s linux-2.6.32 linux
    cd linux


    Config von hier oder z.B. 2.6.26 (Lenny Standard je nach CPU) verwenden:

    Code
    cp /boot/config-2.6.26-1-686 .config


    Makefile anpassen, für einen eindeutigen Namen:

    Code
    nano Makefile


    EXTRAVERSION = -dvb #(zum Beispiel)


    Konfigurieren des neuen Kernels:

    Code
    make menuconfig


    DVB-Treiber kontrollieren:
    Device Drivers --->
    Multimedia devices --->
    Digital Video Broadcasting Devices --->
    kontrollieren, und eventuell noch benötigte Treiber mit "M" als Modul hinzufügen.


    Framebuffer kontrollieren:
    Device Drivers --->
    Graphics support --->
    <*> Support for frame buffer devices
    [*] VESA VGA graphics support
    Console display driver support --->
    <*> Framebuffer Console support
    [*] Select compiled-in fonts
    [*] VGA 8x8 font
    [*] VGA 8x16 font
    Logo configuration --->
    [*] Bootup logo


    Noch ein paar Einstellungen in der .config:
    CONFIG_VIDEO_STRADIS=n


    Kernel kompilieren:

    Code
    make-kpkg binary --revision=dvb.0 --initrd
    #alternativ:
    #make-kpkg kernel_image kernel_headers kernel_source kernel_doc kernel_manual --revision=dvb.0 --initrd


    Auf ein :prost2 gehen


    Wenn man mal neu kompilieren muss - nach Änderungen z.B.
    Ansonsten nicht ausführen, da sonst Lirc nicht mehr gebaut werden kann.

    Code
    make-kpkg clean


    Kernel installieren:

    Code
    dpkg -i ../linux-image-2.6.32-dvb_dvb.0_i386.deb


    Kernel deinstallieren (zuvor mit nem anderen Kernel booten) - natürlich nur, wenn man ihn wieder loswerden will ;)

    Code
    dpkg -P linux-image-2.6.32-dvb


    Eintrag in Grub sollte automatisch erfolgen.
    Falls Kernel nicht bootet könnte es sein, das statt hda sda in der /boot/grub/menu.lst und in /etc/fstab erforderlich ist.
    Firmware laden / aktualisieren von linuxtv.org:
    Andere Firmware siehe VDR-Wiki.

    Code
    cd /lib/firmware/
    wget http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-2622
    ln -sf dvb-ttpci-01.fw-2622 dvb-ttpci-01.fw


    LIRC:


    Es muß bereits der neue Kernel laufen zum kompilieren.


    Anleitung für die Verwendung eines einfachen Empfängers am COM Port.
    Für USB oder sonstige Hardware entsprechend ändern.


    Benötigte Pakete holen

    Code
    apt-get install lirc dialog libusb-dev libasound2-dev libsvga1-dev libirman-dev autotools-dev devscripts dpatch setserial


    Die Datei /var/lib/setserial/autoserial.conf bearbeiten:

    Code
    /dev/ttyS0 uart none
    /dev/ttyS1 uart none


    Falls man die 2. serielle Schnittstelle für etwas anderes benötigt, eventuell nur Eintrag für die Com Schnittstelle erstellen an der der LIRC-Empfänger angeschlossen ist.


    Sourcen holen:

    Code
    cd /usr/src
    wget http://switch.dl.sourceforge.net/sourceforge/lirc/lirc-0.8.6.tar.bz2


    Auspacken

    Code
    tar xjf lirc-0.8.6.tar.bz2
    cd lirc-0.8.6
    ./setup.sh


    Konfigurieren:
    1 Driver configuration
    1 Home-brew (16x50 UART compatible serial port)


    (X) 1 COM1 (0x3f8, 4)
    ( ) 2 COM2 (0x2f8, 3)
    Je nachdem wo Hardware angeschlossen ist.



    [ ] 1 With transmitter diode
    [X] 2 Software generated carrier
    [ ] 3 Igor Cesko's variation


    Weiter mit
    3 Save configuration & run configure


    Code
    make
    cd drivers # Wir brauchen nur die Treiber
    make install


    Die Datei /etc/lirc/hardware.conf muß noch angepasst werden:

    Code
    LOAD_MODULES=true
    DRIVER="default"
    DEVICE="/dev/lirc0"
    MODULES="lirc_dev lirc_serial"


    Bitte kontrollieren, ob nach laden der Treiber wirklich /dev/lirc0 angelegt wurde.


    Lirc selber muß natürlich auch konfiguriert werden.
    Dies ist aber z.B. bei Heise schon gut beschrieben.


    HG-Treiber:


    Bei Auswahl der DVB Module im Kernel sind die HG Treiber nicht notwendig, außer die Karte ist zu neu für den aktuellen Kernel.


    Installieren von mercurial für den Zugriff auf linuxtv.org

    Code
    apt-get install mercurial


    Mercurial Treiber Sourcen besorgen:

    Code
    cd /usr/src
    hg clone http://linuxtv.org/hg/v4l-dvb


    Treiber anpassen:

    Code
    cd /usr/src/v4l-dvb
    make menuconfig


    Alle Module was man nicht braucht abwählen, dann kompiliert er schneller.
    Oder man hat Zeit und baut alles.

    Code
    make
    #oder
    make all


    Danach noch installieren:

    Code
    make install


    Sollte man mal neu bauen wollen vorher aufräumen:

    Code
    make clean


    Sehr wenig getestet, mein bevorzugter Weg ist der mit den Kernel eigenen Treibern.
    Bitte dazu auch im Wiki nachlesen.


    History:
    17.02.2009 - Beginn der Lenny Serie
    23.02.2009 - Änderung auf Kernel 2.6.28.7
    07.12.2009 - Änderung auf Kernel 2.6.32

  • Zitat

    Original von wilderigel


    Sourcen holen:

    Code
    cd /usr/src
    wget http://switch.dl.sourceforge.net/sourceforge/lirc/lirc-0.8.4a.tar.bz2


    Auspacken

    Code
    tar xjf lirc-0.8.4a.tar.bz2
    cd lirc-0.8.4a
    ./setup.sh



    An der Stelle bin ich hängengeblieben:
    icy:/usr/src/lirc-0.8.4a# ./setup.sh
    dialog not found!


    Was fehlt?


    Ansonsten aber schon mal Danke für die Anleitung :)


    Garry

    VDR-Tower(yaVDR0.5): ASROCK N68c-S UCC + MSI N210 MDIG/D3NVIDIA630 + Doppeltunerkarte TBS 6981 + 2*DVBS USB PCTV461e
    Pundit Ah2 2xSkystar2.6c + HP NovaTD über DVI HDMI (yavdr0.3) stillgelegt
    Asus M3N78-EMH HDMI + GT630 single Slot mit YAVDR0.5 2xTT cinergy DVB-C +DVBS USB PCTV461e+ Hauppauge USB TD (DUAL DVB-T) 2 x MediaMVP+RaspberryVomp + Raspbmc

  • Und für alle die eine /dev/rtc für den NVRAM-WakeUp brauchen,
    unter
    Processor type and features --->
    [ ] HPET Timer Support


    abschalten, da sonst kein /dev/rtc[0] erzeugt wird.

    Und unter Device-Driver und dort sicherstellen


    <*> Real Time Clock --->
    [*] /dev/rtcN (character devices)
    <*> PC-style 'CMOS'


    weiteres dazu siehe z.B. Probleme mit /dev/rtc und nvram (c't vdr 6.2, kernel 2.6.26-5) oder Probleme mit /dev/rtc und nvram (c't vdr 6.2, kernel 2.6.26-5)


    Anmerkungen:
    Und unter "Device Drivers" -> "Serial ATA (prod) and Parallel ATA" sollte man prüfen ob die passenden ATA-Treiber auswählt sind, sonst findet er die Festplatte nicht!


    Und wenn man neim Kompilieren
    --revision=YY.MM.DD setzt, dann weiss man wann man den kernel erstellt hat.


    BTW.: 2.6.28.6 funktioniert auch schon...

    Server: Hardware: Intel DH77KC, Celeron G1610, 8GB RAM, 2x 5TB HDD, 2x WD 1,9TB HDD; 1x 64 GB SSD (root), System Ubuntu 18.4 / YaVDR ansible headless
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

    4 Mal editiert, zuletzt von Negge ()

  • ...vielleicht sehe ich ja das Brett vor lauter Bäumen nicht... aber obwohl ich
    Kernel 2.6.28.7 genommen habe, aus Verzweifelung die aktuellsten hg Treiber noch nachkompiliert habe, meckert make das ich doch die API in der version 5.0 benutzen möchte...


    hd-vdr:/usr/src/VDR# make
    In file included from audio.c:12:
    dvbdevice.h:19:2: error: #error VDR requires Linux DVB driver API version 5.0!
    In file included from dvbdevice.c:10:
    dvbdevice.h:19:2: error: #error VDR requires Linux DVB driver API version 5.0!
    In file included from dvbosd.c:15:
    dvbdevice.h:19:2: error: #error VDR requires Linux DVB driver API version 5.0!
    In file included from eitscan.c:13:
    dvbdevice.h:19:2: error: #error VDR requires Linux DVB driver API version 5.0!
    font.c:14:10: error: #include expects "FILENAME" or <FILENAME>
    ^Cmake: *** Deleting file `.dependencies'



    Warum?

  • Hallo zusammen,


    gibts schon nen vernünftigen CDFS - Patch für den 2..6.28 'er Kernel


    Grüße
    Wolfgang

    Clients
    VDR1: yaVDR 0.5 stable auf ZOTAC ION A 4Gbyte RAM / mit ATRIC - IR - Einschalter softhddevice per streamdev am Server
    VDR2 / VDR3: MLD 5.1 auf Raspberry pi3
    2 x VOMP 0.4 auf mediamvp
    Server
    Cubietruck, Lubuntu Trusty, vdr aus yaVDR - sourcen, 1 x TT S2-3600, 1 x TT S2-3650 CI, 1 x sundtek SkyTV III, 1 x sundtek SkyTV IV

  • ...angenommen ich möchte die Treiber im 2.6.28-7er Kernel benutzen, wie muß ich die libdvb kompilieren und wohin muß ich sie verlinken bzw. in Make.conf eintragen damit make sie beim kompilieren finden kann?


    Irgendwie bin ich verwirrt, vielleicht ist das Problem auch einfacher: Ich habe v4l-dvb UND die treiber aus den Kernel-Sourcen vermengt....;-)


    Danke für Eure Hilfe!

  • Hallo Wilderigel,


    was hältst du davon, noch eine Doku über die Erstellung eines lirc und eines dvb
    Debian Paketes dazu zuschreiben?


    Gruß vdr-box

  • ja, ich meine echtes Debian Paket.


    Passend zu dem Kernel, welchen man vorher gebaut hat.


    Dann hätte man 3 Pakete welche man auch fein wieder entfernen könnte.


    Gruß vdr-box

  • Hallo,


    ich wollte eigetnlich nur lirc zum laufen bringen und bin dann durch 1001 Breitrag hier gelandet.


    Nach "/etc/init.d/lirc start" meldet mein System immer


    Code
    #####################################################
    ## I couldn't load the required kernel modules     ##
    ## You should install lirc-modules-source to build ##
    ## kernel support for your hardware.               ##
    #####################################################
    ## If this message is not appropriate you may set  ##
    ## LOAD_MODULES=false in /etc/lirc/hardware.conf   ## 
    #####################################################


    ich habe das so verstanden das ich den Treiber neu bauen muss. Ich habe den Kernel


    Code
    Linux VDR 2.6.28-etobi.3-486 #1 Sat May 16 23:03:43 UTC 2009 i686 GNU/Linux


    Als ich das Kernel-Update gemacht habe, konnte ich zu diesem Kernel keine "Header" finden, habe also keine installiert.


    Wenn ich nun den lirc-Teil der Anleitung mache, bricht es am weil die Linux Sourcen brauche. Also habe ich wie oben die Sourcen geholt. Ich kann aber kein

    Code
    rm linux


    machen. Wenn ich mit dem MC gucke steht da

    Code
    !linux


    ist das ein Link?


    Kann ich die Anleitung bei meinem Kernel überhaupt verwenden?


    Der Holzwurm


    P.S. Im meiner Garage wohnt ein Igel, noch ein kleiner aber mach Haufen wie ein großer.

  • apt-get install linux-headers-2.6.28-etobi.3-486


    wenns das nicht gibt wirds mit lirc nix.


    oder halt komplett anleitung durchmachen.
    siehe auch diese zeile im ersten post:

    Zitat

    Das ganze ist als Paket zu sehen, möglich das Teile für sich alleine nicht funktionieren.


    :jb


    ansonsten gaebs noch:
    [Anleitung] ctvdr5 Lirc Module bauen - aber auch uralt

Jetzt mitmachen!

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