[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
    1. apt-get install build-essential libncurses5-dev kernel-package bzip2 zlib1g-dev


    Ins Build Verzeichnis wechseln:

    Code
    1. cd /usr/src


    Kernel von kernel.org holen:

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


    Kernel auspacken:

    Code
    1. tar xjf linux-2.6.32.tar.bz2


    Nach linux verlinken und ins Verzeichnis wechseln:

    Code
    1. rm linux
    2. ln -s linux-2.6.32 linux
    3. cd linux


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

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


    Makefile anpassen, für einen eindeutigen Namen:

    Code
    1. nano Makefile


    EXTRAVERSION = -dvb #(zum Beispiel)


    Konfigurieren des neuen Kernels:

    Code
    1. 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
    1. make-kpkg binary --revision=dvb.0 --initrd
    2. #alternativ:
    3. #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
    1. make-kpkg clean


    Kernel installieren:

    Code
    1. 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
    1. 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
    1. cd /lib/firmware/
    2. wget http://www.linuxtv.org/downloads/firmware/dvb-ttpci-01.fw-2622
    3. 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
    1. 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
    1. /dev/ttyS0 uart none
    2. /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
    1. cd /usr/src
    2. wget http://switch.dl.sourceforge.net/sourceforge/lirc/lirc-0.8.6.tar.bz2


    Auspacken

    Code
    1. tar xjf lirc-0.8.6.tar.bz2
    2. cd lirc-0.8.6
    3. ./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
    1. make
    2. cd drivers # Wir brauchen nur die Treiber
    3. make install


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

    Code
    1. LOAD_MODULES=true
    2. DRIVER="default"
    3. DEVICE="/dev/lirc0"
    4. 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
    1. apt-get install mercurial


    Mercurial Treiber Sourcen besorgen:

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


    Treiber anpassen:

    Code
    1. cd /usr/src/v4l-dvb
    2. make menuconfig


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

    Code
    1. make
    2. #oder
    3. make all


    Danach noch installieren:

    Code
    1. make install


    Sollte man mal neu bauen wollen vorher aufräumen:

    Code
    1. 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

  • Quote

    Original von wilderigel


    Sourcen holen:

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


    Auspacken

    Code
    1. tar xjf lirc-0.8.4a.tar.bz2
    2. cd lirc-0.8.4a
    3. ./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
    Wohnzimmer-Client: Hardware: Asus At5-ion-T Deluxe (ION2-Board), 2GB Ram, 30GB SSD, USBASP-IR-Emfänger und Einschalter, ohne DVB-Karte, passiv gekühltSystem: YaVDR 0.5, Zugriff auf Server per remote-frontend (defekt).
    Client: Hardware: Lenovo Q150 (nur Netzwerk, 1GB RAM, ohne DVB-Karte, Igor-USB-Empfänger) System: Ubuntu 18.4 / YaVDR ansible

    The post was edited 4 times, last by 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
    1. #####################################################
    2. ## I couldn't load the required kernel modules ##
    3. ## You should install lirc-modules-source to build ##
    4. ## kernel support for your hardware. ##
    5. #####################################################
    6. ## If this message is not appropriate you may set ##
    7. ## LOAD_MODULES=false in /etc/lirc/hardware.conf ##
    8. #####################################################


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


    Code
    1. 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
    1. rm linux


    machen. Wenn ich mit dem MC gucke steht da

    Code
    1. !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:

    Quote

    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