RSS

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

SNAGHTML3cbdfec7

SNAGHTML3cbe336d

SNAGHTML3cbe6e89

SNAGHTML3cbe9a2b

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

SNAGHTML3cc24078

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

 

SNAGHTML3cc58d9e

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

SNAGHTML3cc4f767

Viel Spaß beim Kompilieren :)

Eingabe Informationen

Unter: Hypervisor

Tags:

Über den Autor: Jan Kappen ist ausgebildeter Fachinformatiker in der Richtung Systemintegration. Er hat seine Ausbildung im Sommer 2008 abgeschlossen und arbeitet seitdem bei der Rachfahl IT-Solutions GmbH & Co. KG. Jan Kappen ist unter anderen MCITP Server Administrator, Enterprise Administrator und Enterprise Messaging Administrator 2010 sowie MCTS für System Center Virtual Machine Manager 2008, Windows Server 2008 Active Directory, Windows Server Virtualization und Windows Server 2008 Network Infrastructure.

One Response to “Linux Kernel 3.3 final unter Debian Squeeze kompilieren”

  1. Marcel sagt:

    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

Antworten