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.

4 Replies to “Installation und erste Schritte mit CRUX”

  1. Ah endlich wieder leichtgewichtige Systeme :> (nicht, dass ich den Rest nicht auch gern mitlese, aber das is doch mein Lieblingsthema bei dir 😉 )

  2. Hallo!

    Danke für die Verlinkung meines Wikis!

    CRUX ist eine wirklich interessante Linux-Distribution – und aufgrund des KISS-Prinzips meiner Meinung nach bedeutend anwenderfreundlicher als Gentoo oder Slackware.
    Als Workstation hat es sich bei mir nicht durchgesetzt, da ich immer Lokalisierungsprobleme hatte (obwohl der Guide beachtet wurde).
    Mein Libretto wurde durch CRUX, wie Du ja gesehen hast, zu neuem Leben erweckt. Surfen mit links-framebuffer und WLAN/WPA2 war möglich – und das bei 266 MHz und 32 MB RAM.

    Wünsche Dir viel Spaß beim Basteln!

    Interessanter Blog übrigens. 😉

    Beste Grüße,
    Christian.

  3. Hi Christian,

    danke schön für den Kommentar. Dein Eintrag zu dem Libretto und CRUX passte tatsächlich sehr gut zu meinen eigenen Erfahrungen. Leider habe ich im Moment nicht die Zeit das CRUX-Projekt weiterzuverfolgen, werde das aber in Zukunft auf jeden Fall zu Ende bringen.

    Alles Gute
    Markus

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.