Native Anwendungen auf dem Linux-Kernel ausführen

345
DividedByZero

Wenn der Linux-Kernel geladen ist, lädt er die Distribution oder das Betriebssystem zum Übernehmen. Wie kann ich dann den Kernel dazu bringen, eine native Anwendung (in c geschrieben) zu laden? Ich brauche keine GUI oder ähnliches. Stattdessen möchte ich (schrittweise) auf dieser Anwendung aufbauen, um sie zu einem vollwertigen Betriebssystem zu machen. Deswegen möchte ich kein Betriebssystem. Ich möchte, dass nur der Kernel meine Anwendung ausführt.

2

1 Antwort auf die Frage

3
peterh

Man muss den Linux-Bootmechanismus ein bisschen besser verstehen.

Nach dem Booten initialisiert der Kernel die Gerätetreiber und startet den ersten Prozess auf dem System. Standardmäßig ist es /sbin/init. Ab diesem Zeitpunkt führt der Kernel nichts aus, sondern führt nur die Anforderungen der Prozesse aus.

Sie können diese Standardeinstellung mit einem init=/path/to/your/binaryin den Kernel-Bootparametern überschreiben . Diese Parameter müssen Sie Ihrem Bootloader (der wahrscheinlich grub ist ) geben.

Wenn Sie eine einfache Eingabeaufforderung mit einer Shell wünschen, können Sie dies init=/bin/bashIhrem Bootloader mitteilen.