Gentoo Logo

Gentoo Linux x86 mit Software-Raid und LVM2: Kurzleitfaden zur Installation

Inhalt:

1.  Einleitung

Diese Anleitung enthält alle Kommandos, die man gebrauchen sollte, um eine Stage3-Installation einschließlich LVM2 auf einer Software-RAID-Basis abzuschließen. Man benötigt eine Internetverbindung, um das Stage3 und die Portage-Snapshots zu laden.

Wichtig: Neue Benutzer sollten das Handbuch lesen, da es eine bessere Übersicht über den Installationsprozess gibt. Der Kurzleitfaden ist für erfahrene Benutzer, die nur eine zu befolgende Checkliste benötigen, gedacht.

Es werden Zeitangaben für alle Kommandos gemacht, welche mehr als ein paar Sekunden zur Durchführung benötigen. Zeitmessungen erfolgten auf einem AMD 2000 PC mit 1.66 Ghz und 512Mb RAM sowie zwei SATA-Festplatten, die an einen Hardware-Controller in JBOD-Konfiguration angeschlossen sind (d.h. Gentoo sieht zwei separate Festplatten). Wenn Sie einen "Hardware"-RAID-Controller auf Ihrem Motherboard haben, ist es höchstwarscheinlich kein Hardware-Controller.

Befehlsauflistung 1.1: Spezifikation der Testmaschine

(Die folgenden Spezifikationen und Zeitangaben sollen Ihnen helfen,
grob die Zeit abzuschätzen, die Sie für die komplette Installation benötigen
werden.)

# grep bogo /proc/cpuinfo
bogomips       : 3337.81

# hdparm -tT /dev/sda /dev/sdb
/dev/sda:
reads:   1048 MB in  2.00 seconds = 524.00 MB/sec
 Timing buffered disk reads:  152 MB in  3.01 seconds =  50.50 MB/sec

/dev/sdb:
 Timing cached reads:   1048 MB in  2.00 seconds = 524.00 MB/sec
 Timing buffered disk reads:  152 MB in  3.01 seconds =  50.50 MB/sec

# grep MemTotal /proc/meminfo
MemTotal:       509248 kB

2.  Kurzleitfaden zur Installation

Installationsmedien

Laden Sie sich eine CD von einem unserer Mirror. Sie können das ISO-Abbild der Minimal-CD unter releases/x86/current-iso/ finden. Die Minimal-Installations-CD ist nur für Internet-basierte Installationen sinnvoll. Dieser Leitfaden verwendet die Minimal-CD.

Brennen Sie die CD und booten Sie damit.

Von der CD booten

Drücken Sie beim Boot-Bildschirm F2, um herauszufinden, welche Boot-Optionen bestehen. Sie können entweder gentoo oder gentoo-nofb starten; letztere schaltet Framebuffer ab. Wenn Sie von der Live CD booten, vergessen Sie nicht, die nox Option anzugeben, um das Starten der grafischen Umgebung (X) zu verhindern. Verschiedene Optionen erlauben es, bestimmte Merkmale ein- oder auszuschalten. Wenn alles gut geht, wird Ihre Hardware erkannt und alle Module geladen. Falls der Kernel nicht ordentlich bootet oder Ihr Computer während des Bootvorgangs stehen bleibt, werden Sie wohl mit verschiedenen Konfigurationen experimentieren müssen. Der sicherste Weg ist wahrscheinlich, die nodetect Option zu verwenden und dann benötigte Module explizit nachzuladen.

Befehlsauflistung 2.1: Booten mit der Minimal-CD

Gentoo Linux Installation LiveCD                     http://www.gentoo.org
Enter to Boot; F1 for kernels  F2 for options.
boot: gentoo-nofb
  (oder falls es Probleme gibt)
boot: gentoo-nofb nodetect

Optional: Module nachladen

Wenn Sie die nodetect Option beim Booten verwendet haben, laden Sie nun die benötigten Module. Sie benötigen das Netzwerk und Zugriff auf die Festplatten. Das Kommando lspci kann Ihnen helfen, Ihre Hardware zu identifizieren.

Befehlsauflistung 2.2: Nachladen benötigter Module

livecd root # lspci
(Verwenden Sie die Ausgabe von lspci, um benötigte Module zu
identifizieren.)

(Das folgende ist ein Beispiel, passen Sie es entsprechend Ihrer
Hardware an.)
livecd root # modprobe 3w-9xxx
livecd root # modprobe r8169

Netzwerk-Konfiguration

Wenn Ihr Netzwerk nicht bereits arbeitet, können Sie das Kommando net-setup verwenden, um Ihr Netzwerk zu konfigurieren. Möglicherweise müssen Sie vor der Konfiguration modprobe aufrufen, um das Modul zur Unterstützung Ihrer Netzwerkkarte zu laden. Wenn Sie ADSL haben, verwenden Sie pppoe-setup und pppoe-start. Wenn Sie einen ADSL-Router verwenden, baut dieser die Verbindung für Sie auf und Sie brauchen diese Skripte nicht ausführen. Für PPTP-Unterstützung editieren Sie zunächst /etc/ppp/chap-secrets und /etc/ppp/options.pptpund verwenden dann pptp<server ip>.

Für Wireless-Zugang verwenden Sie zunächst iwconfig, um die Parameter der Wireless-Verbindung einzustellen, und dann entweder nochmal net-setup oder manuell ifconfig, dhcpcd und/oder route.

