1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Automatisierung von Linux from Scratch

Dieses Thema im Forum "Linux & Unix" wurde erstellt von Dennis Wronka, 26. Mai 2006.

?

Macht es Sinn Linux from Scratch zu automatisieren?

  1. Ja

    13 Stimme(n)
    72,2%
  2. Nein

    5 Stimme(n)
    27,8%
  1. Dennis Wronka

    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.
     
  2. Pendergast

    Pendergast Erfahrenes Mitglied

    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
     
  3. Dr Dau

    Dr Dau ich wisch hier durch

    Hallo!
    Verstehe ich Dich richtig, Du willst das Rad neu erfinden?!
    Quelle: Wikipedia

    Gruss Dr Dau
     
  4. Dennis Wronka

    Dennis Wronka Soulcollector

    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.
     
  5. Dr Dau

    Dr Dau ich wisch hier durch

    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. ^^
     
  6. Dennis Wronka

    Dennis Wronka Soulcollector

    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.
     
  7. Dr Dau

    Dr Dau ich wisch hier durch

    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.
     
  8. Dennis Wronka

    Dennis Wronka Soulcollector

    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.
     
  9. Dr Dau

    Dr Dau ich wisch hier durch

    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.
     
  10. Dennis Wronka

    Dennis Wronka Soulcollector

    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.
     
  11. Dr Dau

    Dr Dau ich wisch hier durch

    Und schon bin ich raus aus der Geschichte. :(
    Solche Fähigkeiten mögen ja ihre Vorteile haben, nur währe es mir definitiv zu viel des guten.
     
  12. Dennis Wronka

    Dennis Wronka Soulcollector

    Wie gesagt, dass ist dabei eigentlich die Regel.
    Ich koennte mir z.B. vorstellen noch einige optionale Programme anzubieten. Dazu wird wohl IPTables gehoeren, und evtl. auch RPM, sodass man nach der Installation des Basis-Systems im Grunde dann per RPM weitermachen kann.
    Wie gesagt, ich denk mit der ganzen Sache kann man eine Menge anstellen, zum einen halt die Installation gegenueber dem normalen LFS vereinfachen und beschleunigen, zum anderen aber auch optional zusaetzliche Features anbieten, wie ja bereits an den unterschiedlichen Dateisystemen und GCC-Versionen zu sehen.
    Ich plane z.B. auch SELinux als Option zu bieten, obwohl das erstmal noch einiges an Arbeit meinerseits bedarf, denn damit hab ich selbst im Grunde noch nichts gemacht.
     
  13. Dr Dau

    Dr Dau ich wisch hier durch

    Naja, und wie ich schon gesagt habe, ich habe mich nie mit LFS befasst.
    Aber wenn ich mir dass hier jetzt so alles durchlese, stelle ich fest dass ich mich wohl auch nie mit (A)LFS befassen werde.
    So wie ich es verstanden habe ist LFS ja dazu da um sich "seine" individuelle Distribition zu "basteln"..... aber dass dann doch so viel Aufwand getrieben werden muss, hätte ich nicht gedacht.
    Da finde ich die Methode wie sie unter Eisfair angewendet wird viel angenehmer.
     
  14. Neurodeamon

    Neurodeamon Erfahrenes Mitglied

    ReptiLenux :)
     
  15. Sinac

    Sinac Erfahrenes Mitglied

    Was dachtest Du denn wieviel Aufwand das ist? So wie bei Windows ein paar Komponenten anklicken und fertig oder was? :rolleyes:
     
  16. Dennis Wronka

    Dennis Wronka Soulcollector

    LFS ist schon eine Menge Arbeit, aber immerhin hat man dann ein schoenes System was fuer den eigenen Rechner optimiert ist und man hat halt volle Kontrolle was drauf kommt. Wenn man sich z.B. mal Suse, aber auch Slackware und sicher auch Debian anguckt, da bekommt man ja gleich 20 Editoren und mindestens 5 Windowmanager.
    Aber das ist ja das schoene an Linux, die Auswahl. Da gibt's fuer jeden etwas.
     
  17. Dr Dau

    Dr Dau ich wisch hier durch

    Das Problem ist nur dass viele Distribitionen per default z.b. gleich eine Hand voll Editoren installiert..... und das finde ich dann schon nicht mehr schön.
    Wahrscheinlich aus diesen Gründen habe ich auch noch nicht "mein" Desktopsystem gefunden.
    Klar, ich könnte erstmal die hälfte deinstallieren und zig andere Anwendungen installieren.
    Ich habe aber keine Lust den ganzen Tag mit der Installation zu verbringen..... und dann kommen ja noch div. Einstellungen hinzu..... dann kann ich auch gleich bei Windows bleiben, da brauche ich im Schnitt 2-3 Tage.
     
  18. Dennis Wronka

    Dennis Wronka Soulcollector

    Mit LFS ist man wesentlich laenger beschaeftigt. Allein KDE braucht einen Tag.
    Ich bin jetzt zu LFS zurueckgekehrt da ich auch nicht ganz gluecklich mit den ganzen Distributionen bin, am ehesten gefaellt mir da ja noch Slackware da die nicht ganz so ueberladen ist wie viele andere.
    Mein System ist zwar jetzt mit 6.5GB nicht gerade klein, aber ich hab jetzt im Grunde alles drin was ich so zum Leben und arbeiten brauche, und auch ein paar Sachen die ich nur selten mal brauche, aber ab und an ganz nuetzlich sein koennen.
     
  19. Dennis Wronka

    Dennis Wronka Soulcollector

    So, fuer alle die es nicht interessiert, und natuerlich auch fuer die die es interessiert, hier mal ein kleines Update.

    Ich hatte das Ganze erstmal eine Weile ruhen lassen um mal wieder was Zeit zu haben um an meiner Website weiter zu arbeiten. Da nun aber Ext4 in den offiziellen Kernel eingeflossen ist hat mich das angespornt mal wieder weiter zu machen, immerhin haette ich so evtl. die Moeglichkeit die erste "Distribution" bieten zu koennen die Ext4 als Option anbietet. ;)
    Ich hab also eine Liste der kompletten genutzten Software erstellt, inklusive Bezugsquellen und Lizenzen. Dabei hab ich dann auch gleich die aktuellsten Versionen beschafft um wieder auf dem aktuellen Stand zu sein. Von etwas mehr als 90 Paketen wurden dabei fast 60 aktualisiert, unter anderem eben der Kernel und auch die GLibC.
    Nachdem ich dann erstmal auf ein boeses Problem mit der Installation der GLibC mit Kernel 2.6.19 (der Version die uns Ext4 bringt) gestossen bin musste ich erstmal von Ext4 abschwenken und hab ein Downgrabe zu 2.6.18.5 gemacht.
    Das absolute Grundsystem (was im Umfang mehr oder weniger dem LFS-Buch entspricht) kompiliert damit auch schon durch (zumindest mit GCC 3.4, mit 4.0 und 4.1 hab ich bisher nicht getestet). Gestern hab ich dann mal allen optionalen Kram angeschaltet und festgestellt, dass ich wohl einen Patch fuer Shadow brauchen werde damit dies mit SELinux zusammenarbeitet (diesen Patch brauchte ich auch vorher schon, aber ich hab's erstmal ohne probiert da dieser ja schon in der aktuellen Version haette drin sein koennen).
    Gestern Nacht hab ich dann die erste Stufe nochmal kompiliert, alle Optionen sind an, ausser SELinux (in der ersten Stufe macht dies aber noch keinen Unterschied). Wenn ich nachher daheim bin kommt dann die zweite Stufe dran wo das eigentliche Endsystem gebaut wird, und dann eben mit allem zusaetzlichen Kram, wie den alternativen Editoren Joe und Nano (LFS sieht ja Vim vor), IPTables, RPM, Dpkg und noch ein paar anderen netten Tools. Ich gehe jetzt erstmal davon aus, dass das funktionieren wird. In der Zeit werd ich dann auch mal nach einem aktuellen Patch fuer Shadow gucken und dann morgen nochmal mit wirklich allen Optionen (also inklusive SELinux) testen.
    Wenn das komplette System mit allen Optionen dann mit GCC 3.4 durchkompiliert kommen die Tests mit GCC 4.0 und 4.1.
    Anschliessend will ich nochmal ueberlegen und gucken ob ich nicht doch irgendwie Kernel 2.6.19 nutzen kann, da ich wirklich gern Ext4 mit anbieten wuerde. Ein alternativer Weg um Ext4 bieten zu koennen waere der etwas unschoene Weg ueber 2 Kernel im System, einer mit dem das System gebaut wird und dessen Header hinterlegt werden (2.6.18.5) und einer der dann schlussendlich vollstaendig gebaut und dann auch gebootet wird (2.6.19). Dies waer zwar eine Loesung, aber doch eher die Holzhammervariante und wuerde die Datenmenge auch ordentlich aufblaehen. Mein Archiv hat zur Zeit um die 260MB. Mit einem zusaetzlichen Kernel kaem ich dann wohl auf ueber 300. Auch die aus dem System resultierende LiveCD wuerde dann natuerlich durch die zusaetzliche Last der Sourcen etwas anwachsen, daher ist das nur als absolute Notloesung zu sehen. Und zur Zeit wuerde ich auch noch eher sagen, dass ich wohl vorerst auf Ext4 verzichte und dafuer das Source-Verzeichnis nicht unnoetig belaste.

    So, ich werd hier in naechster Zeit mal hin und wieder ein paar Updates hinterlassen, wer also interessiert am Werdegang meiner kleinen Distro ist sollte ab und an mal vorbeischauen.
     
  20. Dennis Wronka

    Dennis Wronka Soulcollector

    So, mal eben ein kurzes Update.

    Zur Zeit gibt es noch Probleme mit Dpkg und SELinux.
    Dpkg kompiliert nicht durch, da werd ich mal schauen muessen was das Problem ist und dann einen Patch finden/schreiben.
    Fuer SELinux brauch ich halt, wie gehabt, einen Patch fuer Shadow. Der Patch den ich fuer die zuvor genutzte Version hatte funktioniert mit der aktuellen Version nicht. Moeglicherweise kann ich diesen aber ein wenig abaendern sodass er dann auch der aktuellen Shadow-Version zu SELinux-Support verhilft.

    Weiterhin ist ja ein Kernel-Update (2.6.19.1) erschienen und dieses sehe ich natuerlich nun als Chance eventuell doch Ext4 bieten zu koennen. Zuvor gab es ein Problem bei der Installation der GLibC, jetzt grad lass ich die Scripts mit Linux 2.6.19.1 laufen und soweit sieht es recht gut aus; GLibC installiert grad die Locale-Dateien, und soweit konnte ich keinen Fehler sehen. Wenn Stage1 durchlaeuft ist dies auf jeden Fall schonmal ein gutes Zeichen.

    So, jetzt werd ich den Rechner wohl erstmal was basteln lassen, mir was leckeres zu essen machen (hab heut Aal gekauft, der duerfte zum Abendessen ganz gut kommen) und dann gucken was es im TV gibt.
     

Diese Seite empfehlen