In Versuchung geführt
Durch meine Kompilier-Aktion des Enlightenment-Windowmanagers letzte Tage entstand bei mir wieder der Wunsch, eine Linux-Büchse am Laufen zu haben. Mein mit Debian Linux installierter PowerMac lief nach einigen Hardware-Tauschaktionen nicht mehr richtig und brachte sowieso nicht die Leistung, die ich erhofft hatte.
Ich entschied mich deshalb dafür, einen P3/667MHz, der hier ein eher bescheidenes dasein fristet, heran zu ziehen. Mit einer 9GB UW-Platte an einem Adaptec 2940U2B kann man wenigstens etwas anfangen.
Wie, kein Debian?
Da ich mit dem System besagten Enlightenment übersetzen wollte, und dieser sich noch voll in der Entwicklungsphase befindet, also häufigere Kompiliersessions angesagt sind, wollte ich nicht Debian nehmen, denn selbst die Unstable bringt veraltete Versionen von autoconf, automake und so mit, und kommt recht schnell aus dem Tritt, wenn man zu viel selbst hinzu kompiliert. Ausserdem verlangt Enlightenment häufig die aktuellsten Versionen der verschiedenen Grafik-Bibliotheken, was dazu führt, dass man eine selbst kompilierte, und eine ältere aus der Distribution auf der Platte hat - wenn man sich die Debian-Pakete nicht selber baut. Letzteres hatte ich bisher noch nicht gemacht, und da Paket-Abhängigkeiten eine delikate Angelegenheit sind, entschied ich mich gegen Debian, und das Debian-Derivat .
Der feine Unterschied
Mein Wahl fiel schließlich auf Gentoo, eine Distribution von der ich schon eine Menge guter Sachen gehört hatte. Gentoo richtet sich primär an den "erfahrenen Linuxer", die Homepage sagt an vielen Stellen "remember, Gentoo is about choice".
Und diese Wahl überläßt die Distribution dem Nutzer/der Nutzin, indem sie keinen Installer zur Verfügung stellt.
Die Idee ist schon Klasse und geht ein bißchen in Richtung Linux from Scratch, in dem Beschrieben wird, wie man sich selber ein Linux zusammen kompiliert.
Gentoo allerdings stellt dafür ein Repository mit einer Vielzahl an Paketen zur Verfügung, was den Umgang fast so einfach macht wie bei anderen Distributionen. Der Vorteil liegt klar auf der Hand: Nicht nur, dass man beim selbstkompilieren die besten Compilerflags für den eigenen Rechner mit angeben kann - also den Grad der Optimierung abstimmen kann, vielmehr kann man bei vielen Programmen den Funktionsumfang mitbestimmen. So haben etliche Anwendungen heutzutage Frontends z.B. für die Console, Gnome und KDE. Wenn man aber KDE partout nicht nutzen möchte, braucht man weder die QT-Library noch das KDE-Frontend auf der Platte.
Auch überflüssige Locales werden nicht mit installiert, weil man angeben kann, welche Locales überhaupt verwendet werden. Und da wohl die Wenigsten alle auf diesem Kontinent gesprochenen Sprachen verstehen, fehlt einem da auch nichts. Ich habe selbst die Locales für Deutschland weg gelassen, weil mir bei den meisten Übersetzungen eh nur eine kalte Gänsehaut über den Rücken läuft. en_GB ist mein Ding. :-)
Erste Schritte
Gentoo kommt als Live CD daher, auf der alles vorhanden ist, was man zur Installation benötigt. Dabei gibt es zwei Ausführungen, eine sogenannte Mini-CD und die "Universal CD". Da Gentoo hochoptimiert ist, gibt es jedes Installationspaket für jeweils jede CPU optimiert, weshalb es sich für DSL-User anbietet, die Mini-CD zu nehmen.
Wer über einen SCSI-Controller verfügt, muß im Bootprompt der CD neben einem Kernel die Option "doscsi" angeben. Es gibt weitere Optionen, die in der README.txt im Hauptverzeichnis der CD erklärt werden.
Gentoo bootet mit Splashscreen, man sieht also einen schicken grafischen Bildschirm statt einer Liste von Meldungen. Dadurch entgeht einem aber auch die zeitlich begrenzte Abfrage nach der zur verwendenden Tastatur-Map, die dann auf "us" gestellt wird... Also besser nach der Kernel-Initialisierung ALT+F1 drücken.
Danach ist Gentoo fertig, und hat man einen Bash-Prompt vor sich. Wenn alles gut gegangen ist, und man einen DHCP-Server irgendwo rumstehen hat, wie ihn auch die meisten DSL-Router standardmäßig mitbringen, hat man auch Zugang ins Internet, sehr wichtig, wenn man die Installationsdateien frisch ziehen will, anstatt die von der CD zu nehmen - was sich ebenfalls empfiehlt.
Im Folgenden macht man manuell das, was ansonten Installer machen würde, allerdings hat man alle Freiheiten, die man sich nur wünschen kann: Plattenaufteilung, Filesystemtypen, RAID und LVM, die entsprechenden Tools sind da.
Das Gentoo-Handbuch erklärt dabei alle notwendigen Abläufe und auch deren Grundlagen, also z.B. was Partitionen sind und wie diese angelegt werden. Sehr nett fand ich im nächsten Schritt, in dem es um die möglichen Filesysteme geht, die Gegenüberstellung derselben. Hier stehen die Unteschiede, Vor- und Nachteile, sowie Einsatzgebiete aufgelistet. Aufgrund dessen habe ich mich dann für ReiserFS entschieden.
Nachdem ich meine Platte mit /boot (64M), Swap (1GB) und Root (der Rest) eingerichtet hatte, wollten diese im nächsten Schritt gemountet werden. Danach kommt normalerweise der Moment, wo Installer hingehen und ein Basispaket aus dem Netz oder von der CD ziehen. Gentoo möchte, dass man ein solches Paket via links2, einem textbasierten Webbrowser, selbst lädt. Also Mirror ausgesucht - prima, die Uni Münster hat sogar einen ganzen Haufen - und herunter geladen. Gemäß der Gentoo-Philosphie der maximalen Optimierung gibt es nicht ein Paket, sondern unterhalb des x86-Verzeichnisses für ordinäre PCs gibt es dann für fast jeden Typ ein eigenes Archiv, u.a. einen für meinen pentium3.
Und danach kommt schon der Clou, denn nun will Portage installiert werden, praktisch die Gentoo-eigene Paketverwaltung, nur eben auf Source-Ebene.
Das bedeutet natürlich, dass das Basis-Archiv, welches auch den Namen Stage3 trägt, Compiler und sonstige Entwicklungstools mitbringt.
Bevor es aber richtig ans Eingemachte geht, wird erstmal in das ausgepackte Grundsystem gewechselt, mittels chroot, danach will das System ein bißchen konfiguriert werden. Es gibt einige für diese Distro spezifische Dateien wie z.B. /etc/make.conf, in der für das System gültige Optionen fürs Kompilieren gespeichert werden. Dazu zählt u.a. die schon zuvor erwähnte Möglichkeit, bestimmte Teile zu bauen, oder zu ignorieren. Hier werden auch die Compiler-Optionen in den Variablen CFLAGS und CXXFLAGS gesetzt.
Im selben Atemzug setzt man auch die Locales.
Da aber nur Nano als Texteditor vorhanden war, baute ich mir erstmal vorne weg einen vi zusammen. ;-)
Der eigene Kernel
Wer sich für Gentoo entscheidet möchte vielleicht keinen vorhandenen Kernel nutzen, auch wenn das möglich wäre, sondern zu was Eigenem greifen. Und so gehört der Download und die Konfiguration eines solchen Kernels mit zu den ersten Tätigkeiten im eigenen System.
Spannung: Einen Bootloader installieren & konfigurieren
Ja, wenn man den Kernel hat, wird es Zeit, einen Bootloader zu installieren, damit man auf die Live CD verzichten kann. Gentoo bietet sowohl grub wie auch lilo. Ich zog mir grub auf die Platte.
Das alles war auch noch nicht schwierig, danach jedoch zeigte jedoch meine Müdigkeit ihre Schattenseiten: Ganze fünf Neustarts brauchte ich, bis ich die Ursache dafür gefunden hatte, warum grub meinen Kernel nicht booten wollte - ich hatte in der grub.conf ein c zuviel im Kernelnamen, und habe es mehrmals nicht gesehen...
Ab ans Eingemachte: X11
Ich ließ meinen Rechner dann laufen, und ließ das neu installierte System erstmal X11 zusammen bauen, während ich seelig schlief.
Dieser Beitrag ist eine Zusammenfassung von vorgestern bis gestern abend. Den Beitrag zu Enlightenment schrieb ich, während der Compiler auf dem Rechner neben mir zugange war.
Ich entschied mich deshalb dafür, einen P3/667MHz, der hier ein eher bescheidenes dasein fristet, heran zu ziehen. Mit einer 9GB UW-Platte an einem Adaptec 2940U2B kann man wenigstens etwas anfangen.
Wie, kein Debian?
Da ich mit dem System besagten Enlightenment übersetzen wollte, und dieser sich noch voll in der Entwicklungsphase befindet, also häufigere Kompiliersessions angesagt sind, wollte ich nicht Debian nehmen, denn selbst die Unstable bringt veraltete Versionen von autoconf, automake und so mit, und kommt recht schnell aus dem Tritt, wenn man zu viel selbst hinzu kompiliert. Ausserdem verlangt Enlightenment häufig die aktuellsten Versionen der verschiedenen Grafik-Bibliotheken, was dazu führt, dass man eine selbst kompilierte, und eine ältere aus der Distribution auf der Platte hat - wenn man sich die Debian-Pakete nicht selber baut. Letzteres hatte ich bisher noch nicht gemacht, und da Paket-Abhängigkeiten eine delikate Angelegenheit sind, entschied ich mich gegen Debian, und das Debian-Derivat .
Der feine Unterschied
Mein Wahl fiel schließlich auf Gentoo, eine Distribution von der ich schon eine Menge guter Sachen gehört hatte. Gentoo richtet sich primär an den "erfahrenen Linuxer", die Homepage sagt an vielen Stellen "remember, Gentoo is about choice".
Und diese Wahl überläßt die Distribution dem Nutzer/der Nutzin, indem sie keinen Installer zur Verfügung stellt.
Die Idee ist schon Klasse und geht ein bißchen in Richtung Linux from Scratch, in dem Beschrieben wird, wie man sich selber ein Linux zusammen kompiliert.
Gentoo allerdings stellt dafür ein Repository mit einer Vielzahl an Paketen zur Verfügung, was den Umgang fast so einfach macht wie bei anderen Distributionen. Der Vorteil liegt klar auf der Hand: Nicht nur, dass man beim selbstkompilieren die besten Compilerflags für den eigenen Rechner mit angeben kann - also den Grad der Optimierung abstimmen kann, vielmehr kann man bei vielen Programmen den Funktionsumfang mitbestimmen. So haben etliche Anwendungen heutzutage Frontends z.B. für die Console, Gnome und KDE. Wenn man aber KDE partout nicht nutzen möchte, braucht man weder die QT-Library noch das KDE-Frontend auf der Platte.
Auch überflüssige Locales werden nicht mit installiert, weil man angeben kann, welche Locales überhaupt verwendet werden. Und da wohl die Wenigsten alle auf diesem Kontinent gesprochenen Sprachen verstehen, fehlt einem da auch nichts. Ich habe selbst die Locales für Deutschland weg gelassen, weil mir bei den meisten Übersetzungen eh nur eine kalte Gänsehaut über den Rücken läuft. en_GB ist mein Ding. :-)
Erste Schritte
Gentoo kommt als Live CD daher, auf der alles vorhanden ist, was man zur Installation benötigt. Dabei gibt es zwei Ausführungen, eine sogenannte Mini-CD und die "Universal CD". Da Gentoo hochoptimiert ist, gibt es jedes Installationspaket für jeweils jede CPU optimiert, weshalb es sich für DSL-User anbietet, die Mini-CD zu nehmen.
Wer über einen SCSI-Controller verfügt, muß im Bootprompt der CD neben einem Kernel die Option "doscsi" angeben. Es gibt weitere Optionen, die in der README.txt im Hauptverzeichnis der CD erklärt werden.
Gentoo bootet mit Splashscreen, man sieht also einen schicken grafischen Bildschirm statt einer Liste von Meldungen. Dadurch entgeht einem aber auch die zeitlich begrenzte Abfrage nach der zur verwendenden Tastatur-Map, die dann auf "us" gestellt wird... Also besser nach der Kernel-Initialisierung ALT+F1 drücken.
Danach ist Gentoo fertig, und hat man einen Bash-Prompt vor sich. Wenn alles gut gegangen ist, und man einen DHCP-Server irgendwo rumstehen hat, wie ihn auch die meisten DSL-Router standardmäßig mitbringen, hat man auch Zugang ins Internet, sehr wichtig, wenn man die Installationsdateien frisch ziehen will, anstatt die von der CD zu nehmen - was sich ebenfalls empfiehlt.
Im Folgenden macht man manuell das, was ansonten Installer machen würde, allerdings hat man alle Freiheiten, die man sich nur wünschen kann: Plattenaufteilung, Filesystemtypen, RAID und LVM, die entsprechenden Tools sind da.
Das Gentoo-Handbuch erklärt dabei alle notwendigen Abläufe und auch deren Grundlagen, also z.B. was Partitionen sind und wie diese angelegt werden. Sehr nett fand ich im nächsten Schritt, in dem es um die möglichen Filesysteme geht, die Gegenüberstellung derselben. Hier stehen die Unteschiede, Vor- und Nachteile, sowie Einsatzgebiete aufgelistet. Aufgrund dessen habe ich mich dann für ReiserFS entschieden.
Nachdem ich meine Platte mit /boot (64M), Swap (1GB) und Root (der Rest) eingerichtet hatte, wollten diese im nächsten Schritt gemountet werden. Danach kommt normalerweise der Moment, wo Installer hingehen und ein Basispaket aus dem Netz oder von der CD ziehen. Gentoo möchte, dass man ein solches Paket via links2, einem textbasierten Webbrowser, selbst lädt. Also Mirror ausgesucht - prima, die Uni Münster hat sogar einen ganzen Haufen - und herunter geladen. Gemäß der Gentoo-Philosphie der maximalen Optimierung gibt es nicht ein Paket, sondern unterhalb des x86-Verzeichnisses für ordinäre PCs gibt es dann für fast jeden Typ ein eigenes Archiv, u.a. einen für meinen pentium3.
Und danach kommt schon der Clou, denn nun will Portage installiert werden, praktisch die Gentoo-eigene Paketverwaltung, nur eben auf Source-Ebene.
Das bedeutet natürlich, dass das Basis-Archiv, welches auch den Namen Stage3 trägt, Compiler und sonstige Entwicklungstools mitbringt.
Bevor es aber richtig ans Eingemachte geht, wird erstmal in das ausgepackte Grundsystem gewechselt, mittels chroot, danach will das System ein bißchen konfiguriert werden. Es gibt einige für diese Distro spezifische Dateien wie z.B. /etc/make.conf, in der für das System gültige Optionen fürs Kompilieren gespeichert werden. Dazu zählt u.a. die schon zuvor erwähnte Möglichkeit, bestimmte Teile zu bauen, oder zu ignorieren. Hier werden auch die Compiler-Optionen in den Variablen CFLAGS und CXXFLAGS gesetzt.
Im selben Atemzug setzt man auch die Locales.
Da aber nur Nano als Texteditor vorhanden war, baute ich mir erstmal vorne weg einen vi zusammen. ;-)
Der eigene Kernel
Wer sich für Gentoo entscheidet möchte vielleicht keinen vorhandenen Kernel nutzen, auch wenn das möglich wäre, sondern zu was Eigenem greifen. Und so gehört der Download und die Konfiguration eines solchen Kernels mit zu den ersten Tätigkeiten im eigenen System.
Spannung: Einen Bootloader installieren & konfigurieren
Ja, wenn man den Kernel hat, wird es Zeit, einen Bootloader zu installieren, damit man auf die Live CD verzichten kann. Gentoo bietet sowohl grub wie auch lilo. Ich zog mir grub auf die Platte.
Das alles war auch noch nicht schwierig, danach jedoch zeigte jedoch meine Müdigkeit ihre Schattenseiten: Ganze fünf Neustarts brauchte ich, bis ich die Ursache dafür gefunden hatte, warum grub meinen Kernel nicht booten wollte - ich hatte in der grub.conf ein c zuviel im Kernelnamen, und habe es mehrmals nicht gesehen...
Ab ans Eingemachte: X11
Ich ließ meinen Rechner dann laufen, und ließ das neu installierte System erstmal X11 zusammen bauen, während ich seelig schlief.
Dieser Beitrag ist eine Zusammenfassung von vorgestern bis gestern abend. Den Beitrag zu Enlightenment schrieb ich, während der Compiler auf dem Rechner neben mir zugange war.
cptsalek - 19. Jan, 15:42