RSS

Linux Kernel 3.4.6 unter Debian Squeeze kompilieren

Ein bisschen Tradition haben diese Anleitungen ja hier auf dem Blog schon, und da ich heute einen Kernel der aktuellen stable-Version kompiliert habe, habe ich die genutzten Befehle auch direkt mal hier in einem Beitrag verarbeitet. Als Grundsystem wird ein Debian 6.0.5 genutzt, der finale Kernel trägt die Versionsnummer 3.4.6. Für alle, für die dieser Beitrag die erste Berührung mit diesem Thema bzw. dieser kleinen Reihe hier im Blog ist, hier ein paar benötigte Links zu der Software sowie die älteren Beträge mit den älteren Kernel-Versionen. In jedem Beitrag und (noch viel wichtiger) in den Kommentaren unter den jeweiligen Beiträgen stehen einige interessante und vor allem nützliche Informationen, die von Lesern als Kommentar hier gelassen wurden (hierfür von mir ein großes Dankeschön :)). Wer Probleme oder Fragen hat bzw. sich näher mit dem Thema beschäftigen will stößt hier wie ich auf einige interessante Informationen und Tipps.

Download von Debian

Kompilierung eines eigenen Debian Squeeze-Kernels 2.6.38 mit Hyper-V Client Treiber / Integrationsdienste

Kompilierung eines eigenen Debian Squeeze-Kernels 3.1.4 mit Hyper-V Client Treiber / Integrationsdienste

Linux Kernel 3.3 final unter Debian Squeeze kompilieren

Linux Kernel 3.4 RC1 unter Debian Squeeze kompilieren

Nachdem wir das Grundsystem installiert haben, erwartet uns wie gewohnt der Kernel 2.6.32. Mit den folgenden Befehlen kompilieren und installieren den Kernel 3.4.6:

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/linux-3.4.6.tar.bz2
bzip2 -d linux-3.4.6.tar.bz2
tar xf linux-3.4.6.tar
cd linux-3.4.6
cp /boot/config* ./.config
make menuconfig
vi .config
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-hyperv kernel_image kernel_headers
cd ..
dpkg -i linux-image-3.4.6-hyperv_3.4.6-hyperv-10.00.Custom_amd64.deb linux-headers-3.4.6-hyperv_3.4.6-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.4.6-hyperv

Die ersten Einstellungen muss man wählen, nachdem der Befehl make menuconfig abgesetzt wurde. Die Hyper-V-Treiber befinden sich unter

Device Drivers => Microsoft Hyper-V guest support => Microsoft Hyper-V client drivers

image

image

image

Nachdem wir die Konfiguration verlassen und gespeichert haben…

image

… editieren wir die Datei .config und setzen manuell zwei Werte:

  • CONFIG_HID_HYPERV_MOUSE=m
  • CONFIG_HYPERV_NET=m

image

image

Dies bewirkt, dass es weniger Probleme mit der Netzwerkkarte gibt (die in einigen Fällen aufgetreten sind) und dass die Maus nicht mehr in der VM gefangen wird. Danach läuft die Kompilierung und die Installation wie gewohnt weiter, die Pakete werden installiert, die modules-Datei wird erweitert und wir führen update-initramfs aus, damit die eingetragenen Module aktiv genutzt werden. Nach einem Neustart und einem erfolgreichen Boot steht einer Nutzung nichts mehr im Wege…

image

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.

