Linux Kernel 3.3 unter Debian Squeeze kompilieren
Der Linux Kernel 3.3 ist als Release Candidate verfügbar, die wohl (für uns) wichtigste Änderung ist, dass die Hyper-V Treiber aus dem staging-Bereich raus sind und nun “in der Treiberecke” zu finden sind. Durch den Umstand, dass Microsoft offiziellen Support bietet, wurde dies möglich. Weitere Informationen zu den Neuerungen finden man auf der folgende Seite:
Heise.de – Kernel-Log: Funktionsumfang von Linux 3.3 steht
Da ich mich ja ganz gerne mit dem Thema Linux und Hyper-V beschäftige, hier eine kleine Anleitung zur Kompilierung des Kernels 3.3. Wie schon erwähnt, der Kernel ist noch in der Test-Phase. Das eine VM mit solch einem Kernel nicht produktiv genutzt werden sollte ist ja eigentlich klar ;)
Update 04.04.12: Der Kernel 3.3 ist final draußen, ein eigener Artikel mit den integrierten Beschreibungen aus den Kommentaren hier findet ihr hier: Linux Kernel 3.3 final unter Debian Squeeze kompilieren
Zur Installation wird das aktuelle netinstall-Image von Debian genutzt, zu finden wie gewohnt unter http://www.debian.org/CD/netinst/. Nach der Grundinstallation beginnt die Vorbereitung des Systems und die Kompilierung des Kernels
apt-get update
aptitude update
apt-get install -y build-essential
apt-get install -y ncurses-dev kernel-package fakeroot
apt-get install -y linux-headers-`uname -r`
apt-get install -y linux-source-`uname -r | awk -F"-" '{print $1}'`
cd /usr/src
wget -c https://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-3.3-rc1.tar.bz2
bzip2 -d linux-3.3-rc1.tar.bz2
tar xf linux-3.3-rc1.tar
cd linux-3.3-rc1
cp /boot/config* ./.config
make menuconfig
Die Treiber sind wie folgt zu finden
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-hyperv kernel_image kernel_headers
Die Kompilierung beginnt
cd ..
dpkg -i linux-headers-3.3.0-rc1-hyperv_3.3.0-rc1-hyperv-10.00.Custom_amd64.deb linux-image-3.3.0-rc1-hyperv_3.3.0-rc1-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-rc1-hyperv
reboot
Der erste Boot nach der Kompilierung und dem Neustart des Systems
Das System bootet sauber hoch, wie man erkennen kann läuft das System mit dem soeben kompilierten Kernel. Ein Auszug aus der Datei /proc/cpuinfo zeigt, dass die VM mit vier vCPUs konfiguriert wurde, die alle vier erkannt werden.
Viel Spaß beim testen :)