Nein, ich erfinde das Rad jetzt nicht neu. Es gibt bereits eine detaillierte und einwandfreie Anleitung für Anfänger und ich sehe eigentlich keinen Grund, diese neu zu schreiben.
Dennoch will ich hier beschreiben, wie ich Arch-Linux in qemu installiere, wobei ich wirklich nur die Schritte zeigen werde, ich ich selbst gegangen bin. Es ist quasi nichts anderes als eine Aufzeichnung von dem, was ich getan habe, um es bei Bedarf nachvollziehen zu können.
Inhalt:
Warum aber Arch-Linux? Nun, ganz einfach. Eigentlich benutze ich Gentoo-Linux auf meinen Rechnern und daran wird sich so schnell auch nichts ändern. Es ist ein System für Bastler und dadurch verbessert sich mein Verständnis für Linux immer mehr. Ausserdem kenne ich mich damit mittlerweile recht gut aus und ausser, dass Installationen zuweilen echt lange dauern, habe ich daran auch nichts zu meckern.
Dennoch neige ich dazu, mich auch mit anderen Distributionen auseinandersetzen zu wollen. Kann schliesslich nie schaden! Ausserdem habe ich einen Server gemietet, auf dem Arch-Linux läuft. Okay, da hätte ich auch Gentoo drauf installieren können, aber die Zeit war einfach nicht da.
Ich bin nun der Meinung, ich sollte das OS nun auch kennen und damit herumspielen, ohne die Funktionsfähigkeit des Servers zu gefährden! Deshalb kommt auch Arch in die virtuelle Umgebung und dort kann ich damit spielen! Geht es schief, ist es nicht dramatisch!
Vorbereitung
Vorzubereiten gibt es da ja nicht viel. Das ISO habe ich mir von der oben verlinkten Anleitung geholt und für diesen Artikel verwende ich archlinux-2019.07.01-x86_64.iso. Das kommt in das Verzeichnis arch.
Nun will qemu ja auch eine Festplatte. Aus Platzgründen fällt die bei mir nicht besonders gross aus. Lediglich 25 GB spendiere ich dem System. 20 GB für das System, der Rest als Swap und Boot.
qemu-img create -f qcow2 arch.img 25G
Fertig.
Damit sind die Vorbereitungen soweit abgeschlossen und ich könnte qemu jetzt starten. Da ich aber die Angewohnheit habe, ein Skript dafür zu schreiben, lege ich das erst einmal an. Es trägt den bezeichnenden Namen startArch.sh und liegt im gleichen Verzeichnis. Der Inhalt ist ebenfalls nicht besonders spektakulär:
qemu-system-x86_64 -m 2048 -enable-kvm -smp 2 -net nic -net user -vga vmware -display vnc=:6 -cdrom archlinux-2019.07.01-x86_64.iso -boot c -hda arch.img -device virtio-serial
Ich neige dazu, über vnc auf qemu zuzugreifen, wofür der Parameter -display vnc=:6 verantwortlich ist. Klappt alles, kann ich mittels vncviewer :6 dann darauf zugreifen. Das ist aber Geschmackssache und muss man nicht so machen.
Um das Skript ausführbar zu machen müssen noch die Rechte geändert werden.
chmod 0744 startArch.sh
Hat alles geklappt sollte folgendes zu sehen sein.
Damit wären die Vorbereitungen auch schon abgeschlossen.
Installation
Hat alles geklappt, landet man schliesslich hier und kann loslegen!
Zuerst schaue ich, ob die Uhr korrekt eingestellt ist. Ich weiss jetzt nicht wie kritisch Arch da ist, aber bei Gentoo kann es zu lustigen Effekten kommen, wenn die Uhr zu weit von der aktuellen Uhrzeit abweicht. Beim Test war es der 27.07.2019 und es war 12:43 Uhr.
Passt! Da ja gerade Sommerzeit ist, ist die lokale Zeit UTC + 2 Stunden. Hervorragend, weiter im Text.
Jetzt kommt die Festplatte an die Reihe. 20 GB soll das System bekommen, der Rest ist Swap und eine Boot-Partition. Ich bleibe bei dem, wie ich es auch bei Gentoo immer mache. Das ist dann auch weider Geschmacksache, aber ich benutze sda1 als Boot (ext2), sda2 als Swap (linux-swap) und sda3 als Root (ext4).
Aber zuerst wird das Tastatur-Layout noch auf deutsch umgestellt.
loadkeys de-latin1
Partitionieren
Boot
Angeblich reichen ein paar MB für Boot. Ich hatte aber bei Gentoo schon das Problem, dass ein neuer Kernel keinen Platz mehr hatte. Deshalb überdimensioniere ich die Partition ganz gerne und spendiere ihr 1 GB. Schaden kann es schliesslich nicht.
Los geht es mit der Partitonierung. Hier im Schnelldurchlauf:
fdisk /dev/sda
n
p
1
Enter
+1G
Hat das geklappt?
Swap
n
p
2
Enter
+4G
t
2
82
Und? Hat funktioniert?
Fantastisch!
Root
Jetzt noch die Root-Partition. Sollte ja auch kein Hexenwerk sein.
n
p
3
Enter
+19G
Die 20 GB, die ich anvisiert hatte, haben dann leider doch nicht geklappt. Aber soll mich jetzt auch nicht stören.
Hervorragend, damit ist die Partitionierung abgeschlossen. Noch schnell alles auch auf die Platte schreiben und es geht weiter.
w
Formatieren
mkfs.ext2 /dev/sda1
mkfs.ext4 /dev/sda3
Damit sind dann Boot und Root fertig. Jetzt noch Swap.
mkswap -L swap /dev/sda2
Einbinden
Gut. Nachdem die Platten bereit sind, müssen sie auch eingebunden werden.
mount /dev/sda3 /mnt
mkdir /mnt/boot
mount /dev/sda1 /boot
Noch Swap aktivieren und alles ist bereit!
swapon /dev/sda2
System installieren
Jetzt geht es rund! Das System muss auf die Platte. Also, keine Müdigkeit vorschützen und ran ans Werk!
pacstrap /mnt base base-devel bash-completion linux linux-firmware
Das dauert einen Moment. Erst wird alles runtergeladen, dann installiert. Es geht jedoch deutlich schneller als bei Gentoo!
Natürlich muss noch fstab angelegt werden, damit das System später auch weiss, wo was zu finden ist.
genfstab /mnt > /mnt/etc/fstab
Da kommt dann folgendes bei raus.
Alles wie es sein soll. Hervorragend!
Jetzt auf ins neue System und ein paar Einstellungen treffen.
arch-chroot /mnt
Das scheint mir einfacher, als unter Gentoo. Dort muss man erst einiges in das neue System mounten. Oder, man muss es bei Arch auch, aber für die weiteren Konfiguration ist es nicht nötig. Weiss ich noch nicht.
Konfiguration
Zuerst einmal der Hostname. Den setze ich ganz banal auf arch.
echo arch > /etc/hostname
Dann soll das System natürlich auf deutsch sein.
echo LANG="de_DE.UTF-8 > /etc/locale.conf
So einfach funktioniert das aber nun auch wieder nicht. Die Locale muss natürlich auch vorhanden sein. Also wird sie erstellt.
nano /etc/locale.gen
Dort die Zeile “de_DE_UTF-8 UTF-8” auskommentieren (also das # wegmachen) und speichern.
Damit wird dem System gesagt, welche Locale vorhanden sein müssen. Nun müssen sie erstellt werden.
locale-gen
Einwandfrei, weiter im Text.
Linux will ja beim starten auch gebootet werden. Dafür müssen ebenfalls ein paar Dinge eingerichtet werden.
mkinitcpio -p linux
Da kamen ein paar Warnungen, ich denke aber mal, die kann ich erst einmal vernachlässigen.
Jetzt das Passwort für root.
passwd
Wie bei Linux üblich wird nicht angezeigt, welche oder wie viele Zeichen für das Passwort eingegeben wurden.
Bootloader
Da verwende ich Grub, wie auch bei meinen Gentoos.
pacman -S grub
Damit Grub auch beim booten gestartet wird, wird er direkt in /dev/sda installiert.
grub-install /dev/sda
Soweit, so gut!
Natürlich will Grub auch wissen, welche Kernel vorhanden sind usw. Deshalb wird es auch konfiguriert.
grub-mkconfig -o /boot/grub/grub.cfg
Geht doch! Damit sollte der Teil abgeschlossen sein.
Jetzt einmal zurück, die Partitionen wieder aushängen und rebooten!
exit
umount /mnt/boot
umount /mnt
reboot
Installation abgeschlossen! Gebootet in ein ganz frisches Arch!