Linux kernel - Programm ausführen

#2327187
Lesenswert?

Max schrieb:
> Hallo.
> Ist es möglich nur den Linux-Kernel auf einen PC zu installieren, der
> dann ein selbstgeschriebenes Programm ausführt?
> Wenn ja, wie funktioniert es?
>
> mfg Max

Was soll es denn genau werden? Wenn es eine kleine einfachst-Anwendung 
ist, dann bietet es sich an, die Anwendung in die initrd einzubauen. 
Ansonsten dem Kernel
1
init=/pfad/zu/deiner/anwendung
 beim booten mit auf den Weg geben. Wenn sich die Anwendung dann 
beendet, gibt's ne kernel panic.
Falls deine Anwendung noch einige andere Daemons zum Funktionieren 
benötigt, dann sorge dafür, dass init diese Anwendung startet. Wie das 
geht, steht im Handbuch der Distro.
#2327359
Lesenswert?

Am besten noch einen Emulator oder Virtualisierer installieren, um sowas 
auszuprobieren ohne dauerndes Neustarten.

Per initrd ist sowas gut möglich, ohne dass man eine Partition auf der 
Platte für Linux reservieren müsste, die initrd wird vom Bootloader 
mitgeladen und von Linux in ein tmpfs (ein RAM Dateisystem) geladen und 
darauf dann das Programm /init ausgeführt. Nur: Ohne eine existierende 
Linux-Installation als Entwicklungsumgebung wird es sehr umständlich.

Sonst zur Vorgehensweise: Man wird meist noch irgendwie mit dem Kernel 
irgendwas machen müssen (andere Dateisysteme mounten, Netzwerk 
konfigurieren) und da man das kaum alles noch mal implementieren will, 
nimmt man die BusyBox, die einen riesigen Haufen Tools in einem Programm 
vereint und so Platz spart. Eine initrd ist ein cpio-Archiv im 
newc-Format, generell noch gzip-komprimiert.

Wird bei embedded-Boxen die auf eine Anwendung spezialisiert sind gern 
so gemacht, also auch bei ganz vielen von den DSL-Routern für zuhause.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren