Automatisierung von Linux from Scratch

Macht es Sinn Linux from Scratch zu automatisieren?

  • Ja

    Abstimmungen: 13 72,2%
  • Nein

    Abstimmungen: 5 27,8%

  • Anzahl der Umfrageteilnehmer
    18

Dennis Wronka

Soulcollector
So, da grad dabei bin LFS ein wenig zu automatisieren stellt sich mir die Frage ob das allgemein interessant sein koennte.
Also zum einen in der Hinsicht, dass auch User die nicht die ganze Tipperei haben wollen ein schoenes, schlankes und an ihren Rechner angepasstes System haben koennen.
Zum anderen aber auch, dass User die eben noch nicht so tief in Linux drin sind, dass sie sich das alles zutrauen wuerden selbst zu machen dadurch einen Anreiz bekommen, es erstmal automatisiert installieren und dann spaeter wenn sie etwas mehr Erfahrung haben das ganze mal wirklich von Hand machen.
Und zu guter Letzt natuerlich noch fuer die jenigen die LFS im Grunde schon laenger nutzen und einfach die Installation starten wollen und irgendwann ist dann halt alles fertig, ohne, dass man alle paar Minuten mal wieder irgendwelche Befehle eingeben muss.

Ich halte mich dabei uebrigens nicht ganz so eng an das Buch, und ueberlege auch optional so Sachen wie z.B. SELinux einzubauen.
Wer noch Detailfragen zu meinem Vorhaben hat, immer her damit.

Ich wuerde mich ueber moeglichst viele Meinungen freuen.
 
Meinst du mit »automatisieren« ein Tool, das mir einfach nur hunderte von Fragen stellt und am Ende mein OS zusammenbaut? Wenn ja fände ich das in der Tat recht interessant. Tipparbeit, die über eine Sequenz von drei bis fünf Konsolenkommandos hinausgeht, ist nämlich recht doof. :p
 
Hallo!
Dennis Wronka hat gesagt.:
So, da grad dabei bin LFS ein wenig zu automatisieren stellt sich mir die Frage ob das allgemein interessant sein koennte.
Verstehe ich Dich richtig, Du willst das Rad neu erfinden?!
Wikipedia hat gesagt.:
Des Weiteren existiert das Projekt Automated LFS (kurz ALFS), bei dem versucht wird, die Installation eines LFS, die langwierig und nicht gerade unkompliziert ist, zu automatisieren und zu vereinfachen.
Quelle: Wikipedia

Gruss Dr Dau
 
Ich hab mir beide bisherigen Ansaetze zur Automatisierung von LFS ein wenig angeschaut und bin damit nicht recht zufrieden. Dementsprechend hielt ich die Neu-Erfindung des Rades fuer keine so schlechte Idee.
Ganz so wie Pendergast vermutet ist es jedoch nicht. Es gibt (zumindest zur Zeit noch) kein Tool was einem ein paar Fragen stellt und dann alles macht. Die wichtigsten Einstellungen (Partition fuer das System, Dateisystem, GCC-Version) werden in kurzen (und spaeter auch mal kommentierten) Script angegeben.
Anschliessend wird das erste Script gestartet welches nur sehr kurz ist, das bereitet quasi die Installation vor. Hier wird die Partition mit dem gewaehlten FS formatiert (ich biete da nicht nur ext2, wie es im Buch genutzt wird, sondern auch ext3, reiserfs, jfs und xfs), gemountet und die noetigen Verzeichnise und Links erstellt. Dann werden noch die Sourcen und spaeter (in der chroot-Umgebung) benoetigte Scripts kopiert.
Anschliessend kommt was ich Stage1 nenne, im Buch entspricht dies im Grunde Kapitel 5. Es wird das Build-System installiert. Je nach gewaehltem GCC (man kann zwischen 3.4, 4.0 und 4.1 waehlen) dauert das (auf meinem Rechner) ca. 75 bis 120 Minuten. Auch fuer Stage1 ist wieder ein Shell-Script zustaendig. Dieses ist soweit auch schon fertig und funktioniert, zumindest bei mir. Ein Kollege von mir, mit dem ich diese Idee hatte, will das die Tage auch mal testen. Ich wuerde gern auf unterschiedlichen Systemen testen koennen, hab aber zur Zeit nur einen Rechner hier. Muss mal mit meiner Freundin quatschen ob ich nicht ihre alte Moehre dafuer vergewaltigen kann. :)
Im Anschluss wird dann ein Script aufgerufen um in die chroot-Umgebung zu wechseln, die vorher natuerlich noch vollstaendig vorbereitet wird. Bis hierhin sind die Scripts im Grunde schon alle "fertig" (nur halt bisher nur auf meinem Rechner getestet). Das naechste Script, bei mir als Stage2 bezeichnet, im Buch Kapitel 6, installiert dann das eigentliche System. An diesem Script bin ich zur Zeit fleissig dran und hoffe es morgen fertig kriegen zu koennen damit ich es testen kann.
Der User fuehrt also im Grunde 4 nacheinander aus. Ich ueberlege die ersten 3 Scripts zusammenzufassen, aber dadurch ist man quasi gezwungen alles in einem Rutsch zu machen. So wie es jetzt ist kann man quasi nach Stage1 erstmal runterfahren und spaeter weitermachen.
Ein weiterer Grund warum ich das Rad quasi neu erfinde ist, dass ich zum grossen Teil aktuellere Versionen nutze als im LFS-Buch. Ausserdem ist das mal eine schoene Methode mal wieder was neues mit Linux zu machen und hilft mir selbst auch im Endeffekt wenn ich mir mal irgendwann ein neues LFS basteln will.
Wie gesagt, dass ganze basiert auf 4 Scripts die der User ausfuehren muss, einem Script in dem ein paar kleine Anpassungen vorgenommen werden und ein Script welches lediglich die Versionsnummern der ganzen Software enthaelt damit das schoen flexibel ist. So brauch ich naemlich wenn ich von irgendwas eine aktuellere Version nutzen will nur in diesem Script die Versionsnummer aendern. Das macht es fuer mich als Entwickler einfacher.
 
Ich bin mit allem was nicht "klicki die bunti" ist unzufrieden. ;)

Wenn ich mir Deinen Text so durchlese, denke ich dass ich damit nicht klar kommen würde.
Sonst hätte ich das Script ja auf meinem Testrechner ausprobieren können..... mein "Underground Desktop" (auf Debian basierend) ist nach einem Update mittels Synaptic eh zerschossen. ^^
Irgendwie habe ich bis jetzt immer jede Distribition doch noch klein gekriegt. ^^
 
Also eigentlich duerfte das alles recht einfach sein.
Im Grunde fuehrst Du ja nur nacheinander die 4 Scripts aus. Danach hast Du dann ein Basis-System, also komplett ohne X und sowas. Halt wie beim LFS-Buch auch.
Ich denk das duerftest Du auch hinkriegen, denn Du weisst ja auf welche Partition das soll, und die Qual der Wahl zwischen 5 Dateisystemen und 3 GCC-Versionen wirst Du sicher auch ueberleben. :)

Und nein, es wird sicher keine lustige Klicki-Bunti-Installation geben.
Der Hauptgrund dafuer ist, dass die BootCD so nur so klein wie noetig sein soll und nicht mit unnoetigem Kram aufgeblaeht werden soll.

Aber ich bin jetzt schon am Ueberlegen ob ich anschliessend daraus auch eine RPM-basierte Binaer-Distribution mache, also zusaetzlich. Und da duerfte eigentlich nichts gegen einen Klicki-bunti-Installer sprechen.
 
Ich habe es bis jetzt ja noch nicht mal geschaft eine (original) Debian Installation hinzubekommen.
Irgendwie finde ich Eisfair bis jetzt noch am einfachsten zu installieren.
Nichtmal um dass partitionieren brauche ich mich zu kümmern (wobei ich dieses aber noch hinbekomme).

Warum sollte ich eine GCC Version auswählen?
Ich will doch nichts kompilieren..... und wenn das Script irgendwas kompiliert, dann sollte dem Script auch die Wahl der GCC Version überlassen bleiben.
Schliesslich geht es ja doch ums automatisieren.

LFS kenne ich nur vom hören-sagen..... befasst habe ich mich damit nie.
Ich bin schon froh dass ich praktisch so gut wie nichts mit der Shell zu tun haben muss. ;)
Ich schaue mir gerne mal die eine oder andere Distribition an (könnt ja evtl. doch mal etwas "brauchbares" dabei sein), aber ich will kein "Guru" werden.
 
Du musst ja keinen GCC auswaehlen, es wird ja eine Standardauswahl (GCC 3.4) geben.
Ich dachte nur, dass es ganz nett waere die Moeglichkeit der Wahl zu bieten, genauso halt beim Dateisystem, vor allem da ich finde, dass ext2 mittlerweile doch nicht mehr ganz so zeitgemaess ist.
 
Ach so.
Hmm, wird GCC denn überhaupt gebraucht? Ich meine, warum sollte ich etwas installieren wenn ich es nicht brauche?!
Keine Ahnung warum ext2 noch zum Einsatz kommt (wegen Performance auf alten PC's?).
Wenn Eisfair nicht die (einfache und problemlose) Option hätte das bestehende System von ext2 auf ext3 zu konvertieren, würde mein Server mit sicherheit weiter mit ext2 laufen.
 
Den GCC brauchst Du ja allein schon um das System selbst zu installieren. Und normalerweise macht man ja beim LFS auch nach dem Basissystem so weiter, dass man alles kompiliert, und dementsprechend wird dann natuerlich auch GCC benoetigt.
 
Zurück