Wenn Sie einen Proxy verwenden, vergessen Sie nicht, Ihr System mit export http_proxy, ftp_proxy und RSYNC_PROXY zu initialisieren.

Befehlsauflistung 2.3: Automatische Konfiguration des Netzwerks

livecd root # net-setup eth0

Sie können alternativ das Netzwerk auch manuell starten. Das folgende Beispiel weist Ihrem PC die IP-Adresse 192.168.1.10 zu und definiert 192.168.1.1 als Ihren Router und Namensserver.

Befehlsauflistung 2.4: Manuelle Konfiguration des Netzwerks

livecd root # ifconfig eth0 192.168.1.10/24
livecd root # route add default gw 192.168.1.1
livecd root # echo nameserver 192.168.1.1 > /etc/resolv.conf

Die Installations-CD erlaubt es Ihnen, einen sshd-Dienst zu starten, zusätzliche Benutzer anzulegen, irssi (ein Kommandzeilen-Chat-Client) zu starten und mit links im Web zu surfen.

Optional: Verbindung zu Ihrem Rechner mittels ssh aufnehmen

Das interessanteste ist natürlich sshd. Sie können ihn starten und sich dann von einer anderen Maschine verbinden und die Kommandos aus dieser Anleitung mit Cut'n'Paste dort ausführen.

Befehlsauflistung 2.5: sshd starten

livecd root # time /etc/init.d/sshd start
 * Generating hostkey ...
(sshd generiert die Schlüssel und gibt noch mehr aus)
 * starting sshd ...                            [ok]

real   0m13.688s
user   0m9.420s
sys    0m0.090s

Nun setzen Sie das Passwort auf der Live CD, so dass Sie sich von einem anderen Rechner aus anmelden können. Bitte beachten Sie, dass es unter normalen Umständen nicht ratsam ist, root den Zugang über ssh zu erlauben. Wenn Sie Ihrem lokalen Netzwerk nicht vertrauen können, wählen Sie ein langes, kompliziertes Passwort; Sie werden es nur einmalig verwenden, da es nach dem ersten Neustart verschwinden wird.

Befehlsauflistung 2.6: Das root-Passwort setzen

livecd root # passwd
New UNIX password: hier_ihr_passwort_eingeben
Retype new UNIX password: hier_ihr_passwort_erneut_eingeben
passwd: password updated successfully

Jetzt können Sie ein Terminal auf einem anderen Rechner starten und sich mit dem neuen Rechner verbinden, der weiteren Anleitung in einem anderen Fenster folgen und die Kommandos mit Cut'n'Paste im Terminal ausführen.

Befehlsauflistung 2.7: Von einem anderen Rechner Verbindung zum neuen Rechner aufbauen

(Verwenden Sie die IP-Adresse Ihres neuen Rechners)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: Hier das Passwort eingeben

Vorbereiten der Festplatten

Laden Sie die Module für Software-RAID und LVM2.

Befehlsauflistung 2.8: Laden der RAID- und LVM2-Module

livecd ~ # modprobe raid0
livecd ~ # modprobe raid1
(raid5, raid6 und raid10 sind auch verfügbar)

livecd ~ # modprobe dm-mod

Verwenden Sie fdisk oder cfdisk, um Ihr Partitions-Layout zu erstellen. Die Gerätenamen sind höchstwarscheinlich /dev/sda und /dev/sdb für SATA- oder SCSI-Festplatten, bzw. /dev/hda und /dev/hdb für IDE-Festplatten. Das folgende Layout wird in dieser Anleitung verwendet:

/dev/sda /dev/sdb Typ
/dev/md1 /boot /boot Raid-1 (gespiegelt)
swap swap Normale Partitionen
/dev/md3 / / Raid-1 (gespiegelt)
/dev/md4 LVM2 Volumes Raid-0 (gestriped)

Wichtig: Ihre Boot-Partition darf nicht gestriped sein. Sie sollte auch kein RAID-5 oder RAID-0 sein.

Notiz: Einerseits sollten Sie, falls Sie mehr Stabilität wünschen, darüber nachdenken RAID-1 (oder sogar RAID-5) für Ihre Swap-Partition(en) zu verwenden, damit ein Festplattenausfall nicht Ihren Swap-Bereich korrumpiert und die Anwendungen abstürzen lässt, die Sie gerade benutzen. Andererseits sollten Sie, falls Sie mehr Leistung wünschen, einfach den Kernel getrennte Swap-Partitionen nutzen lassen, da er Striping standardmäßig nutzt.

Befehlsauflistung 2.9: Partitionen erzeugen

livecd ~ # fdisk /dev/sda
(Benutzen Sie Typ fd und setzen Sie das bootable Flag)

(Der Rest dieser Anleitung verwendet das folgende
Partitionsschema)
livecd ~ # fdisk -l /dev/sda

Disk /dev/sda: 299.9 GB, 299989204992 bytes
255 heads, 63 sectors/track, 36471 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          11       88326   fd  Linux raid autodetect
/dev/sda2              12          61      401625   82  Linux swap / Solaris
/dev/sda3              62         311     2008125   fd  Linux raid autodetect
/dev/sda4             312       36471   290455200   fd  Linux raid autodetect

(Partitionieren Sie die zweite Festplatte identisch zur
ersten)
livecd ~ # fdisk /dev/sdb

