Installation auf einem IBM xServer 226
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
- CPU: Intel Xeon (Core) 2x3.2Ghz
- RAM: 3GB DDR2-3200
- GPU: ATI Radeon HD4800 Series (onboard disabled due to add-in video card)
- HDD: 2x 160GB via Adaptec U320 SCSI RAID Controller (PCIx Karte; Planar SCSI disabled via BIOS: Somit auch kein Adptec HostRAID mehr verfügbar)
- SND: Terratec Aureon 5.1 PCI
Nützliche Links zur Installation
- Arch Install Scripts Basis Installationsanleitung für Fortgeschrittene
- Software Raid und LVM Einrichten einer Software RAID unter ArchLinux
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
bildeteswap
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
istswap
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
raid0
undraid1
zum MODULES Array hinzufügenmdadm_udev
zum HOOKS Array hinzufügen (nachudev
)
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