Installation und erste Schritte mit CRUX

Ich bin zu CRUX noch ein paar Worte schuldig. Wie vor ein paar Monaten angesprochen ist CRUX keine Stangenware, sondern mehr Linux-Haute-Couture. Maßgeschneiderte Ware, die mit Sicherheit ihren Preis hat, aber eben auch genau das widerspiegelt, was so mancher Geek schön und reizvoll findet: Geschwindigkeit, Anpassungsfähigkeit und die Schönheit des Schlichten.
Ich versuche in allen weiteren Beiträgen das übliche Blabla zu vermeiden und nicht zu versuchen für eine andere Zielgruppe zu schreiben, die so nie existieren wird. Das Schöne an CRUX ist, dass es wirklich technisch sehr übersichtlich und einfach aufgebaut ist. Es lässt sich aber überhaupt nicht mit Distributionen wie Ubuntu vergleichen, wo der Benutzer bei der Installation geführt wird und Programme vorkompiliert und durch Tausende von Benutzer getestet worden sind.
Die Gemeinschaft von CRUX ist deutlich kleiner und auch in der Dokumentation beschränkt man sich auf Einfachheit. Englisch ist die vorherrschende Sprache. Die Anleitungen sind auf den Punkt gebracht. Man erwartet, dass man sich im Internet über so Dinge wie Kernelkompilierung oder Bedienung einzelner Software gezielt informiert. CRUX ist also eine Do-it-yourself-Distribution, die sich ausdrücklich an erfahrene Linuxanwender richtet.
Ich verfolge mit CRUX folgende Ziele.

  1. Ich möchte quellbasierte Distributionen besser kennenlernen. Ich erhoffe mir dadurch auch ein paar interessante Einblicke in Gentoo und Slackware zu bekommen, die ich bisher kaum getestet habe, die aber vergleichbare Konzepte wie CRUX kennen. Genau genommen hilft die Gentoo-Dokumentation oft bei CRUX-Problemen weiter.
  2. Ich möchte ein maßgeschneidertes CRUX für meinen ältesten Laptop, den Toshiba Satellite 220CS, konfigurieren. Es soll sowohl ein reines Konsolensetup geben als auch eine Version mit grafischer Oberfläche. Außerdem möchte ich irgendwann CRUX auch mal auf einem moderneren System dauerhaft installieren.

Installation