Dann erstellen Sie die RAID-Geräteknoten und Geräte. Bitte bedenken Sie, dass die /boot und / Mount-Punkte ein älteres Metadatenformat verwenden sollten, sofern Sie kein initramfs zum Booten verwenden. Verwenden Sie dazu das Flag --metadata=0.90:

Befehlsauflistung 2.10: Erstellen der Geräteknoten und Geräte

livecd ~ # mknod /dev/md1 b 9 1
livecd ~ # mknod /dev/md3 b 9 3
livecd ~ # mknod /dev/md4 b 9 4

livecd ~ # mdadm --create /dev/md1 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1
mdadm: array /dev/md1 started.
livecd ~ # mdadm --create /dev/md3 --level=1 --raid-devices=2 --metadata=0.90 /dev/sda3 /dev/sdb3
mdadm: array /dev/md3 started.
livecd ~ # mdadm --create /dev/md4 --level=0 --raid-devices=2 /dev/sda4 /dev/sdb4
mdadm: array /dev/md4 started.

(Abwarten, bis alle Einheiten bereit sind)
livecd ~ # cat /proc/mdstat
Personalities : [raid0] [raid1]
md4 : active raid0 sdb4[1] sda4[0]
581006592 blocks 64k chunks

md3 : active raid1 sdb3[1] sda3[0]
1959808 blocks [2/2] [UU]

md1 : active raid1 sdb1[1] sda1[0]
88256 blocks [2/2] [UU]

Wenn Sie ein initramfs verwenden, dann ist dieses beim Booten für das Zusammensetzen der RAID-Arrays verantwortlich. Bei einem von genkernel erstelltem initramfs kann dies mit der Boot-Option domdadm veranlasst werden.

Dann erstellen Sie die LVM2-Volumes in /dev/md4. Das folgende Schema wird als Beispiel benutzt:

Verzeichnis Größe Dateisystem
/usr 8 GB ext3
/usr/portage 2 GB ext2, kleine Blockgröße, viele INodes
/usr/portage/distfiles 4 GB ext2, große Blockgröße, weniger INodes
/home 10 GB ext3
/opt 4 GB ext3
/var 4 GB ext3
/var/tmp 6 GB ext2
/tmp 2 GB ext2

Befehlsauflistung 2.11: Erstellen der LVM2-Volumes

livecd ~ # vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found
livecd ~ # vgchange -a y
  No volume groups found

(Erstellen der physikalischen Volumes, in unserem Beispiel nur
eines)
livecd ~ # pvcreate /dev/md4
  Physical volume "/dev/md4" successfully created

(Erstellen der Volume-Gruppen, in unserem Beispiel auch nur
eine)
livecd ~ # vgcreate vg /dev/md4
  Volume group "vg" successfully created

(erstellen der logischen Volumes)
livecd ~ # lvcreate -L8G -nusr vg
  /dev/cdrom: open failed: Read-only file system
  Logical volume "usr" created (Weitere ähnlich lautende Meldungen
  werden nicht aufgeführt)
livecd ~ # lvcreate -L2G -nportage vg
livecd ~ # lvcreate -L4G -ndistfiles vg
livecd ~ # lvcreate -L10G -nhome vg
livecd ~ # lvcreate -L4G -nopt vg
livecd ~ # lvcreate -L4G -nvar vg
livecd ~ # lvcreate -L6G -nvartmp vg
livecd ~ # lvcreate -L2G -ntmp vg

(Anzeigen der Volume-Gruppen und logischen Volumes)
livecd ~ # vgs
  VG   #PV #LV #SN Attr  VSize   VFree
  vg     1   8   0 wz--n 554.09G 514.09G
livecd ~ # lvs
  LV        VG   Attr   LSize  Origin Snap%  Move Copy%
  distfiles vg   -wi-a-  4.00G
  home      vg   -wi-a- 10.00G
  opt       vg   -wi-a-  4.00G
  portage   vg   -wi-a-  2.00G
  tmp       vg   -wi-a-  2.00G
  usr       vg   -wi-a-  8.00G
  var       vg   -wi-a-  4.00G
  vartmp    vg   -wi-a-  6.00G

Verwenden Sie mke2fs, mke2fs -j, mkreiserfs, mkfs.xfs und mkfs.jfs, um die Dateisysteme zu erstellen. Initialisieren Sie die Swap-Partition mit mkswap und swapon.

Befehlsauflistung 2.12: Erstellen der Dateisysteme und Swap aktivieren

(Sie benötigen nur ext2 auf der /boot Partition)
livecd ~ # mke2fs /dev/md1

(Wir verwenden ext3 auf der root Partition)
livecd ~ # mke2fs -j /dev/md3

(Erstellen der Dateisysteme auf den logischen Volumes)
livecd ~ # mke2fs -b 4096 -T largefile /dev/vg/distfiles
livecd ~ # mke2fs -j /dev/vg/home
livecd ~ # mke2fs -j /dev/vg/opt
livecd ~ # mke2fs -b 1024 -N 200000 /dev/vg/portage
livecd ~ # mke2fs /dev/vg/tmp
livecd ~ # mke2fs -j /dev/vg/usr
livecd ~ # mke2fs -j /dev/vg/var
livecd ~ # mke2fs /dev/vg/vartmp

