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 :)