Die Installation wird kurz und knapp im Handbuch von CRUX beschrieben. Wer schon Erfahrungen mit Arch Linux oder Gentoo gesammelt hat, wird sich eher wohl fühlen als jemand, der bisher vom Debian-Installer und der Ubuntu-Installation verwöhnt worden ist. Tatsache ist aber auch, dass die Installation bis auf die Kernelkompilierung absolut nachvollziehbar und auf den Punkt gebracht ist. Da man alles von der Konsole aus erledigt, entsteht kein Overhead an Standardeinstellungen. Das System bleibt dadurch äußerst schlank.

  1. Ladet euch ein passendes Abbild herunter. Es gibt von CRUX 2.7.1 sowohl eine i686 als auch eine Version für x86_64. Mit CRUX 2.7 existiert auch ein Image für i586! USB-Abbilder sind ebenfalls verfügbar.
  2. TIPP: CRUX lässt sich auch problemlos in einer virtuellen Maschine testen. Bei Virtualbox empfehle ich z.B. als Adaptertyp unter Netzwerkeinstellungen "INTEL PRO/1000 MT Desktop". 2 GB Festplattenspeicher sind zum ersten Testen ausreichend. Der meiste Platz wird durch die Kernelkompilierung beansprucht.
  3. Einloggen als Benutzer root. Es gibt kein Passwort.
  4. Partitionierung

    fdisk /dev/sda
    Partition sda1 -> Swap
    Partition sda2 -> /
    Partition sda3 -> /home (optional)

    mkfs.ext4 /dev/sda2

  5. Partitionen einhängen

    mount /dev/sda2 /mnt
    mount /dev/sda3 /mnt/home (optional)
    mkswap /dev/sda1
    swapon /dev/sda1
  6. Gebt setup ein, um das Installationsskript zu starten. Die Core-Pakete reichen zum ersten Testen aus. Einzelne Pakete lassen sich auch abwählen.
  7. In Chroot-Umgebung wechseln

    setup-chroot
    Im Einzelnen werden folgende Schritte durch das Skript ausgeführt.

    mount --bind /dev /mnt/dev
    mount --bind /tmp /mnt/tmp
    mount -t proc proc /mnt/proc
    mount -t sysfs none /mnt/sys
    chroot /mnt /bin/bash
  8. Das Passwort für root mit passwd ändern und ggf. neue Benutzer mit useradd anlegen.
  9. Konfiguration von /etc/fstab

    /dev/sda1       swap         swap           defaults             0          0
    /dev/sda2       /            ext4           defaults             0          1
    devpts          /dev/pts     devpts         defaults             0          0
    none            /sys         sysfs          defaults             0          0
    none            /proc        proc           defaults             0          0
    
  10. Konfiguration von /etc/rc.conf

    FONT=default
    KEYMAP=de-latin1-nodeadkeys
    TIMEZONE=Europe/Berlin
    HOSTNAME=crux
    SYSLOG=sysklogd
    SERVICES=(net crond)

  11. Netzwerkkonfiguration: Bei mir funktioniert DHCP einwandfrei.
  12. Bootloader /etc/lilo.conf

    lba32
    compact
    install=text
    boot=dev/sda
    image=/boot/vmlinuz
              label=CRUX
              root=/dev/sda2
              read-only
              append="quiet"
    

    Danach lilo in der Konsole eingeben und Enter drücken.

  13. Kernelkompilierung. Das ist der wohl fehleranfälligste Punkt in der gesamten CRUX-Installation. Mir hat dieser Post enorm geholfen. Ebenso ist unter anderem dieser Beitrag von KMandla empfehlenswert. Zuvor hatte ich mehrfach versucht mit der Kernelkonfiguration von Slitaz den Kernel zu kompilieren. Das hat in der Vergangenheit bei der Erstellung eines Kernels für Debian zwar wunderbar funktioniert, scheiterte hier aber an der scheinbar legendären Fehlermeldung:

    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block

    Entscheidend sind hierbei, dass man die Standardkonfiguration der i386-Architektur als Vorlage benutzt und die richtigen Einstellungen mit menuconfig wählt. Da wir einen Standardkernel ohne InitramFS benutzen, müssen die Treiber für das Dateisystem fest einkompiliert werden, ansonsten kommt es zu oben genannter Fehlermeldung.

    cd /usr/src/linux*
    make mrproper
    make i386_defconfig
    make menuconfig
    make all && make modules_install
    cp arch/x86/boot/bzImage /boot/vmlinuz
    cp System.map /boot

Wenn ihr Naturtalente seid, erhaltet ihr im ersten Anlauf nach erfolgreicher Kernelübersetzung und dem Installieren des Bootloaders Lilo ein bootfähiges System und startet in eure erste CRUX-Installation durch. Wahrscheinlich wird es aber mehrere Anläufe brauchen und nach und nach sollte man dann immer mehr Treiber aus dem Kernel entfernen, die man für die eigene Hardware gar nicht benötigt. Schließlich erhält man dadurch einen maßgeschneiderten Linux-Kernel.
Danach beginnt der eigentliche Spaß und das Installieren von zusätzlicher Software mit prt-get und den anderen CRUX-Werkzeugen. Ein anderes Mal mehr dazu.

Links

Bisher lesenswert fand ich auch die älteren CRUX-Anleitungen im VDR-Wiki und den Erfahrungsbericht von CRUX auf dem Libretto 100CT.

CRUX: Haute Couture versus Stangenware