(Erstellen und aktivieren des Swap)
livecd ~ # mkswap /dev/sda2 && mkswap /dev/sdb2
livecd ~ # swapon -p 1 /dev/sda2 && swapon -p 1 /dev/sdb2
(Überprüfen Sie, dass alle Swap-Partitionen die gleiche Priorität
verwenden)
livecd ~ # swapon -v -s
Filename                   Type            Size    Used    Priority
/dev/sda2                  partition       401616  0       1
/dev/sdb2                  partition       401616  0       1

Hängen Sie das frisch erzeugte Dateisystem bei /mnt/gentoo ein. Erstellen Sie die Verzeichnisse der anderen Mount-Punkte und hängen Sie sie auch ein.

Befehlsauflistung 2.13: Einhängen der Dateisysteme

livecd ~ # mount /dev/md3 /mnt/gentoo
livecd ~ # cd /mnt/gentoo
livecd gentoo # mkdir boot home usr opt var tmp
livecd gentoo # mount /dev/md1 /mnt/gentoo/boot
livecd gentoo # mount /dev/vg/usr /mnt/gentoo/usr
livecd gentoo # mount /dev/vg/home /mnt/gentoo/home
livecd gentoo # mount /dev/vg/opt /mnt/gentoo/opt
livecd gentoo # mount /dev/vg/tmp /mnt/gentoo/tmp
livecd gentoo # mount /dev/vg/var /mnt/gentoo/var
livecd gentoo # mkdir usr/portage var/tmp
livecd gentoo # mount /dev/vg/vartmp /mnt/gentoo/var/tmp
livecd gentoo # mount /dev/vg/portage /mnt/gentoo/usr/portage
livecd gentoo # mkdir usr/portage/distfiles
livecd gentoo # mount /dev/vg/distfiles /mnt/gentoo/usr/portage/distfiles

(Setzen Sie die richtigen Berechtigungen auf den
tmp-Verzeichnissen)
livecd gentoo # chmod 1777 /mnt/gentoo/tmp /mnt/gentoo/var/tmp

Einrichten des Stage

Zunächst stellen Sie mit date MMDDhhmmYYYY sicher, dass Datum und Uhrzeit Ihres Rechners korrekt eingestellt sind. Verwenden Sie UTC-Zeit.

Befehlsauflistung 2.14: Setzen von Datum und UTC-Zeit

(Uhrzeit prüfen)
livecd gentoo # date
Mon Mar  6 00:14:13 UTC 2006

(Setzen Sie das aktuelle Datum und die Zeit bei Bedarf)
livecd gentoo # date 030600162006 (Das Format ist
MMDDhhmmYYYY)
Mon Mar  6 00:16:00 UTC 2006

Als nächstes laden Sie ein Stage von einem unserer Mirror.

Befehlsauflistung 2.15: Laden eines Stage3 Archivs

livecd gentoo # links http://www.gentoo.org/main/de/mirrors.xml
(Wählen Sie einen Mirror, wechseln Sie in das Verzeichnis
releases/x86/current-stage3/, markieren Sie das stage3 Ihrer Wahl,
wahrscheinlich das i686-stage3, und drücken Sie D zum Herunterladen)

(Oder laden Sie es direkt mit wget, ohne einen nahegelegenen
Mirror zu wählen)
livecd gentoo # wget ftp://distfiles.gentoo.org/pub/gentoo/releases/x86/current-stage3/stage3-i686-*.tar.bz2

Gehen Sie nach /mnt/gentoo und entpacken Sie das Stage mit dem Befehl tar xjpf <stage3 tarball>.

Befehlsauflistung 2.16: Entpacken des stage3-Archivs

livecd gentoo # time tar xjpf stage3*

real  1m14.157s
user  1m2.920s
sys   0m7.530s

Chroot ausführen

Hängen Sie die Dateisysteme /proc, /dev und /sys ein, kopieren Sie die Datei /etc/resolv.conf und dann wechseln Sie mit chroot in Ihre Gentoo-Umgebung.

Befehlsauflistung 2.17: Chroot

livecd usr # cd /
livecd / # mount -t proc proc /mnt/gentoo/proc
livecd / # mount --rbind /dev /mnt/gentoo/dev
livecd / # mount --rbind /sys /mnt/gentoo/sys
livecd / # cp -L /etc/resolv.conf /mnt/gentoo/etc/
livecd / # chroot /mnt/gentoo /bin/bash
livecd / # source /etc/profile

Beziehen Sie den neuesten Portage-Snapshot von den Mirrorn mit emerge-webrsync.

Befehlsauflistung 2.18: Ausführen von emerge-webrsync, um einen Portage-Snapshot zu installieren

livecd / # mkdir /usr/portage
livecd / # emerge-webrsync

Setzen Sie Ihre Zeitzone

Setzen Sie Ihre Zeitzone, indem Sie die richtige Auflistung in /usr/share/zoneinfo verwenden.

Befehlsauflistung 2.19: Setzen der Zeitzone

livecd / # ls /usr/share/zoneinfo
(Wir verwenden Berlin als Beispiel)
livecd / # cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
livecd / # echo "Europe/Brussels" > /etc/timezone

livecd / # date
Wed Mar  8 00:46:05 CET 2006

Wählen des Profils

Wählen Sie Ihr Profil mit eselect. Die Ausgabe kann wie folgt aussehen:

Befehlsauflistung 2.20: Verifizieren des System-Profils

