Linux Kernel 3.3 final unter Debian Squeeze kompilieren
Nachdem ich Ende Januar die Kompilierung eines eigenen Kernels mit einer Test-Version des Kernels 3.3 beschrieben habe (Hyper-V-Server.de: Linux Kernel 3.3 unter Debian Squeeze kompilieren), hier nun eine kleine Anleitung zur Kompilierung mit der finalen Version des Kernels.
Im “alten” Beitrag haben wir in den Kommentaren ein paar Dinge besprochen und festgestellt, diese würde ich hier gerne einbringen und mich bei Hans bedanken, der mir einige Tipps gegeben hat und ein paar Fehler korrigiert hat, dafür vielen Dank!
Wir beginnen erneut mit einem komplett neuem, per net-install (Download Debian Netzinstallation-Image) installiertem System. Als erstes starten wir mit dem Download und der Installation der benötigten Pakete. An dieser Stelle ist die erste Änderung, wir laden und installieren nicht mehr die linux-header und linux-sources des aktuellen Kernels
apt-get update aptitude update apt-get install -y build-essential apt-get install -y ncurses-dev kernel-package fakeroot cd /usr/src wget -c https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.3.tar.bz2 bzip2 -d linux-3.3.tar.bz2 tar xf linux-3.3.tar cd linux-3.3 cp /boot/config* ./.config make menuconfig
Wir wählen die benötigten Pakete aus
Es gab in dem vorherigen Beitrag jemand, der Probleme mit der Netzwerkkarte hatte. Hans hat sich diesem Problem angenommen und die folgende Lösung bereitgestellt:
In der .config gibt es weitere Module, die man aktivieren muss. Diese werden bei make menuconfig nicht angezeigt!
Dafür einfach die Datei .config mit z.B. nano editieren und folgende Zeilen äbändern:
# CONFIG_HYPERV_NET is not set
# CONFIG_HID_HYPERV_MOUSE is not set
Sie müssen wie folgt aussehen:
CONFIG_HYPERV_NET=m
CONFIG_HID_HYPERV_MOUSE=m
Wenn man nun weiter nach Tutorial vorgeht funktioniert es!
Die Netzwerkkarte wird richtig erkannt und auch der Mauszeiger ist nicht mehr im Hyper-V-Fenster gefangen!
Die Datei sieht wie folgt aus
Nachdem diese Einstellungen gemacht wurden, können wir mit der Konvertierung fortfahren
make-kpkg clean fakeroot make-kpkg --initrd --append-to-version=-hyperv kernel_image kernel_headers
Nachdem die Kompilierung erfolgreich beendet wurde, beginnen wir mit der Installation und der Anpassung der modules-Datei
cd .. dpkg -i linux-headers-3.3.0-hyperv_3.3.0-hyperv-10.00.Custom_amd64.deb linux-image-3.3.0-hyperv_3.3.0-hyperv-10.00.Custom_amd64.deb echo -e "hv_vmbus\nhv_storvsc\nhv_blkvsc\nhv_netvsc" >> /etc/initramfs-tools/modules update-initramfs -u -k 3.3.0-hyperv reboot
Das System sollte problemlos booten und ein uname –a zeigt die aktuell genutzte Version
Viel Spaß beim Kompilieren :)








Danke für den Beitrag!
Mal eine generelle Frage: Wenn ich derzeit ein produktives Debian unter Hyper-V aufsetzen muss, ist es dann zu empfehlen den stabilen Kernel 3.3 final unter Debian Squeeze zu verwenden (wie hier beschrieben), damit die Integration Services direkt mit drin sind, oder sollte man eher den aktuell unterstützten Kernel für Debian Squeeze verwenden?
Wie verhält sich das eigentlich, wenn Debian die neue Version mit dem neuen 3er Kernel rausbringt … ist so ein selbst kompiliertes System dann upgradefähig?
Gruß Marcel