Einen neuen Kernel 5.1.1 für Debian 9 (Strech) kompilieren [Update]

Hier ein kurzes Tutorial wie man einen Debian Kernel kompiliert. Erste Schritte, sollten sie noch nicht geschehen sein installieren von benötigter Software. Bitte immer nach dem neusten Stable Kernel schauen: Kernel.

[Update] Der neue Kernel 5.1.1 setzt eine zusätzliche Installation von flex, bison und libelf-dev voraus! Schritt 1.:

apt update && apt dist-upgrade
apt-get install -y libncurses-dev wget bzip2 make build-essential bc chrpath gawk texinfo libsdl1.2-dev whiptail diffstat cpio libssl-dev flex xtables-addons-dkms bison libelf-dev

Schritt 2.:

cd
mkdir kernel
cd kernel

Schritt 3.:

wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.1.1.tar.xz
tar xvf linux-5.1.1.tar.xz
cd linux-5.1.1
cp /boot/config-`uname -r` .config

Schritt 4.: mehrere Wege führen nach Rom wobei dieser Schritt der Einfachste ist.

yes "" | make oldconfig

Optional kann man den Kernel mit folgenden Schritten anpassen, man sollte aber wissen was man tut!

  • make config
  • make menuconfig

Schritt 5.: jetzt wird der Kernel mit folgendem Befehl kompiliert. Je nach CPU kann es ein paar Minuten, oder gar Stunden dauern. Wenn man nach make „-j4“ angibt, steht die 4, für 4 Prozessorkerne und kann beliebig je nach Prozessorleistung angehoben werden. Bsp. „make -j16“ Es gilt auch für Thread-Prozessoren. Mit „htop“ oder „top“ „sudo apt install htop“ kann man überprüfen wie viele Prozessoren zur Verfügung stehen. Oder mit dem Befehl cat /proc/cpuinfo“ kann man die CPU`s auch auslesen.

make -j4 bzImage modules

Schritt 6.: Kernel installieren:

make modules_install install

Schritt 7.: in die Grub eintragen (Wobei das automatisch nach dem Kompilieren getätigt wird):

update-grub

Schritt 8.: ein beherzter Reboot:

reboot

Have Fun!

 

Warnhinweis: Einstellungen und Änderungen am Kernel können bei Fehlkonfiguration die Lauffähigkeit des Systems beeinträchtigen! Nötige Kenntnisse auf einer Skala 1-10 sind mindestens Erfahrungswerte 4 bis 5 von Nöten.   Rechtlicher Hinweis: Für jegliche Schäden an Hardware bzw. Hardware übernehme ich keine Haftung.

13 thoughts on “Einen neuen Kernel 5.1.1 für Debian 9 (Strech) kompilieren [Update]

  1. Habe es mit neu installiertem System erneut versucht, jetzt erstellt das Gerät mir ein knapp 13 GB großes Paket und überträgt einen ca. 4 GB großen Kernel. Hat jemand eine Idee was da schief läuft?

  2. make mAnuconfig ist sicher falsch
    make mEnuconfig dürfte stimmen

    Bin seit mehr als 10 Jahren mal wieder dabei, mir selbst einen Kernel zu basteln. Damals hieß es mEnuconfig. Letzteres funktioniert auch noch. mAnuconfig spuckte mir etwas wie „keine Ahnung, wie ich das machen soll“ aus

    1. Kleiner Nachtrag:
      Benutze hier einen 3 Jahre alten Acer Aspire (also nicht gerade die schnellste Maschine). Der erste Durchlauf hat locker 4 Stunden benötigt (ok, habe das j4 vergessen, vielleicht wäre es dann schneller gegangen). Wollte Xubuntu 18.10 den neuesten Kernel verpassen und dabei überflüssiges Zeug rausschmeißen.
      Erstmal die Konfiguration des 4.18-Kernels übernommen. make … install … grub … reboot … äh … nimmt sich nicht soooviel, vielleicht 2 Sekunden weniger. Nochmal das ganze, diesmal alles, was irgendwie als Modul ging auch als Modul eingestellt. Hat nur 1,5 Stunden gedauert (diesmal auch mit j4), ein Teil der Module war ja schon fertig. Nun ja, nochmal etwa 2 Sekunden rausgekitzelt, insgesamt also etwa 4 Sekunden je Neustart. Sonstige Performanceverbesserungen leider nicht erkennbar.
      Ist nur mein Experimentiersystem, ich werde noch ein wenig weiterfummeln. Habe aber den Eindruck, dass die Performancegewinne durch eigene Kernel bei weitem nicht mehr so toll sind, wie das noch zu Zeiten von 2.irgendwas war. Das hat durchaus etwas Gutes: Wenn ein Generic Kernel kaum langsamer ist als ein an den jeweiligen Rechner angepasster Kernel, dann kann man sich das Gefummel sparen. Die Freaks wird es vielleicht ärgern, für die normalen User dürfte das aber ok sein.

  3. Gute Beschreibung, ich probiere mich gerade daran.
    Unter Schritt 3 scheint aber ein Fehler. „tar xvf linux-4.13.93.tar.xz“ die „9“ ist zuviel.

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.