15 Responses to “Linux Kernel 3.4.6 unter Debian Squeeze kompilieren”

  1. Mathieu Simon sagt:

    Nur zur Erinnerung: Der in den Squeeze-Backports vorhandene Kernel basiert auf Kernel 3.2 – enthält aber die von 3.4 gebackporteten Hyper-V Treiber.

    Wer nach einer frischen Installation von Squeeze schnell auf eine zuverlässige Hyper-V Unterstützung umstellen will, nimmt den Wheezy-Kernel aus den Backports und freut sich schon mal bevor die Compiler angeworfen werden müssen. ;-)

  2. Daniel sagt:

    Funktioniert auch mit dem Linux Kernel 3.4.7

  3. Daniel Migowski sagt:

    Nebenbei: Man kann

    bzip2 -d linux-3.4.6.tar.bz2
    tar xf linux-3.4.6.tar

    auch zu

    tar xfj linux-3.4.6.tar.bz2

    zusammenfassen.

  4. Kuappo sagt:

    Ich hab diese DEB Pakete installiert:

    linux-image-3.2.23-hyperv_3.4_amd64.deb und linux-headers-3.2.23-hyperv_3.4_amd64.deb

    von

    http://docs.homelinux.org/doku.php?id=using_linux_ic_with_debian_squeeze

    läuft prima, sind die neusten Hyper-V Treiber 3.4

  5. Dario Schultz sagt:

    Besucht doch einfach http://docs.homelinux.org/doku.php?id=using_linux_ic_with_debian_squeeze dort findet man den backport Kernel mit den Hyper-V Komponenten in der Version 3.4

  6. Matthias sagt:

    Was passiert denn mit diversen Updates die veröffentlicht werden nachdem ich den neuen Kernel installiert habe?
    Kann ich dir bedenkenlos installieren?

  7. Steffen sagt:

    …läuft diese Anleitung auch mit Hyper-V 2012???

  8. Stiffi sagt:

    Ja diese Anleitung funktioniert auch mit Hyper-V 2012.

    Habe meine Debian System, durch diese Anleitung, auf meinem Hyper-V v3 (Server 2012) zum Laufen bekommen. Vielen Danke.

  9. Stiffi sagt:

    Ich hätte eine Frage:
    Ist es richtig wenn ich einfach die erstellten .deb Pakete

    # linux-image-3.4.6-hyperv_3.4.6-hyperv-10.00.Custom_amd64.deb
    # linux-headers-3.4.6-hyperv_3.4.6-hyperv-10.00.Custom_amd64.deb

    auf ein anderes Debian System kopiere ( /usr/srv ) und dort über den Befehl

    dpkg -i linux-image-3.4.6-hyperv_3.4.6-hyperv-10.00.Custom_amd64.deb linux-headers-3.4.6-hyperv_3.4.6-hyperv-10.00.Custom_amd64.deb

    Installiere? Ist es wirklich so einfach? :D
    Oder gibt es etwas zu beachten?

  10. Jan Kappen sagt:

    Hi Stiffi,
    funktioniert und wird von mir auch so durchgeführt. Ist ja das gleiche wie wenn du dir die Pakete herunterlädst, wenn sie jemand anders kompiliert hat…
    Gruß, Jan

  11. Daniel sagt:

    Hallo,

    ich habe erfahrung mit Linux, aber nicht die mega Ahnung. Ich habe die DEB Pakete von http://docs.homelinux.org/doku.php?id=using_linux_ic_with_debian_squeeze genommen.

    Jetzt wollte ich die Netzwerkkarte von DHCP auf statisch ändern, aber nach dem ich die /etc/network/interfaces geändert habe und den /etc/init.d/networking Dienst neu starte habe ich keine Netzwerkverbindung mehr. Auch nach einem Neustart nicht.
    Mache ich iwie einen Fehler?

    Außerdem ist die Netzwerkverbindung vom Debian gefühlt MEGA langsam?

    Muss ich in der Netzwerkkonfiguration noch etwas ändern?

    Grüße, Daniel

  12. Marcel sagt:

    Hallo,

    wenn ich mir heute unter Squeeze einen Kernel mit den Hyper-V-Treibern nach der obigen Anleitung bauen will, spricht dann etwas dagegen, direkt den aktuellen Kernel 3.7.2 zu verwenden?

    Gruß Marcel

  13. Jan Kappen sagt:

    Hallo Marcel,
    da spricht nichts gegen, du musst dann nur die Versionen der Pakete anpassen und los geht’s :)
    Gruß, Jan

  14. Jürgen sagt:

    Hallo Jan,

    vielen Dank, für die wieder mal sehr klare Anleitung.
    Ich kann behaupten, Du hast mir das Kernel-Kompilieren beigebracht ; ) …
    Eins ist mir beim Hyper-V Server 2012 übrigens aufgefallen:
    es kommt bei mir sporadisch zu Verbindungsabbrüchen zu den VMs.

    An der Linux VM kann es wohl nicht liegen, da alle Treiber geladen sind und der Kernelbuffer keiner Fehler ausgibt.

    Meine Netzwerkkarte ist die

    Realtek RTL8168/8111 PCI-E Gigabit Ethernet Adapter (PHY: Realtek RTL8211/8212)

    Hat denn sonst jemand dieses Problem mit der Netzwerkinstabilität und sollte ich dafür vielleicht lieber den Windows 8 Treiber von Realtek nehmen?

    lG, Jürgen

    PS: ich bin mir noch nicht sicher ob es eine gute Idee war meinen Debian KVM Server gegen den Hyper-V zu ersetzen.

Antworten