livecd / # eselect profile list
Available profile symlink targets:
  [1]    default/linux/x86/13.0 *
  [2]    default/linux/x86/13.0/desktop
  [3]    default/linux/x86/13.0/desktop/gnome
  [4]    default/linux/x86/13.0/desktop/kde
  [5]    default/linux/x86/13.0/server

Wählen Sie das passende Profil. Denken Sie daran, dass die Standard-USE-Flags anhand des gewählten Profils gesetzt werden.

Befehlsauflistung 2.21: Wechseln des Profils

livecd / # eselect profile set 2

Setzen Sie Ihren Hostnamen und Domain-Namen

Sie setzen Ihren Hostnamen in /etc/conf.d/hostname und /etc/hosts. Im folgenden Beispiel benutzen wir mybox als Hostnamen und at.myplace als Domainnamen. Sie können entweder die Konfigurationsdateien mit nano editieren oder die folgenden Kommandos benutzen:

Befehlsauflistung 2.22: Host- und Domainnamen setzen

livecd / # cd /etc
livecd etc # echo "127.0.0.1 mybox.at.myplace mybox localhost" > hosts
livecd etc # sed -i -e 's/hostname.*/hostname="mybox"/' conf.d/hostname
(Definierten Hostnamen verwenden und überprüfen)
livecd etc # hostname mybox
livecd etc # hostname -f
mybox.at.myplace

Kernel-Konfiguration

Installieren Sie einen Kernel-Quellcode (üblicherweise gentoo-sources), konfigurieren und kompilieren Sie ihn und kopieren Sie dann die Datei arch/i386/boot/bzImage nach /boot.

Befehlsauflistung 2.23: Installieren und Kompilieren des Kernel-Quellcodes und Installieren des Kernels

livecd etc # time emerge gentoo-sources

real  3m3.110s
user  1m2.320s
sys   0m34.990s
livecd etc # cd /usr/src/linux
livecd linux # make menuconfig

(Konfigurieren Sie Ihren Kernel wie üblich und stellen Sie sicher, dass
die von Ihnen benötigten RAID- und LVM-Module einkompiliert werden, d.h.
nicht als Module. Dasselbe gilt auch für Festplattentreiber und
Dateisysteme.)
Multi-device support (RAID and LVM)  --->
[*] Multiple devices driver support (RAID and LVM)
  <*>   RAID support
  < >     Linear (append) mode (NEW)
  <*>     RAID-0 (striping) mode
  <*>     RAID-1 (mirroring) mode
  < >     RAID-10 (mirrored striping) mode (EXPERIMENTAL) (NEW)
  < >     RAID-4/RAID-5 mode (NEW)
  < >     RAID-6 mode (NEW)
  < >     Multipath I/O support (NEW)
  < >     Faulty test module for MD (NEW)
  <*>   Device mapper support
  < >     Crypt target support (NEW)
  < >     Snapshot target (EXPERIMENTAL) (NEW)
  < >     Mirror target (EXPERIMENTAL) (NEW)
  < >     Zero target (EXPERIMENTAL) (NEW)
  < >     Multipath target (EXPERIMENTAL) (NEW)
  < >     Bad Block Relocation Device Target (EXPERIMENTAL) (NEW)

livecd linux # time make -j2

(Die vergangene Zeit ist sehr abhängig von den von Ihnen gewählten
Optionen)
real  5m5.869s
user  4m32.320s
sys   0m32.930s

livecd linux # make modules_install
livecd linux # cp arch/i386/boot/bzImage /boot/kernel

Bauen Sie nun ein initramfs, mit dem System gebootet wird.

Befehlsauflistung 2.24: Bauen eines initramfs

# emerge genkernel
# genkernel --install --no-ramdisk-modules --lvm --mdadm initramfs

Konfiguration des Systems

Editieren Sie Ihre Datei /etc/fstab und ersetzen Sie BOOT, ROOT und SWAP mit den tatsächlichen Partitionsnamen und fügen Sie Ihre logischen Volumes hinzu. Vergessen Sie nicht zu überprüfen, ob die angegebenen Dateisysteme mit Ihrer Installation übereinstimmen.

Befehlsauflistung 2.25: fstab-Beispiel

livecd linux # cd /etc
livecd etc # nano -w fstab
/dev/md1          /boot                   ext2  noauto,noatime  1 2
/dev/md3          /                       ext3  noatime         0 1
/dev/sda2         none                    swap  sw,pri=1        0 0
/dev/sdb2         none                    swap  sw,pri=1        0 0
/dev/vg/usr       /usr                    ext3  noatime         1 2
/dev/vg/portage   /usr/portage            ext2  noatime         1 2
/dev/vg/distfiles /usr/portage/distfiles  ext2  noatime         1 2
/dev/vg/home      /home                   ext3  noatime         1 2
/dev/vg/opt       /opt                    ext3  noatime         1 2
/dev/vg/tmp       /tmp                    ext2  noatime         1 2
/dev/vg/var       /var                    ext3  noatime         1 2
/dev/vg/vartmp    /var/tmp                ext2  noatime         1 2

Konfigurieren Sie Ihr Netzwerk in /etc/conf.d/net. Fügen Sie das Init-Skript net.eth0 in den Runlevel default ein. Falls Sie mehrere NICs haben, symlinken Sie diese zum Init-Skript net.lo und fügen Sie sie ebenfalls zum Runlevel default hinzu. Vergessen Sie auch nicht, Ihren Hostnamen zu setzen. Editieren Sie entweder /etc/conf.d/net mit nano oder verwenden Sie folgende Kommandos:

