{"id":21095,"date":"2025-11-06T00:15:26","date_gmt":"2025-11-05T23:15:26","guid":{"rendered":"https:\/\/linux-bibel.at\/?p=21095"},"modified":"2025-11-06T09:42:08","modified_gmt":"2025-11-06T08:42:08","slug":"kern-spaltung-folge-1","status":"publish","type":"post","link":"https:\/\/linux-bibel.at\/index.php\/2025\/11\/06\/kern-spaltung-folge-1\/","title":{"rendered":"Kern-Spaltung Folge 1"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Ich greife jetzt ein hei\u00dfes Eisen an. <br>1.) Weil ich vor fast 15 Jahren mir vorgenommen habe, nie wieder so tief in Linux\/Unix hineinzugehen.<br>2.) Weil die Erstellung einer Beschreibung selbst nicht leicht ist. <br>3.) Man ein bisschen Verst\u00e4ndnis f\u00fcr Kern-Prozesse  mitbringen sollte.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eines vorweg: NIE OHNE BACKUP.  Alles was ich schreibe bezieht sich auf Debian Trixie. Andere Distributionen k\u00f6nnen durchaus andere Namen Verzeichnisse verwenden. Ihr wisst unter Unix sind Namen Schall und Rauch.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Schauen wir einmal, wie gut mir die Erkl\u00e4rungen gelingen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Kern<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ein Linuxkern besteht aus mehren Teilen.  Da gibt es bei modernen Systemen den Bootloader EFI  nebenbei noch GRUB und dann den Kern selbst und die Module. All das findet man im Verzeichnis \/boot auf der 2. Partition. Die erste Partition wird unter \/boot\/efi  gemountet und beinhaltet auf x64er-System den Bootloader selbst.  Und damit findet der Bootloader nun zu seiner Partition und zum Kern selbst. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><br>Der Bootvorgang <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Dem einen oder anderem ist aufgefallen, dass da eine Zeile an Parameter mit \u00fcbergeben wird, wenn der Bootvorgang startet. U. a. ist dort ein Begriff wie &#8222;vmlinux&#8220; diese Datei liegt im Root-Verzeichnis und ist ein symbolischer Link  auf den Kern im Verzeichnis \/boot.  Aktuell w\u00e4re das bei mir  <br>&#8222;\/vmlinuz -&gt; boot\/vmlinuz-6.12.48+deb13-amd64&#8220;  <br>Und das ist der Linux-Kern in seiner vollen Pracht und Sch\u00f6nheit.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Und damit h\u00e4tten wir schon einen geladenen Kern und Linux lauff\u00e4hig. Der Rest der jetzt kommt ist nur f\u00fcr die Bequemlichkeit.  Dazu wird die Datei \/initrd.img verwendet. Die wiederum ein Link in das boot-Verzeichnis ist. ( \/initrd.img -&gt; boot\/initrd.img-6.12.48+deb13-amd64 ). Sollte ich jetzt ein Kommando wie<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> file \/boot\/initrd.img-6.12.48+deb13-amd64\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">absetzen. Dann wird mir mitgeteilt das dies ein cpio-Archiv ist. Ein cpio ist ein Sicherungsbefehl \u00e4hnlich dem tar-Kommando und wurde in diesem Fall verwendet um die zum Kern passenden Microcode zu speichern und diese brauchen wir als n\u00e4chstes. In dieser Datei befindet sich der Microcode des Prozessors. <br><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Module<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Haben wir gesagt, dass der Kern und der Microcode aus dem vmlinux in den Speicher geladen wurde. So kann der Kern jetzt seine Module laden. Das sind alle Driver\/Threads\/Komponenten die nicht unmittelbar ben\u00f6tigt werden. Im Kern selbst sind nur ganz wenige Routinen (wie Speicher- , CPU- , Interruptverarbeitung, das Filesystem und der Schedular ) Alle weitere wird jetzt \u00fcber Module nachgeladen.  Die Module selbst befinden sich im root-Filesystem unter \/lib\/modules\/&lt;kern-version&gt;\/kernel<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Jetzt kommt unser normaler Bootvorgang den wir schon 1000de male gesehen haben. Bis  der bunte Login-Schirm erscheint. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Die Module II <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir sind angemeldet und sind auf die root-Ebene gewechselt, schauen wir uns einmal an welche Module wir  geladen haben.  Dazu gibt es ein paar Kommandos: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>lsmod <\/strong> zeigt mir alle geladenen Module und ihre Speichergr\u00f6\u00dfe. Und welches Modul es benutzt.<br><strong>rmod <\/strong>entfernt ein Modul <br>i<strong>nsmod<\/strong> f\u00fcgt ein Modul ein. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Diese 3 Befehle arbeiten nur mit dem Speicher. Bei einem Bl\u00f6dsinn gibt es maximal einen Panic aber ich habe noch kein System beleidigt.  Anders beim n\u00e4chsten Befehl: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>modprobe<\/strong> kann auf der einen Seite die 3 Befehle abl\u00f6sen, aber auch die aktuelle Konfiguration \u00e4ndern und dauerhaft speichern. <strong>Das kann dann bis zu einem unbrauchbarem System f\u00fchren !!!!<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Der Grund f\u00fcr den Artikel<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ich hatte bei Bookworm QEMU\/KVM und VirtualBox  im gleichem System laufen. Nach der Umstellung auf Trixie funktionieren die KVM nicht mehr mit VBoxes zusammen. L\u00e4stig, aber das wird sich auch noch finden lassen. Mit den dem Befehl <strong>rmod kvm-intel <\/strong>und <strong>rmod kvm<\/strong> bringt man VirtuellBox zum Laufen \ud83d\ude09 in dem man die kvm-module aus dem Kern wirft. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<div class=\"pld-like-dislike-wrap pld-custom\">\r\n    <div class=\"pld-like-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-like-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir\" data-post-id=\"21095\" data-trigger-type=\"like\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Hoch.png\" alt=\"Gef\u00e4llt mir\" \/>\r\n            <\/a>\r\n    <span class=\"pld-like-count-wrap pld-count-wrap\">9    <\/span>\r\n<\/div><div class=\"pld-dislike-wrap  pld-common-wrap\">\r\n    <a href=\"javascript:void(0)\" class=\"pld-dislike-trigger pld-like-dislike-trigger  \" title=\"Gef\u00e4llt mir nicht\" data-post-id=\"21095\" data-trigger-type=\"dislike\" data-restriction=\"cookie\" data-already-liked=\"0\">\r\n                            <img src=\"https:\/\/linux-bibel.at\/wp-content\/uploads\/2023\/12\/Daumen-Runter.png\" alt=\"Gef\u00e4llt mir nicht\" \/>\r\n            <\/a>\r\n    <span class=\"pld-dislike-count-wrap pld-count-wrap\"><\/span>\r\n<\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Ich greife jetzt ein hei\u00dfes Eisen an. 1.) Weil ich vor fast 15 Jahren mir vorgenommen habe, nie wieder so tief in Linux\/Unix hineinzugehen.2.) Weil die Erstellung einer Beschreibung selbst nicht leicht ist. 3.) Man ein bisschen Verst\u00e4ndnis f\u00fcr Kern-Prozesse mitbringen sollte. Eines vorweg: NIE OHNE BACKUP. Alles was ich schreibe bezieht sich auf Debian [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":21097,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,17],"tags":[],"class_list":["post-21095","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-allgemein","category-system"],"_links":{"self":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/21095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/comments?post=21095"}],"version-history":[{"count":7,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/21095\/revisions"}],"predecessor-version":[{"id":21104,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/posts\/21095\/revisions\/21104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media\/21097"}],"wp:attachment":[{"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/media?parent=21095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/categories?post=21095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/linux-bibel.at\/index.php\/wp-json\/wp\/v2\/tags?post=21095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}