Autor Thema: Eigenes Betriebssystem: auf Kernel aufbauen  (Gelesen 7878 mal)

BeanMe

  • Beiträge: 19
    • Profil anzeigen
Gespeichert
« am: 09. May 2012, 14:20 »
Hallo,

ich habe mir überlegt, ob ich ein Betriebssystem mache, das (wie GNU) auf einen bestehenden Kernel aufbaut (aber einen Kernel, der schon fertig ist, und nicht aus einem Studentenprojekt geklaut wird :wink: ).

Kennt dafür jemand Tutorials? Hat jemand Vorschläge, welchen Kernel man nehmen könnte?

Dank im Voraus
BeanMe

oern

  • Beiträge: 44
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 09. May 2012, 14:50 »
Hallo,

ich wollte zufällig auch heute hier mal nach anderen Leuten fragen, die eine Linux-Distribution mitentwickeln wollen.
Ich habe da auch schon halbwegs Vorstellungen von, was das werden soll, und auch schon mal ein LFS (Linux from Scratch) gebaut.
Die Distri soll auf dpkg aufbauen. Davon soll es 4 Versionen geben: Desktop (mit KDE oder GNOME; für Anfänger gedacht), Programmierer (mit Programmiertools, einem WM z.B. openbox oder blackbox, und Quellpaketen, die zwar nicht zum Kompilieren gedacht sind, aber das Mitliefern des Quellcodes unterstützen), "Geek" (ohne GUI, sonst wie die Programmier-Version) und eventuell noch eine Server-Variante. Diese Einzeldistributionen sollen aber nicht untereinander kompatibel sein, dafür sollen diese aber besser an ihr Einsatzgebiet angepasst sein (ungefähr das, was Gentoo mit den USE-Flags erreicht). Ich habe auch schon ein paar Pakete kompiliert und die dpkg-Dateien erstellt, aber für 4 Versionen (oder auch schon nur eine) bräuchte ich natürlich Helfer.

Wenn du Linux als Kernel benutzen willst, würde ich dir auch Linux from Scratch empfehlen, da baust du dir das gesamte System aus dem Quellcode. Natürlich musst du dich dafür mit Linux auskennen, z.B. weil du deinen eigenen Kernel konfigurieren musst und erstmal keine grafische Oberfläche hast.
Die anderen freien Betriebssysteme sind wahrscheinlich auch alle Unix-Klone, aber GNU ist ja noch nicht wirklich fertig und die BSD-Systeme haben ja meistens ihr eigenes Userland, d.h. es ist nicht vorgesehen, etwas eigenes darauf aufzubauen (wenn auch möglich).

Gruß,
oern

BeanMe

  • Beiträge: 19
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 09. May 2012, 14:55 »
Ich möchte auf Linux aufbauen, aber wie fange ich das an?

Ich sollte LFS durcharbeiten, du hast recht.

Vielleicht habe ich dann auch schon, was ich brauche (oder auch nicht).

Nichts gegen dich, aber ich bin (leider) nicht so der Teamwork-Mensch  :-(

BeanMe

  • Beiträge: 19
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 09. May 2012, 15:04 »
Ich habe noch eine Frage:
Wenn ich schon init ersetzen will, worauf muss ich achten?
Gibt es da ein gutes Tutorial?

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 09. May 2012, 15:36 »
Hallo,

mir sind neben LFS/CLFS/... keine Tutorials bekannt. Prozesse kommunizieren ausschließlich über Syscalls mit dem Kernel, danach kannst du dich richten. Speziell bei Linux sind noch viele Kernelteile aus Lizenzgründen in den Userspace verlagert (Firmware für Treiber, hotplug/udev, ...), die dann entsprechend Unterstützung aus Userspace oder libc benötigen.

Die BSD-Kernel funktionieren grundsätzlich ähnlich wie Linux, sind aber deutlich monolithischer gebaut. Das kann einfacher für dich sein, muss es aber nicht. BSD meist besser und zentral dokumentiert, für Linux gibt es deutlich mehr Dokumentation schwankender Qualität überall im Netz.

Init sollte damit rechnen, unverschuldet Kinder zu bekommen (Prozesse, deren parent endet, werden zu Kindern von init) und möglichst keine Abhängigkeiten haben (/dev, /proc oder /sys fehlen oder sind unvollständig).

Der Rest ist deine Sache. Das Fundament steht, aber du solltest ungefähr selbst wissen, was für eine Art Haus du da draufbauen möchtest. Dabei können wir nicht/nur wenig helfen.

Du kannst dir auch BusyBox anschauen, aber das steht unter GPL.

Gruß,
Svenska

BeanMe

  • Beiträge: 19
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 10. May 2012, 15:45 »
Zur GPL: Heißt das, ich muss es unter der GPL veröffentlichen,
oder heißt es, wenn ich es veröffentliche (oder auch nur weitergebe), dann unter der GPL?

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 10. May 2012, 16:07 »
Was du in deinem stillen Kämmerlein mit dir allein machst, ist deine Sache.

 

Einloggen