Donnerstag, Dezember 20, 2007
Mit Debian einen eigenen Kernel bauen
Ich wollte unter Debian Filmaufnahmen per Kino auf die Festplatte importieren und musste feststellen, dass meine Kernelversion (2.6.22-3-386) ein experimentelles Firewire Stack enthält, so dass ich die notwendigen Kernelmodule (raw1394) nicht laden konnte. Eine Nachforschung im Debian Forum brachte die Lösung: selber Kernel bauen. Tief durchatmen, ein wenig im Netz stöbern und diese zwei Seiten haben mir dann sehr geholfen. Danke an die Autoren!Aber der Reihe nach:
Wir brauchen die beiden Pakete (per Synaptic):
sux
kernel-package
Dann hole ich mir auf www.kernel.org die Kernel Source, in meinem Fall die als .bz2 komprimierte Version 2.6.22-4.
Ich wechsle in das Verzeichnis:
% cd /usr/src
% su
# tar xvjf /Pfad/zum/Download/linux-2.6.22-4.tar.bz2
Gemäss erwähnter Vorlage wechsle ich in das neue Verzeichnis:
# cd linux-2.6.22-4
und kopiere mir die config Datei des bisherigen Kernels, bei mir also:
# cp /boot/config-linux-2.6.22-3-386 .config
Die config des alten Kernels wird geklont:
# make oldconfig
Da das mein erster Kernel ist, will ich lieber mit Gui arbeiten, also:
# sux
# make xconfig
Hier kann ich jetzt in Ruhe die notwendigen Einstellungen durchgehen. In meinem konkreten Fall bedeutet das das Abwählen des experimentellen Firewire-Stacks ( siehe unter IEEE 1394) und Auswählen des bisherigen Stacks.
Nach einem Klick auf das Diskettensymbol und quit geht es dann richtig los.
Da ich ja nach einem neuen Kernel auch die Treiber für die Grafikkarte neu installieren muss, werde ich die benötigten Kernel Headers gleich mitinstallieren.
# make-kpkg binary -rev backen01 --initrd kernel_image && make-kpkg kernel_headers
Jetzt kann man dem Rechner erst mal Zeit geben, wenn alles (hoffentlich) gut durchgelaufen ist, bleibt noch die Installation:
# dpkg -i linux-image-2.6.22.4_backen01_i386.deb
# dpkg -i linux-headers-2.6.22.4_backen01_i386.deb
Nach einem Neustart kann ich dann den neuen Kernel in Grub auswählen (ich musste mit meinen beiden Festplatten und insgesamt 3 Betriebssystemen hier etwas basteln, aber das würde jetzt den Rahmen sprengen) und zB. das Grafikartenmodul neu installieren und dass Modul in den Kernel laden lassen. Ab jetzt war es mir auch möglich, die notwendigen Firewire Module für Kino zu laden und die Kamera über die Firewire Schnittstelle anzusprechen.
Fazit: Für einen ersten Versuch ist es nicht schlecht gelaufen.
Labels: Debian Firewire Kernel Kernel-Headers