Befehlsauflistung 2.26: Netzwerk-Konfiguration

livecd etc # cd init.d
livecd init.d # ln -s net.lo net.eth0
livecd init.d # cd ../conf.d
livecd conf.d # echo 'config_eth0="192.168.1.10 netmask 255.255.255.0 brd 192.168.1.255"' >> net
livecd conf.d # echo 'routes_eth0="default via 192.168.1.1"' >> net
livecd conf.d # echo 'hostname="myhostname"' > hostname
livecd conf.d # rc-update add net.eth0 default
(Wenn Sie den Netzwerkkartentreiber als Modul konfiguriert haben, fügen
Sie ihn zu /etc/conf.d/modules hinzu.)
livecd conf.d # echo 'modules="r8169"' >> /etc/conf.d/modules
(Wenn Sie nach dem Neustart wieder mittels ssh eine Verbindung zum
neuen Rechner aufnehmen wollen)
livecd conf.d # rc-update add sshd default

Notiz: Falls Sie Unterstützung für PCMCIA-Karten benötigen, emergen Sie pcmciautils.

Setzen Sie das root-Passwort mit passwd.

Befehlsauflistung 2.27: Setzen des root-Passworts

livecd conf.d # passwd
New UNIX password: hier_ihr_passwort_eingeben
Retype new UNIX password: hier_ihr_passwort_erneut_eingeben
passwd: password updated successfully

Editieren Sie /etc/timezone, um die Zeitzone, die Sie zuvor verwendet haben, zu definieren.

Befehlsauflistung 2.28: /etc/timezone editieren

Europe/Brussels

Überprüfen Sie die Systemkonfiguration in /etc/rc.conf und /etc/conf.d/keymaps und passen Sie sie bei Bedarf an.

Befehlsauflistung 2.29: Optional: Einige Konfigurationsdateien anpassen

livecd conf.d # nano -w /etc/rc.conf
livecd conf.d # nano -w /etc/conf.d/keymaps

Installieren von Systemwerkzeugen

Installieren der RAID- und LVM2-Werkzeuge.

Befehlsauflistung 2.30: Installieren der RAID- & LVM2-Werkzeuge

livecd conf.d # emerge mdadm lvm2
livecd conf.d # rc-update add mdraid boot
livecd conf.d # rc-update add lvm boot

Installieren Sie einen Systemlogger wie syslog-ng und einen cron-Daemon wie vixie-cron, und fügen Sie sie zum Runlevel default hinzu.

Notiz: Cron-Daemons benötigen einen MTA. mail-mta/ssmtp wird als eine Abhängigkeit angezogen. Wenn Sie einen fortschrittlicheren MTA wünschen, können Sie ihn jetzt installieren. Wenn Sie es eilig haben, lassen Sie ssmtp installieren und entfernen Sie ihn später, wenn Sie den MTA Ihrer Wahl installieren.

Befehlsauflistung 2.31: Einen Syslogger und einen Cron-Daemon installieren

livecd conf.d # time emerge syslog-ng vixie-cron

real  1m54.099s
user  1m2.630s
sys   0m34.620s
livecd conf.d # rc-update add syslog-ng default
livecd conf.d # rc-update add vixie-cron default

Installieren Sie die notwendigen Systemwerkzeuge (xfsprogs, reiserfsprogs oder jfsutils) und Netzwerk-Werkzeuge (dhcpcd oder ppp), falls Sie sie benötigen.

Befehlsauflistung 2.32: Zusätzliche Werkzeuge nach Bedarf installieren

livecd conf.d # emerge xfsprogs       (Wenn Sie das Dateisystem
XFS nutzen)
livecd conf.d # emerge jfsutils       (Wenn Sie das Dateisystem
JFS nutzen)
livecd conf.d # emerge reiserfsprogs  (Wenn Sie das Dateisystem
Reiser nutzen)
livecd conf.d # emerge dhcpcd         (Wenn Sie einen DHCP
client nutzen)
livecd conf.d # emerge ppp            (Wenn Sie eine Verbindung
über PPPoE ADSL benötigen)

Konfiguration des Bootloaders

Emergen Sie grub und konfigurieren Sie es. Vergessen Sie nicht, die erforderlichen Boot-Parameter zu aktualisieren, wenn Sie ein initramfs verwenden.

Befehlsauflistung 2.33: Grub emergen und seine Konfigurationsdatei editieren

livecd conf.d # time emerge grub

real  1m4.634s
user  0m39.460s
sys   0m15.280s
livecd conf.d # nano -w /boot/grub/grub.conf

Befehlsauflistung 2.34: grub.conf-Beispiel

default 0
timeout 10

title Gentoo
root (hd0,0)
kernel /boot/kernel root=/dev/md3
initrd /boot/initramfs # Nur bei Verwendung einer initramfs

Befehlsauflistung 2.35: Installation von grub

livecd conf.d # grub
Probing devices to guess BIOS drives. This may take a long time.

grub> root (hd0,0)
 Filesystem type is ext2fs, partition type 0xfd

grub> setup (hd0)
 Checking if "/boot/grub/stage1" exists... yes
 Checking if "/boot/grub/stage2" exists... yes
 Checking if "/boot/grub/e2fs_stage1_5" exists... yes
 Running "embed /boot/grub/e2fs_stage1_5 (hd0)"...  16 sectors are embedded.
