Ich habe gerade ein Gentoo-Basissystem eingerichtet (was bedeutet, dass ich jetzt booten und mich anmelden und Sachen damit machen kann). Meine Root-Partition befindet sich in einer virtuellen LVM2-Gruppe (mit einer getrennten /boot
Partition). Zum Booten muss ich die folgenden Parameter an den Kernel übergeben:
root=/dev/ram0 real_root=/dev/vg/rootlv init=/linuxrc dolvm
Anscheinend wird eine anfängliche Ramdisk verwendet, um etwas zu tun (ich denke, die LVM-Dinge werden geladen), bevor root gemountet wird. Gibt es eine Möglichkeit, diesen Code in den Kernel selbst zu schreiben, so dass keine initrd benötigt wird? Wenn nicht, wie kann ich die initrd selbst machen?
Es könnte nützlich sein, hinzuzufügen, dass ich versucht habe, den Kernel für Nicht-LVM-Root ohne initrd zu kompilieren, und es hat einwandfrei funktioniert. Dann habe ich versucht, das Ganze unter LVM zu stellen und konnte die Maschine nicht zum Booten bringen (ich denke, sie kann nicht mit dem LVM-Zeug umgehen). Dann habe ich das genkernel
Tool mit der --lvm
Option verwendet und es erstellt den funktionierenden Kernel und die initrd, die ich gerade verwende.
Jetzt möchte ich überspringen genkernel
und alles alleine machen, am besten ohne initrd, damit die Maschine etwas schneller bootet (die Flexibilität brauche ich sowieso nicht).