Arch Basisinstallation¶
Als erstes sollten wir uns eine deutsche Tastaturbelegung einstellen.
Tipp
Der Bindestrich (-) liegt auf ß bei englischem Layout. Eine gewisse Ahnung über die englische Tastenbelegung kann immer mal wichtig und hilfreich sein!
Wir nutzen das Tool loadkeys
: (Beachten: y und z noch vertauscht!)
loadkeys de-latin1
Test der Paketverwaltung mit Tool pacman
: (Repos auffrischen)
pacman -Syyy
Das sollte recht fix gehen. Wenn nicht sollte man /etc/pacman.d/mirrorlist
bearbeiten und die Server in der Nähe bevorzugen.
Partitionsplan für Standard-VHDX der Hyper-V-VM (127 GB):
EFI System Partition (ESP:
/boot/EFI
): 500 MBBoot Partition (
/boot
): 500 MBLVM Partition: Rest als Physical Volume für lvm2
Die verfügbaren Laufwerke lassen sich (z.B.) mit lsblk
auflisten.
Bei der frischen VM-HDD sollte es sich um das Device /dev/sda
handeln.
Partitionierung mit Tools:
fdisk (für MBR empfohlen)
gdisk (für EFI empfohlen)
cfdisk
Kurzdarstellung gdisk mit Aufruf gdisk /dev/sda
o - erstellt neue leere GUID Partition Table (GPT)
n - erstellt neue Partition
t - Partitionstypen: ef00 (EFI/ESP), 8300 (Linux filesystem), 8e00 (Linux LVM)
w - schreiben der Partitionen
mkfs - Make Filesystems - Erste Dateisysteme formatieren:
mkfs.fat -F32 /dev/sda1 # EFI/ESP-Partition
mkfs.ext4 /dev/sda2 # Boot-Partition
Wir wollen das /dev/sda3
per LVM und mit Encryption nutzen.
Falls man die Encryption
weglässt bezieht man sich später immer direkt auf das Gerät /dev/sda3
.
Gefahr
Encryption / Verschlüsselung: (bei Passphrase konzentrieren / Tastaturbelegung / CapsLock)
cryptsetup luksFormat /dev/sda3 # HINT: Passphrase !!IMPORTANT!!
cryptsetup open --type=luks /dev/sda3 lvm # lvm a name for pv our setup
LVM (alternativ auch Befehle ohne Encryption Volume)
Wir erstellen der Reihe nach
Physical Volume (Tools:
pv...
)Volume Group (Tools:
vg...
)Logical Volume (Tools:
lv...
)
pvcreate /dev/mapper/lvm # sonst: pvcreate /dev/sda3
vgcreate volgroup0 /dev/mapper/lvm # sonst: vgcreate volgroup0 /dev/sda3
lvcreate -L 40GB volgroup0 -n lv_root
lvcreate -L 50GB volgroup0 -n lv_home # ca. 30% frei für ggf. LVM Snapshots
# Rest der VG komplett nutzen: lvcreate -l 100%FREE volgroup0 -n lv_home
Die beiden Logical Volumes für root und home formatieren:
mkfs.ext4 /dev/volgroup0/lv_root
mkfs.ext4 /dev/volgroup0/lv_home
Jetzt müssen wir die Volumes mounten und hierfür ggf. entsprechende Verzeichnisse bereitstellen:
mount /dev/volgroup0/lv_root /mnt
mkdir /mnt/home
mount /dev/volgroup0/lv_home /mnt/home
mkdir /mnt/boot
mount /dev/sda2 /mnt/boot
Speziell müssen wir an die spätere /etc/fstab
denken:
mkdir /mnt/etc
genfstab -U -p /mnt >> /mnt/etc/fstab
Das sollte man auf jeden Fall mal checken mit cat /mnt/etc/fstab
!
Und jetzt geht weiter mit:
Bootstrapping des Systems mit dem Arch-Tool
pacstrap
Ch-Rooten mit Arch-Tool
arch-chroot
pacstrap -i /mnt base linux linux-firmware # gerne auch: linux-lts
arch-chroot /mnt # Wechsel in Root-Dir
Install-Tests und Vervollständigen des Systems mit weiterer Software:
pacman -S nano vim linux-headers base-devel dialog # ggf. auch linux-lts-headers
Anm.: hier könnte man auch gleich Pakete wie openssh oder networkmanager … installieren.
Vorbereitungen LVM - Kernel mit LVM bauen
pacman -S lvm2
nano /etc/mkinitcpio.conf # Change: HOOKS=" .... block encrypt lvm2 filesystem ....)
mkinitcpio -p linux
# mkinitcpio -p linux-lts # if you installed linux-lts
Sprache, Tastatur, Clock
# locales - de_DE.UTF8 UTF-8 auskommentieren
nano /etc/locale.gen
locale-gen
# LANG auskommentieren in /etc/locale.conf oder einfach
echo LANG=de_DE.UTF-8 > /etc/locale.conf
# no dead keys - dann kann man Akzentzeichen aus 2 Zeichen zusammensetzen
echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
# setting the hardware clock
hwclock --systohc
hostname & hosts
Bearbeiten nano /etc/hostname
(oder natürlich mit Vim)
archvbox
Bearbeiten nano /etc/hosts
127.0.0.1 localhost
::1 localhost
127.0.1.1 archvbox.localdomain archvbox
Benutzer und Passworte
passwd # set root pass
useradd -m username # erstelle neuen User
passwd username # password für neuen User
usermod -aG wheel,audio,video,optical,storage username # Gruppen
Sudo konfigurieren
pacman -S sudo # ggf. EDITOR=nano visudo
visudo # Bearbeiten von /etc/sudoers
# auskommentieren: %wheel ALL=(ALL) ALL
GRUB installieren / konfigurieren
pacman -S grub
pacman -S efibootmgr dosfstools os-prober mtools
Bei Nutzung von Encrytpion: Default Grub für crypt konfigurieren
nano /etc/default/grub
# uncomment: GRUB_ENABLE_CRYPTODISK=y
# prepare: GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 cryptdevice=/dev/sda3:volgroup0:allow-discards quiet"
Tipp
Auflösung später für Hyper-V-VM optimieren: … quiet video=hyperv_fb:1920x1080 …
Grub mit EFI
MBR-alternative: grub-install && grub-mkconfig -o /boot/grub/grub.cfg
mkdir /boot/EFI # if doing UEFI)
mount /dev/sda1 /boot/EFI # Mount FAT32 EFI partition (if doing UEFI)
grub-install --target=x86_64-efi --bootloader-id=grub_uefi --recheck
grub-mkconfig -o /boot/grub/grub.cfg
Anm.: check ls -al /boot/grub/locale
(de vorhanden?)
Swapfile - kann man auch erstmal weglassen und später im System bereitstellen!
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
echo '/swapfile swap swap defaults 0 0' | tee -a /etc/fstab
Networking
pacman -S networkmanager # later/also: network-manager-applet
systemctl enable NetworkManager
ssh - openSSH Server
pacman -S openssh
systemctl enable sshd
Reboot
exit # the chroot by typing "exit"
umount /mnt # unmount - if busy: umount -l /mnt)
reboot
Vor dem eigentlichen Neustart die ISO aus der VM-Umgebung/Konfiguration entfernen.
Post-Installation
cat /etc/fstab # Mounts checken
pacman -Syu # System aktualisieren
pacman -S man-db man-pages # Weiterer Test und ggf. man-pages-de
pacman -S bash-completion # Bash Completion
yay - AUR Helper bereitstellen
Weiteres Tool installieren: hier für die Nutzung des AUR
pacman -S git base-devel # Standardtools bereitstellen
# als User in /home/user/:
git clone https://aur.archlinux.org/yay-git.git
cd yay-git
makepkg -si
Das sollte es dann gewesen sein: wir haben eine funktionstüchtige Basisinstallation mit Arch Linux als Hyper-V-VM:
Als Rausschmeißer noch ein paar Infos rund um Arch-Installationen:
Infos / more Zeug zu Arch-Installationen
#############################################################
INFO: till here everything working Arch as Hyper-V Machines !
#############################################################
Hint: Snapshot and then tests with X-server / Graphic-Env !
#############################################################
You may install on **real machines** or Vbox (kein Installationen bei Hyper-V)
#############################################################
pacman -S intel-ucode (or amd-ucode)
pacman -S mesa
pacman -S nvidia nvidia-utils (or/and nvidia-lts)
pacman -S virtualbox-guest-utils xf64-video-vmware (or xf86-video-fbdev)
#############################################################
Hyper-V: just for Hyper-V **integration services**
see: https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/manage/manage-hyper-v-integration-services )
(for X-Support later: xf86-video-fbdev)
#############################################################
pacman -S hyperv # do not install - only for those integrations*
systemctl enable hy_fcopy_daemon.service
systemctl enable hy_kvp_daemon.service
systemctl enable hy_vss_daemon.service
#############################################################
Insbesondere sei nochmals auf die Hyper-V Integration Services von Microsoft hingewiesen, die man nur für die dargestellten Zusatztechniken benötigt - eine Verbesserung der Grafikausgaben wird nicht angeboten.
Status Pakete: pacman -Q | wc -l
ergeben knapp 200 Pakete.