succeeded
 Running "install /boot/grub/stage1 (hd0) (hd0)1+16 p (hd0,0)/boot/grub/stage2 /boot/
grub/menu.lst"... succeeded
Done.

grub> quit

Neustart

Verlassen Sie die Chroot-Umgebung, hängen Sie alle Dateisysteme aus und booten Sie neu:

Befehlsauflistung 2.36: Neustart

livecd conf.d # exit
livecd / # umount -l /mnt/gentoo/usr{/portage/distfiles,/portage,}
livecd / # umount -l /mnt/gentoo/dev{/pts,/shm,}
livecd / # umount -l /mnt/gentoo{/usr,/var/tmp,/tmp,/var,/opt,/dev,/proc,/home,/boot,}
livecd / # reboot
(Vergessen Sie nicht, die CD herauszunehmen)

Die Installation abschließen

Notiz: Die absolute Zeit zwischen dem Anzeigen des Boot-Prompts der Minimal-CD und des Login-Prompts auf unserem Test-System war 00:42:31. Ja, weniger als eine Stunde! Beachten Sie, dass diese Zeit auch das stage3, den Portage-Snapshot und das Herunterladen verschiedener anderer Pakete, sowie das Konfigurieren des Kernels, beinhaltet.

Loggen Sie sich als root ein und fügen Sie dann einen, oder mehrere Benutzer für den täglichen Gebrauch mit useradd hinzu.

Befehlsauflistung 2.37: Von einem anderen PC zu Ihrem neuen System verbinden

(Bereinigen Sie Ihre known_hosts-Datei, das neue System hat einen neuen
Schlüssel generiert)
$ nano -w ~/.ssh/known_hosts
(Suchen Sie nach der IP Ihres neuen PCs, löschen Sie die Zeile,
speichern und verlassen Sie nano.)

(Benutzen Sie die IP-Adresse Ihres neuen Systems)
$ ssh root@192.168.1.10
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
RSA key fingerprint is 96:e7:2d:12:ac:9c:b0:94:90:9f:40:89:b0:45:26:8f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (RSA) to the list of known hosts.
Password: Geben_Sie_ein_Passwort_ein

Befehlsauflistung 2.38: Einen neuen Benutzer hinzufügen

mybox ~ # adduser -g users -G lp,wheel,audio,cdrom,portage,cron -m john
mybox ~ # passwd john
New UNIX password: John's Passwort setzen
Retype new UNIX password: nochmals John's Passwort
passwd: password updated successfully

Letzte Konfigurationen

Beginnen Sie mit dem Auswählen nahegelegener Mirros durch Definition von SYNC und GENTOO_MIRROS in der /etc/portage/make.conf, oder mittels mirrorselect. An dieser Stelle können Sie außerdem die Anzahl gleichzeitig auszuführender Kompilations-Prozesse definieren.

Befehlsauflistung 2.39: mirrorselect verwenden und MAKEOPTS setzen

mybox ~ # emerge mirrorselect
mybox ~ # mirrorselect -i -o >> /etc/portage/make.conf
mybox ~ # mirrorselect -i -r -o >> /etc/portage/make.conf
(Die Anzahl der Prozessoren+1 ist normalerweise ein guter Wert)
mybox ~ # echo 'MAKEOPTS="-j2"' >> /etc/portage/make.conf

Jetzt ist ein guter Zeitpunkt um ein paar USE-Flags zu de-/aktivieren. Führen Sie emerge -vpe world aus, um alle aktuell installierten Pakete und deren de-/aktivierte USE-Flags aufzulisten. Editieren Sie /etc/make.conf, oder verwenden Sie die folgenden Befehle um die USE-Variable zu definieren:

Befehlsauflistung 2.40: Aktive USE-Flags anzeigen und manche de-/aktivieren

mybox ~ # emerge -vpe world
(Portage zeigt die Pakete und deren USE-Flags. Lassen Sie
uns beispielsweise fortran deaktivieren und ipv6 und unicode aktivieren)
mybox ~ # echo 'USE="nptl nptlonly -ipv6 -fortran unicode"' >> /etc/portage/make.conf

Neuere Versionen von glibc benutzen /etc/locale.gen, um Einstellungen bezüglich der Locales zu definieren.

Befehlsauflistung 2.41: Locales definieren

mybox ~ # cd /etc
mybox etc # nano -w locale.gen
mybox etc # locale-gen

Last, not least, können Sie die CFLAGS-Variable in Ihrer /etc/portage/make.conf modifizieren, um den Code für Ihre speziellen Bedürfnisse zu optimieren. Beachten Sie bitte, dass eine lange Liste an Flags selten gebraucht wird und sogar zu einem defekten System führen kann. Es wird empfohlen, den Prozessor-Typ mit der march-Option zu spezifizieren und es bei -O2 -pipe zu belassen.

Sie werden außerdem vielleicht zu ~x86 wechseln wollen. Sie sollten dies nur tun, wenn Sie mit seltsam defekten Ebuilds und Paketen klarkommen. Wenn Sie Ihr System lieber stabil halten, fügen Sie nicht die ACCEPT_KEYWORDS-Variable hinzu. FEATURES="ccache" hinzuzufügen ist ebenfalls eine gute Idee.

Befehlsauflistung 2.42: Letzte Arbeiten an der make.conf

