Bin gerade dabei, Arch in VirtualBox zu installieren.
Bisher hat glaube ich alles geklappt... Bin mir aber unsicher, ob ich das Dateisystem auch korrekt erstellt hab.
Erste Partition bei Sektor 2048, was alle Tools (bei parted bin ich mir nicht sicher) automatisch machen. Partitionen dann in geraden Größen erstellen, also 512 MiB, 8 GiB, dann passt alles!
Ich habe in VirtualBox 128 GB "Festplatte" eingestellt. 120 GB davon habe ich dann mit cfdisk als "dos" erstellt und anschließend als ext4 formatiert.
Die anderen 8 GB habe ich als swap erstellt.
Ich empfehle Swapfiles (außer bei Btrfs). Die haben den Vorteil, dass du die beliebig bei Bedarf anlegen, bearbeiten und löschen kannst. Partitionen haben den Vorteil nicht.
Die erste (bzw. einzige) Partition habe ich dann als /mnt gemountet und mit "mkdir /mnt/boot" ein boot-Verzeichnis erstellt, ich verstehe aber noch nicht ganz ob bzw. warum das nötig war.
War es nicht. "/boot" musst du nur erstellen, falls du auch eine separate Partition für "/boot" erstellt hast, denn ein Ordner muss existieren, damit du ein Dateisystem darin mounten kannst.
In der Anleitung wird danach die sda2-Partition in /mnt/boot gemountet, aber ich habe für /boot ja keine extra Partition erstellt.
Die Anleitung ist ja auch nicht "dumm abtippen", sondern dient als Hilfe. "/boot" wird als Beispiel benutzt, mehr nicht.
Wäre das notwendig oder empfehlenswert gewesen?
Eine eigene Partition für "/boot" brauchst du, wenn du ein UEFI hast. Bei dem System in der Systeminfo wirst du ziemlich sicher ein UEFI haben. Dort brauchst du dann als erste eine 512 MiB große FAT32-Partition mit dem Typen "EFI System" (EF00), die als deine ESP fungiert. Auf dieser Partition liegt dann dein Bootloader und dein Kernel, den dein UEFI dann startet. Mit einem klassischen BIOS (was VirtualBox standardmäßig benutzt) installiert sich GRUB in den ersten Sektor der Festplatte und mountet dann die Root-Partition.
Überhaupt verstehe ich noch nicht ganz, was es mit diesem Vorgang auf sich hat... ich nehme mal an, man mountet das neue Dateisystem, auf das man Arch installieren will, in das "temporäre" /mnt-Verzeichnis des aktuell laufenden Live-Arch, oder?
Richtig. Wenn du mal in den Installationsprozess von Ubuntu etc. reinschaust, dann wirst du feststellen, dass Ubiquity (Ubuntus Installer) einen Ordner "/target" erstellt. Dort wird dann wie du es in Arch gemacht hast die Root-Partition eingehangen und dann bspw. die Home-Partition in /mnt/home usw. Und dann macht er das Gleiche wie "pacstrap" es macht: Er installiert mit APT alle Pakete, die Ubuntu per Default mitliefert, nach /mnt, chrootet dann in /mnt und konfiguriert das System.
Außerdem verstehe ich nicht, was anschließend dann bei chroot (bzw. arch-chroot) abgeht
Warum macht man das?
Bis zum "pacstrap"-Schritt richtest du deine Partitionen ein, stellt eine Internetverbindung her, halt alles, was du für eine Installation brauchst. Mit "pacstrap" installierst du dann die Gruppe "
base" in ein von dir gewünschtes Verzeichnis, "/mnt". In dieses Verzeichnis ist deine Root-Partition eingehangen. Du installierst also die "base"-Gruppe in dein neues System. In dieser Gruppe ist alles drin, was man haben muss oder haben sollte, z.B. der Linux-Kernel, systemd, die Coreutils und util-linux, Manpages, nano, das Paket "filesystem" für die grundlegende Verzeichnisstruktur, etc. Danach ist das System installiert, aber unkonfiguriert. Deine "/etc/fstab" ist leer, du hast keinen Bootloader und du hast keinen Hostname oder deine Sprache eingestellt. Viele dieser Dinge lassen sich nicht aus der Live-Umgebung einrichten. Wenn du z.B. "locale-gen" ausführst, um deine Sprachdateien zu generieren, würdest du das für das Live-System tun. Das bringt dir nichts. Also benutzt du einen chroot (
Change
Root), welches, wie der Name schon sagt, das Verzeichnis "/" ummappt. "/" zeigt dann nicht mehr auf das Root-Verzeichnis vom Live-System, sondern auf das von dir gewählte Verzeichnis, nämlich "/mnt". Dementsprechend führst du Befehle, wie "locale-gen" für dein neues System aus und nicht für das Live-System. "arch-chroot" ist hierbei nur ein Wrapper um das standardmäßige Linux-"chroot". Verzeichnisse, wie "/dev" oder "/sys" müssen in das neue "/" zwingend mitgenommen werden, und "arch-chroot" nimmt dir diese Tipparbeit ab. Dieses und andere während der Installation benutze Scripts, z.B. "pacstrap", findest du im Paket "arch-install-scripts" bzw. auf "
git.archlinux.org". "pacstrap" macht zum Beispiel nichts Anderes als "pacman" mit der Option "--root" ausführen.