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
So, und wieder gibt es ein Update.

Heute Nacht hab ich das Ganze mit GCC 3.4 und Kernel 2.6.19.1 laufen lassen, und zwar mit Erfolg. Das heisst dann wohl,
Ausserdem hab ich das Script zum kopieren der Source-Dateien etwas umgeschrieben sodass es nun eine Option gibt "sicher" zu kopieren. Das heisst nichts anderes als dass in einer While-Schleife kopiert wird und anschliessend die MD5-Summen der Quell- und Zieldatei verglichen werden. Wenn diese identisch sind wird die Schleife beendet und mit der naechsten Datei fortgefahren.
Da diese Pruefung bei schwaecheren Rechnern durchaus einen ordentlichen Einfluss auf die Abarbeitungszeit des Scripts hat hab ich dies optional gehalten, kann also in der Datei lfs_config.sh aktiviert, bzw. deaktiviert, werden.
Wenn ich nachher wieder zuhause bin werd ich daraus mal eine LiveCD basteln und diese etwas testen. Das System entspricht zwar nicht ganz dem das auf die endgueltige LiveCD kommt, aber das ist fuer den Test wohl eher nebensaechlich.
Anschliessend will ich dann mit GCC 4.0 testen. Wenn dies durchlaeuft kommt GCC 4.1 dran.
In der Zwischenzeit versuch ich die noch bestehenden Probleme mit Shadow und DPKG zu loesen.
Danach kommen dann nochmal die Komplettbuilds mit allen 3 GCC-Versionen und zu guter Letzt kommt dann der "CD-Build" wo dann eben nur die Software installiert wird die auch fuer die CD benoetigt wird, also das Basissystem wie man es aus dem LFS-Buch kennt, plus ein paar sinnvolle Erweiterungen wie z.B. die pciutils, usbutils und alle FS-Utils (also fuer Ext2/3/4, ReiserFS, JFS und XFS). Fuer die LiveCD unsinniger Kram wie IPTables, RPM oder SLocate (fuer die CD ist Locate vollkommen ausreichend, wenn nicht auch schon ueberfluessig) werden nicht installiert um die Groesse des ISO-Files nicht unnoetig aufzublaehen.
Wenn alles glatt laeuft koennte ich mir zu Weihnachten die finale (naja, es wird spaeter auch neue Versionen geben, aber die fuer diese Version finale) LiveCD schenken.
Anschliessend kann ich dann nochmal gucken, dass ich wieder ein wenig teste. Hab ja noch mein Notebook und auch noch einen P2 (den ich aber erstmal zusammenbasteln muss) daheim zu diesem Zweck. Ausserdem kann ich auf der Arbeit ja auch noch den Linux-Server darauf ansetzen das mal im QEmu zu bauen.

In der Zwischenzeit werd ich dann auch mal nach Webspace fuer das Projekt schauen. Mein Projektantrag bei SourceForge wurde leider abgelehnt und so muss ich mal nach Alternativen schauen. Ich werd mal bei BerliOS und bei Savannah ob man dort auch Projekte mit groesseren Dateien (also einem ISO-Image von ca. 400-450MB) hosten kann.
 
Hey,
kurze Fragen. Ist das jetzt nicht schon eher eine eigenständige Distribution anstatt einer Automatisierung ?
 
Das hört sich für mich ähnlich wie Gentoo an. Schließlich kann man da auch von Stage 1 ab kompillieren (auch wenn es nicht empfohlen wird). Da gibt es auch eine von Hand Installationsmethode und eine graphische und eine textbasierte, wobei bei der graphischen ich mir schon zweimal die Partitionen zerschossen hatte, darum lieber manuel.

Nur bei Gentoo ist inzwischen GCC 4.1 Standard (seit etwa nem halben Jahr)
 
Zuletzt bearbeitet:
Hey,
kurze Fragen. Ist das jetzt nicht schon eher eine eigenständige Distribution anstatt einer Automatisierung ?
Die Scripts basieren auf dem Linux from Scratch Buch. Jedoch hab ich daran zum Teil ein paar Aenderungen vorgenommen und auch zusaetzliche Software hinzugefuegt. Grundsaetzlich ist es aber mehr oder weniger Linux from Scratch. Und um dem, absolut gerechtfertigten, Anspruch der Wuerdigung des urspruenglichen Autors gerecht zu werden wird dies auch entsprechend erwaehnt.
Es ist also im Grunde eine eigene Distribution basierend auf Linux from Scratch. In dieser Hinsicht koennte man es wohl mit Arch Linux vergleichen, welches aber fertige Binaries ausliefert und nicht erst bei der Installation kompiliert.

