Installation auf einem IBM xServer 226

Aus wiki.archlinux.de

Vorwort

Dieser Artikel beschreibt die Installation von ArchLinux mit Hilfe des Installationsmediums 2013.02.01 auf dem IBM xServer 226. Ich persönlich benutze diesen Server als Desktop-PC.

Hardwareinformation

Nützliche Links zur Installation

Installation des Grundsystems

Keyboard Layout anpassen

Nachdem das ArchLinux Installationsmedium fertig gebootet hat, sollte man zuerst das Keyboardlayout auf Deutsch stellen:

loadkeys de-latin1

Erstellen der Partitionen mit RAID

Ein bisschen abweichend zur normalen Installationsanleitung, wollte ich ArchLinux auf einem Software RAID installieren.

Löschen alter mdadm RAIDs

Damit die nachfolgenden Schritte funktionieren, sollte man davor sicherstellen, dass keine alten Software RAIDs auf den Platten laufen.

Achtung: Die Nachfolgenden Befehle zerstören jegliche Daten und Partitionen auf den Festplatten!

Diese RAIDs liefen vorher auf meinem Server:

  • /dev/md0 bildete / via /dev/sda3,/dev/sdb3 mit RAID0
  • /dev/md1 bildete swap via /dev/sda2,/dev/sdb2 mit RAID0
  • /dev/md2 bildete /boot/ via /dev/sda1,/dev/sdb1 mit RAID1

Zuerst muss man dazu alte mdadm RAIDs stoppen

mdadm --stop /dev/md0
mdadm --stop /dev/md1
mdadm --stop /dev/md2

und anschließend den Zero Superblock löschen:

mdadm --zero-superblock /dev/sd[ab]1
mdadm --zero-superblock /dev/sd[ab]2
mdadm --zero-superblock /dev/sd[ab]3

Zusätzlich sollte man die ersten 4K der Festplatten mit Nullen überschreiben, um alte Partitionen zu löschen:

dd if=/dev/zero of=/dev/sda bsize=4096 count=1
dd if=/dev/zero of=/dev/sdb bsize=4096 count=1

Partitionen erstellen

Für mein System werde ich folgende Partitionen anlegen:

  • Partition 1 /boot 100MB
  • Partition 2 swap 512M
  • Partition 3 / 30000MB
  • Partition 4 /home Restlicher Speicher

Um die Partitionen auf den Laufwerken zu erstellen empfehle ich gdisk

gdisk /dev/sda

Falls gdisk fragt Found invalid MBR and corrupt GPT. What do you want to do? beantworte die Frage mit 2 (Create blank GPT). Zunächst erstellen wir die /boot Partition:

Command (? for help): n [Enter]
Partition number (1-128, default 1): [Enter für Default 1]
First Sector ([...], default = 2048) or [...]: [Enter für Default 2048]
Last Sector ([...]) or [...]: +100MB [Enter]
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): fd00 [Enter]
Changed type of partition to 'Linux RAID'

Die restlichen Partitionen werden nach dem gleichen Schema erstellt, die einzige Unterscheidung ist die Größe bzw. der Last Sector.

Hinweis: Beachte bitte, dass der Typ der Partitionen immer fd00 sein muss, damit das erstellen des RAIDs und das installieren des Boot Loaders später funktioniert

Bootflag setzen

Damit später das System booten kann, muss die /boot Partition noch den Legacy BIOS Bootable Flag bekommen.

Command (? for help): x [Enter]
Expert Command (? for help): a [Enter]
Partition number (1-4): 1 [Enter]
[...]
Toggle which attribute field [...]: 2 [Enter]
Toggle which attribute field [...]: [Enter um zu verlassen]

Als letztes schreiben wir die Partitionen auf die Festplatte und beenden das Programm:

Expert Command (? for help): w [Enter]
[...]
Do you want to procced? (Y/n): Y [Enter]

Partitionen auf die anderen Festplatten kopieren

Da später jede Partition Teil eines RAID Systems ist, muss jede Festplatte das Partitions-Shema, das wir für /dev/sda angelegt haben, besitzen. Dazu kopieren wir das Partitions-Shema auf /dev/sda einfach auf die anderen Festplatten. Vorher sollte man aber sicherstellen, dass GPT auf der Ziel-Festplatte läuft:

gdisk /dev/sdb

Falls gdisk nun (wieder) fragt Found invalid MBR and corrupt GPT. What do you want to do? beantworte die Frage mit 2 (Create blank GPT) und schreiben das blanke GPT auf die Platte:

Command (? for help): w [Enter]
[...]
Do you want to procced? (Y/n): Y [Enter]

Fragt gdisk nicht, kann man das Programm wieder mit q beenden. Danach kann man das Partitions-Shema folgendermaßen kopieren:

sgdisk --backup=table /dev/sda
sgdisk --load-backup=table /dev/sdb

RAIDs erzeugen

