{"id":1810,"date":"2020-10-30T22:57:55","date_gmt":"2020-10-30T21:57:55","guid":{"rendered":"https:\/\/my.stargazer.at\/?p=1810"},"modified":"2020-10-30T22:57:55","modified_gmt":"2020-10-30T21:57:55","slug":"building-a-gentoo-linux-kernel-on-debian","status":"publish","type":"post","link":"https:\/\/my.stargazer.at\/de\/2020\/10\/30\/building-a-gentoo-linux-kernel-on-debian\/","title":{"rendered":"Debian mit Gentoo Kernel betreiben"},"content":{"rendered":"<p>Debian ist bekannterweise eine solide Distribution, \u00fcber die man eigentlich kaum meckern kann. Aber manchmal findet man doch was, wie zum Beispiel einen steinalten, gut abgehangenen Kernel, der kein fstrim in der Form kann, wie ich es brauche. Also muss ein neuer Kernel her. Da ich ansonsten Gentoo verwende, lag deren Kernel sehr nahe&#8230; Okay, erwischt: Ich war zu faul um die original Sourcen herunterzuladen und habe mir einfach den gepatchten Source einer Gentoo-Kiste per SCP r\u00fcbergeschoben.<\/p>\n<p>Solltest du mein lieber Leser das Bed\u00fcrfnis haben, das Gentoo-Patchset zu versuchen, geht das nat\u00fcrlich auch: Du musst dazu nur die Sourcen von <a href=\"https:\/\/kernel.org\">kernel.org<\/a> herunterladen, sie entpacken und das <a href=\"https:\/\/dev.gentoo.org\/~mpagano\/genpatches\/\">Gentoo Patchset<\/a> hinzuf\u00fcgen. F\u00fcr alle, die eine kleine Gedankenst\u00fctze zum Thema Patches brauchen, es funktioniert durch den Aufruf von\u00a0&#8218;patch -p0 &lt; path\/to\/patch.txt&#8216; im Verzeichnis des Kernels.<\/p>\n<p>Sobald nun die gepatchten Sources vorliegen, geht es ans Konfigurieren des Kernels. Die einfache M\u00f6glichkeit besteht darin, die Debian Kernel Config aus \/boot zu kopieren, da diese die Config nicht in \/proc\/config oder \/proc\/config.gz bereitstellen.<\/p>\n<pre>cp \/boot\/config-4.19.0-12-amd64 \/usr\/src\/linux-5.9.2-gentoo\/.config<\/pre>\n<p>Bitte kopiert dieses Kommando nicht blind, da es sich um die aktuelle Version von heute handelt. Passe den Aufruf daher bitte an dein System und deine Gegebenheiten an!<\/p>\n<p>Nachdem nun unsere .config von einem \u00e4lteren Kernel stammt, muss sie erst angepasst werden. Gl\u00fccklicherweise bringt das der Kernel mit &#8218;make oldconfig&#8216; mit. Nach Absetzen dieses Kommandos bekommen wir die Fragen \u00fcber neue Kernel-Optionen gestellt. Ich empfehle jedem Google zu fragen, sobald man nicht wei\u00df, was die Optionen bedeuten &#8211; aber meist sind die vorgeschlagenen Werte in Ordnung. Sollte man sich vertippt haben kann man einfach die alte Debian-Config erneut kopieren und von Vorne beginnen.<\/p>\n<p>Solltest du zu den Leuten geh\u00f6ren, die ein bisschen Ahnung vom Linux Kernel haben, steht einem gepflegten &#8218;make menuconfig&#8216; nichts im Wege, um den Kernel an die Hardware anzupassen und nicht gebrauchte Treiber rauszuwerfen. Man muss dabei absolut nicht sch\u00fcchtern sein, da jede Menge nicht verwendete Treiber im Kernel im Standard-Debian Kernel mitgebaut werden. Der schlimmste Fall ist, dass der Kernel nicht booted und man auf den Alten zur\u00fcck wechseln muss.<\/p>\n<p>Jetzt ist es endlich an der Zeit, den Kernel nach Debian-Art zu bauen: Aber keine Angst, man muss daf\u00fcr weder ein Jungfrauenopfer bringen oder einen Doktortitel haben: make deb-pkg \u00fcbernimmt das Bauen der Pakete. Sollte man noch etwas Geschwindigkeit wollen, empfiehlt sich &#8222;make deb-pkg -j6&#8220; wobei die 6 hier die Anzahl der CPU Kernel sein sollte. Bitte entsprechend anpassen!<\/p>\n<p>Das Ergebnis des Bauens &#8211; sofern Erfolgreich &#8211; sind einige Debian-Pakete in \/usr\/src, die wir mit folgendem Befehl installieren:<\/p>\n<p><span style=\"font-family: Consolas, Monaco, monospace;\">dpkg -i ..\/*.deb<\/span><\/p>\n<p>Die Stunde der Wahrheit ist dann gekommen, sobald man den PC rebooted. Sollte man nicht viel ge\u00e4ndert haben und bei make oldconfig die Standardantworten gew\u00e4hlt haben, stehen die Chancen sehr gut, dass die Kiste booted und man einen neuen Kernel hat. Wenn nicht, dann ist das auch kein Weltuntergang, da man wie schon erw\u00e4hnt den alten Kernel im Grub ausw\u00e4hlen kann und damit wieder ins System kommt.<\/p>","protected":false},"excerpt":{"rendered":"<p>Debian ist bekannterweise eine solide Distribution, \u00fcber die man eigentlich kaum meckern kann. Aber manchmal findet man doch was, wie zum Beispiel einen steinalten, gut abgehangenen Kernel, der kein fstrim in der Form kann, wie ich es brauche. Also muss ein neuer Kernel her. Da ich ansonsten Gentoo verwende, lag deren Kernel sehr nahe&#8230; Okay, erwischt: Ich war [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":1811,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[577,39,401,22],"class_list":["post-1810","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-it-related-stuff","tag-debian","tag-gentoo","tag-kernel","tag-linux"],"_links":{"self":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/posts\/1810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/comments?post=1810"}],"version-history":[{"count":0,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/posts\/1810\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/media\/1811"}],"wp:attachment":[{"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/media?parent=1810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/categories?post=1810"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/my.stargazer.at\/de\/wp-json\/wp\/v2\/tags?post=1810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}