Das hört sich für mich ähnlich wie Gentoo an. Schließlich kann man da auch von Stage 1 ab kompillieren (auch wenn es nicht empfohlen wird). Da gibt es auch eine von Hand Installationsmethode und eine graphische und eine textbasierte, wobei bei der graphischen ich mir schon zweimal die Partitionen zerschossen hatte, darum lieber manuel.

Nur bei Gentoo ist inzwischen GCC 4.1 Standard (seit etwa nem halben Jahr)
Richtig, es hat durchaus aehnlichkeit mit Gentoo, jedoch ohne das Repository dahinter. Es wird ein Grundsystem installiert (mit der Option ein paar zusaetzliche Komponenten zu waehlen) und das war es. Alles was danach kommt liegt, wie auch bei LFS, in der Verantwortung des Users. Darum wird auch, soweit moeglich alles im Originalzustand belassen und nur wenn es wirklich noetig ist gepatcht.
Dass der Standardcompiler GCC 3.4 ist liegt daran, dass meiner Erfahrung nach fuer so einige Pakete noch Patches fuer GCC 4.1 (und zum Teil auch fuer GCC 4.0) benoetigt werden. Bei Gentoo duerfte dies ueber das Repository fuer den User vereinfacht werden, was bei mir, aufgrund fehlenden Repositories, nicht der Fall ist. Dementsprechend kann der User frei entscheiden welche GCC-Version er nutzen moechte. In der (groesstenteils noch zu schreibenden) Doku wird auf den Umstand hingewiesen, dass GCC 3.4 soweit der kompatibelste (in Sachen Installation zusaetzlicher Software) sein duerfte und fuer GCC 4.0 und 4.1 durchaus mal noch Hand angelegt werden muss um die Software zu kompilieren.

Was mir an dem Projekt wichtig ist ist die Freiheit des Users zu entscheiden wie sein System aussieht. Darum biete ich eben nicht nur eine Version von GCC sondern lasse den User waehlen. Genauso sieht es beim Filesystem aus, wobei dort aber weniger nachtraegliche Arbeit sondern wohl eher der Verwendungszweck, die Performance oder, im Falle von Ext4, die Experimentierfreudigkeit fuer die Entscheidung des Dateisystems verantwortlich sein duerfte.

Falls Ihr, oder natuerlich auch andere User, noch Fragen zu meinem Projekt habt immer her damit. Bin gerne bereit alle moeglichen Infos herzugeben und hoffe natuerlich, dass ich damit vielleicht ein paar Leute dafuer interessieren kann.
 
Ich bin leider erst jetzt darauf gestoßen...

Mein längerfristiges Ziel ist es, einen Linux-PC als Router zu verwenden mit ein paar Extras wie Storage-System über Samba und Web-Entwicklung. Mein Problem: ich habe so gut wie gar keine Erfahrung mit Linux. Meine Idee war es, LFS zu nehmen um das mal in einer VM zu testen. Jetzt bin ich auf dein Projekt gestoßen und finde deine Beweggründe der Umsetzung nachvollziehbar ;) Ich habe bisher nur etwas mit SuSe Linux 10.1 experimentiert (und gezwungen in der Berufsschule). So weit ich es bisher verstanden habe nutzt LFS die PC Komponenten besser als so manche Distribution. Von daher wäre für mich solch eine Anleitung, wie ich das installiere/kompiliere, sehr wichtig. Vielleicht auch Beispiele, wie man die IPTables einstellt oder zumindest Verweise, wo es gut erklärt wird.

Ich hoffe, man kann es dann im Frühjahr 2007 mal testen ;)
 
Ich hab grad eben die erste funktionierende LiveCD fertig gestellt. Diese ist zwar noch nicht 100% durchgetestet, aber schonmal ein wichtiger Schritt in die richtige Richtung.
Dadurch weiss ich jetzt was ich mit der aktuellen Version der Linux-Live-Scripts zu beachten habe und welche Anpassungen ich fuer die CD vornehmen muss.
Als naechstes werden die beiden anderen GCC-Versionen getestet (bislang hab ich nur mit GCC 3.4 getestet) und Dpkg und SELinux startklar gemacht. Anschliessend wird dann nochmal alles mit allen 3 Compilern durchgerasselt um zu sehen ob weiterhin alles funktioniert und anschliessend das endgueltige LiveCD-System gebaut (die aktuelle LiveCD enthaelt einfach zu viel unnuetzen Kram und ist mit ca. 520MB auch fast 100MB groesser als die vorherige Version).
Auf jeden Fall hab ich jetzt schonmal eine bootbare Version meines Systems auf CD, was halt schonmal ermutigend ist.