Nun können die RAIDs erzeugt werden. Dadurch werden die einzelnen zusammengehörigen Partitionen auf den Festplatten verknüpft. Für mein System möchte ich folgendes Shema verwenden:

  • /dev/md0 ist /boot und besteht aus /dev/sda1,/dev/sdb1 mit RAID1
  • /dev/md1 ist swap und besteht aus /dev/sda2,/dev/sdb2 mit RAID0
  • /dev/md2 ist / und besteht aus /dev/sda3,/dev/sdb3 mit RAID0
  • /dev/md3 ist /home und besteht aus /dev/sda4,/dev/sdb4 mit RAID0

Zuerst lädt man die benötigten RAID Module:

modprobe raid0
modprobe raid1

Anschließend kann man die RAIDs mit mdadm erzeugen.

mdadm --create /dev/md0 --level=1 --raid-devices=2 --metadata=1.0 /dev/sd[ab]1
mdadm --create /dev/md1 --level=0 --raid-devices=2 /dev/sd[ab]2
mdadm --create /dev/md2 --level=0 --raid-devices=2 /dev/sd[ab]3
mdadm --create /dev/md3 --level=0 --raid-devices=2 /dev/sd[ab]4

Formatieren der RAID Partitionen

Wenn die RAIDs erstellt sind, kann man sie wie gehabt mit mkfs formatieren

mkfs.ext2 /dev/md0
mkswap /dev/md1
swapon /dev/md1
mkfs.ext4 /dev/md2
mkfs.ext4 /dev/md3

Mounten des neuen Dateisystems

Um die Installation auf den neuen RAID Partition durchführen zu können, muss man die RAID Partitionen mounten. Zuerst / aka. /dev/md2:

mount /dev/md2 /mnt

Nun erstellen wir die benötigten Mountpunkte für die anderen Partitionen

mkdir /mnt/boot
mkdir /mnt/home

und mounten sie:

mount /dev/md0 /mnt/boot
mount /dev/md3 /mnt/home

Installation des Grundsystems auf das neue Dateisystem

Zur Installation des Grundsystems ist eine Internetverbindung erforderlich. Hierzu sollte man folgenden Artikel lesen: Establish an Internet Connection Die Installation des Grundsystems erfolgt mittels der Arch Install Scripts:

pacstrap /mnt base base-devel mdadm [weitere Pakete]

Das System einrichten

Zuerst solte man die Festplatten konfigurieren:

genfstab -p /mnt >> /mnt/etc/fstab
mdadm --detail --scan >> /mnt/etc/mdadm.conf

Danach ins neue ArchLinux System chrooten:

arch-chroot /mnt

Hostnamen festlegen

echo "Hostname" > /etc/hostname

Spracheinstellungen festlegen

echo "LANG=de_DE.UTF8" > /etc/locale.conf

Außerdem muss die gewünschte Sprache aus der /etc/locale.gen auskommentiert werden und danach mit locale-gen generiert werden:

locale-gen

Danach noch die Zeitzoneninformation einstellen

ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

und das Tastaturlayout permanent speichern:

echo "KEYMAP=de-latin1" > /etc/vconsole.conf

Kernel Einstellungen vornehmen

Damit der Kernel korrekt booten kann, muss man beim Erzeugen des Images mit mkinitcpio ein paar Einstellungen setzen:

nano /etc/mkinitcpio.conf
  1. raid0 und raid1 zum MODULES Array hinzufügen
  2. mdadm_udev zum HOOKS Array hinzufügen (nach udev)

Danach muss man das neue Kernel-Image erzeugen

mkinitcpio -p linux

Hinweis: Achte darauf, dass beim Erstellen des Images beim mdadm_udev Hook diese Zeile folgt: Custom /etc/mdadm.conf file will be used in initramfs for assembling arrays. Sollte die Zeile nicht angezeigt werden, überprüfe die Einstellungen in der /etc/mdadm.conf und konfiguriere das RAID System ggf. mit mdadm --detail --scan >> /etc/mdadm.conf erneut! Achte auch darauf, erneut mkinitcpio aufzurufen.

Root Passwort festlegen

passwd

Syslinux als Bootloader installieren

Zuerst muss Syslinux auf dem neuen System installiert werden. Bitte beachte, dass der Befehl nach arch-chroot /tmp ausgeführt werden muss:

pacman -Syy syslinux

Danach muss man Syslinux noch konfigurieren:

syslinux-install_update -im

Nun ollte man überprüfen, ob die Kernel-Zeilen in der /boot/syslinux/syslinux.cfg passen. Dort sollte in meinem Fall root=/dev/md2, also die / Partition in beiden Kernel-Zeilen stehen (Arch und Arch Fallback)

Abschluss der Installation

Zum Abchluss sollte man das arch-chroot verlassen, Alle Festplatten unmounten und das System neu starten

exit
umount /mnt/boot
umount /mnt/home
umount /mnt
reboot

Weiterführende Installation

Audio mit ALSA konfigurieren

Zuerst muss alsamixer runtergeladen werden. Das entsprechende Paket heißt alsa-utils

pacman -Syy alsa-utils

Danach sollte man da Default-Gerät festlegen. Sie dazu hier