mybox etc # cd portage
mybox portage # nano -w make.conf
(Setzen Sie -march in den CFLAGS auf Ihren CPU-Typ)
CFLAGS="-O2 -march=athlon-xp -pipe"
(Nur hinzufügen, wenn Sie wissen, was Sie tun)
ACCEPT_KEYWORDS="~x86"

Sie werden Ihr System vielleicht zweifach re-kompilieren wollen, um sicher zu stellen, dass die letzten Konfigurations-Änderungen vollen Effekt zeigen. Es würde einiges an Zeit in Anspruch nehmen und nur wenig Gewinn bringen. Sie können Ihr System sich mit den nach und nach erscheinenden neuen Versionen von Paketen selbst optimieren lassen. Jedoch ist das Neukompilieren weiterhin eine gute Idee, wenn man vom Standpunkt der Erhaltung der Systemkonsistenz ausgeht. Bitte lesen Sie den Gentoo GCC Upgrade Leitfaden, welcher eine Diskussion über die Leistungen eines solchen gebauten Systems enthält.

Es wird genug Zeit in Anspruch nehmen die Pakete zu re-kompilieren, die seit der Veröffentlichung ein Update erfahren haben, oder von neuen USE-Flags betroffen sind. Unter Umständen werden Sie außerdem einige Pakete mit emerge -C entfernen müssen, die ein Upgrade blockieren. Betrachten Sie dazu die Ausgabe von emerge -vpuD --newuse world auf das Auftreten von "[blocks B ]" hin.

Befehlsauflistung 2.43: Ihre Pakete aktualisieren

(Beachten Sie bitte, dass der Wechsel zu ~x86 eine Menge zu
aktualisierender Pakete nach sich zieht)
mybox etc # emerge -vpuD --newuse world
(Werfen Sie einen genauen Blick auf die Paketliste und die USE-Flags,
entfernen Sie ggf. blockierende Pakete und starten Sie den langatmigen Prozess)
mybox etc # time emerge -vuD --newuse world
(79 wurden (re)kompiliert)

real  180m13.276s
user  121m22.905s
sys   36m31.472s

(Re-emergen Sie libtool, um potenziellen Problemen auszuweichen)
mybox etc # emerge --oneshot libtool

(Aktualisieren Sie Ihre Konfigurationsdateien. Stellen Sie sicher, dass
dispatch-conf keine Konfigurationsdateien überschreibt, die Sie editiert
haben)
mybox etc # dispatch-conf

(Wenn perl aktualisiert wurde, sollten Sie das perl-cleaner-Script
ausführen)
mybox etc # time perl-cleaner all
real  1m6.495s
user  0m42.699s
sys   0m10.641s

(Im Falle eines Major-Upgrade python's sollten Sie das
python-updater-Script ausführen)
mybox etc # python-updater

Was noch kommt

Abhängig vom Einsatzgebiet Ihrer neuen Gentoo-Maschine, werden Sie vielleicht Server-Anwendungen, oder ein Desktop-System installieren wollen. Nur als Beispiel, emerge gnome und emerge kde wurden auf einem ~x86-System, aufgesetzt, wie oben beschrieben, gestoppt. Beide wurden vom selben Ausgangspunkt aus installiert.

Sie sollten unseren Dokumentations-Index betrachten, um zu erfahren, wie Sie die Applikationen Ihrer Wahl installieren und konfigurieren.

Wichtig: Das Folgende ist nur ein Beispiel. Es ist keineswegs als empfohlenes Setup gemeint.

Befehlsauflistung 2.44: Emerge GNOME

mybox etc # emerge -vp gnome
(Betrachten Sie die Liste der Pakete und deren USE-Flags, editieren Sie
dann die make.conf, wenn nötig.)
mybox etc # nano -w /etc/portage/make.conf
(Die folgenden USE-Flags wurden gesetzt)
USE="-fortran dbus -kde -qt4 -eds "

mybox etc # time emerge gnome
(326 Pakete wurden emerged)

real  520m44.532s
user  339m21.144s
sys   146m22.337s

Befehlsauflistung 2.45: Emerge KDE

mybox etc # emerge -vp kde-meta
(Betrachten Sie die Liste der Pakete und deren USE-Flags, editieren Sie
dann die make.conf, wenn nötig.)
mybox etc # nano -w /etc/portage/make.conf
(Die folgenden USE-Flags wurden gesetzt)
USE="-fortran -eds -gnome -gstreamer -gtk -firefox"

mybox etc # time emerge kde-meta
(391 Pakete wurden emerged)

real  1171m25.318s
user  851m26.393s
sys   281m45.629s


Drucken

Seite aktualisiert 9. Februar 2013

Die Originalversion dieses Dokuments wurde zuletzt am 15. August 2013 aktualisiert

Zusammenfassung: Der Kurzleitfaden zur Installation deckt den Gentoo-Installationsvorgang in einer kurzgefassten Weise ab. Ihr Zweck ist es, Benutzern eine Stage3-Installation mit Software-RAID und LVM2 in kürzester Zeit zu ermöglichen. Der Benutzer sollte Vorkenntnisse in der Installation von Gentoo Linux haben, wenn er dieser Anleitung folgen möchte.

Xavier Neys
Autor

Sven Vermeulen
Autor

Steven Wagner
Autor

Kai Hackemesser
Übersetzer

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.