Zum Thema Resourcennutzung: Ja, es ist schon richtig, dass ein selbst kompiliertes System die Resourcen etwas besser nutzt als ein System welches fuer ein etwas anderes System kompiliert wurde. Mittlerweile haelt sich das zwar etwas mehr in Grenzen, aber trotzdem wuerde ich rein gefuehlsmaessig weiterhin darauf tippen, dass LFS (oder sicher auch Gentoo) einen Performancevorteil haben.
Wenn ich mein System in die Shell boote, ohne jetzt Webserver und MySQL zu starten (aber wenn ich mich recht erinnere mit Cron und SpamAssassin) werden lediglich 16MB Speicher verbraucht. Und die Zeit bis zum Login betraegt bei mir 15 Sekunden, ca. 30 mit KDE.

Wenn Du alles von Hand kompilieren willst dann kann ich Dir nur das Linux from Scratch Buch an's Herz legen. Auch dort kannst Du eine LiveCD runterladen die alles noetige, inklusive dem Buch in HTML-Form zum lesen im Lynx, enthaelt runderladen.
Wenn Du aber gern mein automatisiertes System testen moechtest (was mich persoenlich sehr freuen wuerde, denn man kann nie genuegend Opfer, aeh Tester ;) haben) hast Du noch etwas Zeit. Denn obwohl ich jetzt bereits eine einsatzfaehige Version habe ist dies eine Version die ich nicht unbedingt herausgeben moechte da ich bereits jetzt weiss, dass noch ein paar Details hier und da verbessert werden muessen und ich bei der Arbeit daran sicher noch ein paar andere Ideen hab wo man noch schrauben kann. Ausserdem ist der aktuell auf der LiveCD enthaltene Kernel noch etwas zu sehr fuer mein System gebaut, sodass es eventuell schon Probleme geben koennte wenn auf einem anderen System gebootet wird.

Auf LFS aufbauend gibt es dann BLFS (auch ueber den Link zu finden), welches sich um die Installation zusaetzlicher Software (inklusive solcher Monster wie OpenOffice und KDE) kuemmert. BLFS duerfte im Grunde auch ohne Weiteres genutzt werden koennen um das von meinen Scripts installierte System zu erweitern. Wobei ein paar der dort angesprochenen Programme (wie z.B. IPTables) bei mir bereits als Option mit drin sind. ;)

Was bei LFS auch nicht unterschaetzt werden sollte ist eben der Lerneffekt, denn das Buch vermittelt einiges an Wissen, welches bei anderen Distributionen (auch bei meiner, und wahrscheinlich auch bei Gentoo) nicht vermittelt wird.

Zum Thema IPTables kann ich Dir die offiziellen HowTos auf http://www.iptables.org und natuerlich auch mein IPTables Tutorial empfehlen.
 
In der Zwischenzeit werd ich dann auch mal nach Webspace fuer das Projekt schauen. Mein Projektantrag bei SourceForge wurde leider abgelehnt und so muss ich mal nach Alternativen schauen. Ich werd mal bei BerliOS und bei Savannah ob man dort auch Projekte mit groesseren Dateien (also einem ISO-Image von ca. 400-450MB) hosten kann.
Dass mit SF ist übel. :(
Haben sie denn auch eine Begründung für die Ablehnung gegeben?

Hast Du mal über BitTorrent nachgedacht?
Ist zwar keine wirklich Alternative zum Webspace, währe aber zumindest schonmal ein Anfang.
Für die ersten 2-3 Tester könntest Du evtl. ja auch einen FTP aufmachen.

[off]
Und haue bei längeren Texten bitte mal hin und wieder eine Leerzeile rein..... lässt sich dann besser lesen. ;)
[/off]

@Radhad, ein Router ist zum routen gedacht..... evtl. noch als Firewall.
Aber ein Storage-System, Webserver oder sonstiges hat da nichts zu suchen (Thema Sicherheit). ;)
Dann langt als Router auch ein alter 486er oder P1 als "1 Disketten System". ;)
 
Dass mit SF ist übel. :(
Haben sie denn auch eine Begründung für die Ablehnung gegeben?
Ja, eine Begruendung gab es auch, sogar recht umfassend.
Hier mal ein kleiner, aber wohl der bedeutendste, Auszug:
, we also place significant focus on retaining all file releases a project makes; with distro releases typically exceeding 500MB for a single release, maintaining the full historical work of such a project does pose significant problems with regard to disk consumption.
Mal kurz zusammenfassend uebersetzt: Die legen halt Wert darauf eine komplette Versions-History zu haben, und da eine komplette Distribution gern mal ueber 500MB kommt (ich bin zwar noch etwas drunter, aber ob das fuer immer so bleibt ist ja bekanntlich ungewiss) duerfte das in Sachen Speicherplatz doch etwas heftig sein.
Ich kann's ja im Grunde auch verstehen.

Die CD-Images die es sonst so bei SourceForge gibt scheinen auch alle etwas kleiner zu sein als meines. ;) Naja, diese enthalten dann aber auch nicht unbedingt GCC und 260MB Source-Archive.