Eine Distribution gibt es noch für 2011. Bisher habe ich über CRUX ziemlich wenig geschrieben, sieht man einmal von meiner kleinen Liste mit leichtgewichtigen Linuxdistributionen vor einigen Monaten ab. Zum einen lag das daran, dass es da noch eine Reihe anderer Distributionen gab, die ich ausprobieren wollte und zum anderen denke ich, dass es einen einfacheren Weg gibt um in die Materie mit Linux auf älterer Hardware einzusteigen.
Doch irgendwann gelangt man an den Punkt, wenn man das Gros der leichtgewichtigen Linuxdistributionen gesichtet hat und sich nicht mehr mit vorgefertigten Lösungen zufrieden gibt. Hier kommt dann CRUX ins Spiel. Persönlich habe ich mit Außenseiterdistributionen kein Problem und ich bin auch gerne bereit mich in die Dokumentation einzuarbeiten und auf Lösungssuche zu gehen. Wer CRUX gewählt hat, wird diese Motivation auf jeden Fall brauchen.

Man sollte sich nicht davon abschrecken lassen, aber den Rat der Entwickler auch nicht ignorieren, die CRUX als Distribution für erfahrene Linuxanwender empfehlen. Die Dokumentation ist im Handbuch auf den Punkt zusammengefasst. Informationen werden in der Community hauptsächlich im IRC und per Mailingliste ausgetauscht.
CRUX muss man sich als eine Mischung aus einem BSD-System mit Ports und Konfiguration und Arch Linux vorstellen, wobei Arch Linux sich von CRUX inspirieren ließ und nicht umgekehrt. Interessanterweise gehört CRUX zu den Distributionen, die von Grund auf neu entwickelt worden sind und nicht ein Derivat von Debian sind. 😉


Oberstes Motto ist technische Einfachheit, die Vorrang vor allem anderen eingeräumt wird. Die Installation spricht für sich. Mit der Installations-CD bootet man in eine Linuxkonsole und muss von dort mit fdisk Partitionen und mit mkfs Dateisysteme anlegen. Anschließend werden die Partitionen manuell in /mnt eingebunden und dann der Textinstaller mit setup aufgerufen. Hier kann man dann die core, opt und xorg Pakete zur Installation auswählen, wovon allerdings nur core die essentiellen Pakete sind und das sind für Freunde leichtgewichtiger Systeme erfreulicherweise nicht viele.
Selbstredend müssen danach alle Konfigurationsdateien von Hand bearbeitet werden, aber nicht bevor man sich vorher mit setup-chroot in eine Chroot-Umgebung begibt. Wichtig sind vor allem die /etc/fstab, /etc/rc.conf, das Einrichten der locales und das Bearbeiten der Konfiguration für den Bootloader lilo oder GRUB. Abgeschlossen wird das Ganze mit der Kompilierung des Linuxkernels.
Wie man schnell erkennt, muss man von diversen Aspekten eines Linuxsystems detailliertere Kenntnisse besitzen und man darf sich nicht von eigenen Missgeschicken bei der Konfiguration entmutigen lassen, so wie mir das einige Male schon passiert ist. Auch wenn der Markt für CRUX und deutschsprachige Linuxbenutzer zur Zeit eher klein ist, werde ich in Zukunft trotzdem den ein oder anderen Artikel dazu schreiben. Ich denke, das liegt vor allem daran, dass ich schon so viel bei K.Mandla darüber gelesen habe und CRUX für mich dadurch schon lange kein Fremder mehr ist.
Für den schnellen Einstieg in Linux ist es unter Umständen weniger geeignet. Wer das Außergewöhnliche und Besondere sucht und mehr über Linux lernen will, hat mit CRUX eine würdige Distribution gefunden.

Leichtgewichtige Distributionen zum Ausprobieren

Kurz notiert, ein paar Distributionen, die ich im Laufe der nächsten Wochen und Monate näher kennenlernen möchte. Einige davon haben sich schon auf den alten Laptops bewährt, der Rest setzt sich aus Distributionen zusammen, die immer wieder genannt werden, wenn es um sogenannte leichtgewichtige Software geht. Debian bietet mir schon heute hervorragende Möglichkeiten wirklich jeden noch so alten Rechner zum Laufen zu bringen.
Trotzdem sollte der Blick immer mal wieder über den Tellerrand schweifen. Leichtgewichtig ist für mich nicht alles. Die ideale Distribution läuft nicht nur auf jedem Rechner, sondern lässt sich auch von Menschen bedienen, die nicht schon seit Jahrzehnten in Assembler programmieren und das ISO/OSI Referenzmodell herunter beten können.
Update: Hier gibt es einen Zwischenstand zu meinen favorisierten und leichtgewichtigen Freien Betriebssystemen

