Erstellen eines bootfähigen USB-Sticks für einen benutzerdefinierten Kernel

Erstellen eines bootfähigen USB-Sticks für einen benutzerdefinierten Kernel

Ich habe die Tutorials gelesen, um einen minimalistischen benutzerdefinierten Kernel zu erstellen ausHierund kann es wie im Tutorial beschrieben über eine virtuelle Maschine mit GRUB als Bootloader booten.

Ich denke, es würde mehr Spaß machen, wenn ich dasselbe über nackte Hardware mit einem bootfähigen USB-Stick machen könnte. Das heißt, ich verwende GRUB, den USB-Stick und meine ausführbare Kernel-Datei, um einen bootfähigen USB-Stick zu erstellen und dann von diesem USB-Stick aus in den Kernel zu booten.

Frage 1.Ich dachte daran, das normale Verfahren zu verwenden, mit dem ich einen bootfähigen Linux-USB-Stick erstelle, aber mein Kernel ist kein echtes ISO-Image, sondern eine ausführbare Datei im Elf-Format. Funktioniert die normale Methode, wenn ich meine ausführbare Datei irgendwie in das ISO-Format konvertiere?

Frage 2.Irgendwelche anderen Ideen / Links zu Ressourcen, wie ich vorgehen soll?

PS:Es ist NICHT der Linux-Kernel an sich, sondern ein absolut minimaler Kernel, kein Dateisystem, nichts. Es fährt einfach hoch, gibt etwas auf der Konsole aus und kann Tastaturereignisse verarbeiten, das ist alles.

Antwort1

Aus der Bootperspektive ist die Kerneldatei selbst nur eine Konfigurationsoption, die an Grub übermittelt wird. Solange Grub den Kernel finden kann, sollte alles gut gehen.

Sie benötigen jedoch etwas, das Sie als Root-FS verwenden können, daher wäre eine Partition oder ein DD-Image auf Ihrem USB-Stick sinnvoll, und speichern Sie Ihre Kernel-Datei dort. Wahrscheinlich können Sie es sogar direkt in /boot mit all Ihrem Grub-Zeug ablegen. Sie benötigen also mindestens den MBR auf dem USB-Stick zum Booten und ein Dateisystem mit Ihrer Grub-Konfiguration ... (Ich habe herumgegoogelt und Beispiele für die Verwendung von sowohl FAT als auch EXT für /boot gesehen. Ich weiß, dass die meisten USB-Boot-Key-Tools FAT als Basis verwenden, daher würde ich das empfehlen, aber EXT sollte meiner Meinung nach auch funktionieren.) Es gibt einige InformationenHiermit einem Beispiel für Ubuntu. Ich denke, an Ihrer Stelle würde ich mit einem dieser Tools einen bootfähigen USB-Stick erstellen und ihn dann für meine Bedürfnisse modifizieren – auf diese Weise wird die Grub-Installation und der MBR-Kram für mich erledigt.

Letztendlich ist es wohl eine Frage, wie man Grub auf dem USB-Stick zum Laufen bekommt, danach ist es nur noch Grub config, dasDasLink hat mir in der Vergangenheit geholfen.

Antwort2

Lesenüber das Live-Build-System von Debian.

Es gibt eine Option --linux-package, die auf linux-kernel.deb verweisen sollte. Sie können Ihren eigenen Kernel angeben und ihn einfach in das Debian-Format packen.

verwandte Informationen