Hast Du mal über BitTorrent nachgedacht?
Ist zwar keine wirklich Alternative zum Webspace, währe aber zumindest schonmal ein Anfang.
Für die ersten 2-3 Tester könntest Du evtl. ja auch einen FTP aufmachen.
Schon richtig, nur muesste ich dann meinen Rechner auch dauerhaft laufen lassen, was meinen Stromversorger noch mehr freuen duerfte. Ich zahl hier allein schon mehr fuer Strom als ein Arbeitskollege mit seiner ganzen Familie. ;)
Als Alternativen wollte ich mir mal BerliOS und GNU Savannah angucken und die da mal anschreiben ob man dort Projekte mit CD-Images hosten kann. Vielleicht legen die auch nicht, wie eben SourceForge, solchen Wert darauf jede uralte Version weiterhin dort liegen zu haben sondern geben sich mit der aktuellsten zufrieden, was ja im Grunde ausreichend ist da meine Distro ja zum einen grundsaetzlich recht wenig Anspruch an die Hardware stellt, sich dies wohl auch nicht wirklich grossartig aendern wird (immerhin hab ich ja nichtmal X drin, sondern eben nur ein Basissystem) und somit die Notwendigkeit und der Sinn der Nutzung einer aelteren Version mit der neuen Version verloren geht da die neue Version eben ein vollwertiger Ersatz fuer den/die Vorgaenger ist.
Ueber BitTorrent hatte ich mal kurz nachgedacht, aber da muss ich mich mal schlau machn wie das dort genau laeuft mit dem Releasen. Ob ich da erstmal selbst fuer sorgen muss, dass sich das File verbreitet oder ob es da vielleicht auch Server gibt wo man sowas hinlegen kann damit ich eben wieder meinen Rechner schlafen lassen kann.

[off]
Und haue bei längeren Texten bitte mal hin und wieder eine Leerzeile rein..... lässt sich dann besser lesen. ;)
[/off]
Mach ich doch. :confused: Etwa nicht genug?
 
Dann gibt es halt nur eine (Alpha) Version, die nie weiterentwickelt wird. *fg*
Neben dem Webspace kommt ja dann auch noch der Traffic hinzu.

So wie ich es sehe brauchst Du einen Tracker (nicht zu verwechseln mit "Trecker" :D ) für BitTorrent, bzw. nutzt einen bereits existierenden.
Dennis Wronka hat gesagt.:
Mach ich doch. :confused: Etwa nicht genug?
Nicht wirklich..... oder verwechselst Du Leerzeilen mit Leerzeichen?! ;)
Z.b. sind die Postings Nr. 19 und 21 nur schwer zu lesen (zumindest für mich persönlich).
 
Zuletzt bearbeitet:
Hallo Ihr ;)

Mal kurz zu mir: Habe letzte Erfahrung mit LFS vor ca. 3 Jahren gemacht, auch ich hatte mal den Traum, mir meine eigene Distri zusammen zu stellen und evtl. öffentlich zugänglich zu machen. warum ich aufgehört habe ? Zeitmangel, Geldmangel und ne Freundin, die das nicht lustig fand, dass ich stundenlang rumgefummelt habe ...und das noch für "Lau" ... gestern las ich hier die Beiträge und könnte schon wieder Lust drauf bekommen, mal wieder was in der Richtung zu machen - obwohl meine Beweggründe aufzuhören selbst heute noch existent sind :D

Was will ich damit sagen ? Ganz einfach: Was haltet Ihr davon, wenn man da was gemeinsam macht ? Der Lerneffekt ist doch trotzdem noch da, obwohl ich mal behaupten möchte, dass ich nen Linux-Guru bin, und das, wo ich im April den LPI-C1 vergeigt habe, weil ich zu Müde war *g* ...also auf zu neuen Taten ;)

Bei Intersse schickt mir ne PN, ich meld mich garantiert ...

Ach ja: Webspace gibt's doch genug - mal über Universitäten oder grössere Firmen nachgedacht, die evtl. hosten könnten ? Eigentlich haben die genug Ressis, um einen höheren Traffic finanziell zu verkraften

LG
Andy
 
Zurück