Archlinux

Arch gehört seit mehr als zwei Jahren immer wieder zu den Linuxdistributionen, die meinen Weg kreuzen, wenn es darum geht ein möglichst leichtes i686 System aufzusetzen. Schon oft bin ich im ArchLinux Wiki gelandet oder auf Foreneinträge gestoßen, die Arch als die leichtgewichtige Linuxdistribution preisen. In der Tat konzentriert sich ArchLinux darauf nach dem K.I.S.S. Prinzip zu agieren, verschwendet keine Ressourcen an zusätzliche grafische Konfigurationswerkzeuge und zeichnet sich seit langem durch eine Gemeinschaft aus, die Wert auf effiziente Software legt.

ArchBang

ArchBang basiert auf ArchLinux und nutzt in der Standardkonfiguration Openbox als Fenstermanger. Meine Hoffnung ist, dass ArchBang die Installation und Konfiguration einfacher macht. Inwiefern sie sich gegenüber dem Original auszeichnet und hier Akzente setzt bleibt abzuwarten.

ConnochaetOS

Basiert auf ArchLinux, hat aber den großen Vorteil auch auf Rechnern mit i586, sprich Pentium I, und älterer Hardware zu funktionieren.

CrunchBang

Ein anderes Bang. Im Gegensatz zu Archbang setzt Crunchbang auf Debian als Unterbau, konzentriert sich aber ebenfalls auf den Openbox Fenstermanager. Da ich auf meinem Dell Inspiron 4000 schon Debian Sid mit Openbox einsetze, bin ich gespannt wie sich Crunchbang auf dem gleichen Rechner anfühlen wird.

Crux

K.Mandla vergleicht den Performancegewinn zwischen ArchLinux und Crux mit dem Umstieg von Ubuntu auf ArchLinux. Er selbst setzt Crux auf den ältesten Pentium I Rechnern ein. Crux ist sicher nichts für Linuxeinsteiger, aber auch eine gute Möglichkeit tiefer in Linux einzusteigen.

Lubuntu

Lubuntu ist meines Wissens zur Zeit das leichtgewichtigste Derivat der Ubuntu Distribution. Als Desktopumgebung kommt LXDE zum Einsatz, welches bekanntermaßen auf Openbox als Fenstermanger zurückgreift. Lubuntu verspricht die Bedienungsvorteile von Ubuntu mit den Vorteilen des ressourcenschonenden LXDE.

PuppyLinux

Eine Distribution mit dem Ziel alten Computern neues Leben einzuhauchen. Ziel von PuppyLinux ist es, leicht zu installieren zu sein, komplett im RAM zu laufen und ohne Wenn und Aber ältere Rechner produktiv nutzen zu können.

Slitaz

Zur Zeit definitiv eine meiner Lieblingsdistributionen. Slitaz schafft es nachweislich selbst einen 15 Jahre alten Toshiba Satellite 220 CS mit nur 16 MB RAM anzutreiben. Darüber hinaus bietet Slitaz aber auch eine sehr effiziente 30 MB große Live CD und gehört sicherlich zu den Top Distributionen, wenn es um alte Hardware, leichtgewichtige Software und Maximalismus geht. Ich warte gespannt auf die kommende Veröffentlichung Slitaz 4.0.
Das soll nicht alles gewesen sein. Gentoo oder Slackware basierte Distributionen gehören sicherlich mittelfristig noch auf den Merkzettel. Prinzipiell lässt sich jede Distribution auf die Liste setzen, welche einen sparsamen Fenstermanger wie Fluxbox, IceWM, Openbox, Awesome oder ähnliches einsetzt. Für den Anfang muss das aber erst einmal reichen. 🙂