Wunderschönen Guten Abend liebe Arch gemeinde,
ich habe beschlossen Arch auf meinem Laptop mit 2 Festplatten zu installieren, (Um genauer zu sein übe ich mich erst einmal an einem Virtuellem System) da ich die schnauze voll von Antergos habe und langsam der Meinung bin ich bin bereit für pures Arch!
Wie gesagt ist gerade alles erst Virtuell, aber wenn es fertig ist, soll das System folgendermaßen aussehen:
Hardware:
Thinkpad T440p
UEFI Only eingestellt (soll auch so bleiben wenn möglich)
Verbaute Festplatten
HDD (später sda)
SSD (später sdb) (war ehemals das Optische Laufwerk verbaut)
Software:
Bootloader: systemd bootctl (wünschenswert wäre natürlich garkeiner, aber ohne klappt das ja soweit ich weiß nicht?)
Arch Linux (obvious)
i3-gaps als wm (optional) <- wenn ich es richtig verstanden habe muss ja keine De installiert werden und es sollte alles mit (nicht aufgelisteten) Tools funktionieren, wie ich es mir vorstelle.
suckless st als Terminal (optional) mit Patches
Auf die Optionalen Sachen gehe ich hier in meinem Posting erst einmal nicht ein, aber ich dachte ich erwähne diese schon einmal, falls wer einen Tipp diesbezüglich für mich haben sollte.
Die kurzfassung meines Problemes wurde schon oft aufgegriffen, jedoch bin ich entweder zu blöd was die Begriffe angeht die ich in der Suchfunktion verwendet habe oder in der Art wie ich es habe noch nicht im Forum gefragt worden:
Sobald ich Arch booten will sagt es mir \vmlinuz-linux not Found
Ich weiß das es was mit meiner eingestellten Partition zu tun hat, jedoch bin ich zu Blind den Fehler zu finden, der mir unterlaufen ist und hoffe hier kann man mir helfen und sagen woran es liegt.
Aufgrund dessen das ich eine UEFI Installation, welche verschlüsselt sein soll mit 2 Festplatten habe, habe ich mich auf fast 3 Anleitungen gestützt (denn durch jeden zusätzlichen Punkt musste ich was scheinbar ändern, was in der jeweils anderen Anleitung / Hilfe nicht stand:
https://wiki.archlinux.de/title/Anleitung_f%C3%BCr_Einsteiger
https://wiki.archlinux.de/title/UEFI_Installation
https://mbwschaetzlein.de/2013/arch-linux-encryption-and-multiple-hard-drives/
https://gist.github.com/mattiaslundberg/8620837
Hier mein kompletter Befehlsablauf
loadkeys de-latin1
wifi-menu
modprobe dm_crypt # better safe than sorry!
cgdisk /dev/sda #wie gesagt, Testsetup: hier ist die reihenfolge der Festplatten egal!
1 100MiB EFI partition # Hex code ef00
2 250MiB Boot partition # Hex code 8300
3 100% size partiton # (encrypted ROOT) Hex code 8300
cgdisk /dev/sdb
1 100% size partiton # (encrypted) Hex code 8300
cryptsetup -c aes-xts-plain64 -s 512 -h sha512 -i 5000 -y luksFormat /dev/sda3 # Root Partition wird verschlüsselt
dd if=/dev/urandom of=keyfile bs=1024 count=60 # random 60kb data, wird der Schlüssel für die zweite Festplatte
cryptsetup -c aes-xts-plain64 -s 512 -h sha512 -i 5000 --key-file keyfile luksFormat /dev/sdb1 # 2te Festplatte wird verschlüsselt
# "Öffne" Festplatten
cryptsetup luksOpen /dev/sda2 crypt_root
cryptsetup --key-file keyfile luksOpen /dev/sdb1 crypt_pool
# Einstellen der lvm
lvm pvcreate /dev/mapper/crypt_pool
lvm vgcreate lvmpool /dev/mapper/crypt_pool
lvm lvcreate -L 5GiB -n var lvmpool # bei dieser Größe habe ich mich einfach mal ans Tutorial gehalten
lvm lvcreate -L 8GiB -n swap lvmpool # bei dieser Größe habe ich einfach mal die Hälfte vom Ram genommen
lvm lvcreate -l 100%FREE -n home lvmpool
# Formatieren der Partitionen:
mkfs.vfat -F32 /dev/sda1 # EFI Partition
mkfs.ext4 /dev/sda2 # Boot Partition
mkfs.ext4 /dev/mapper/crypt_root # Root Partition
mkfs.ext4 /dev/mapper/lvmpool-var # var
mkfs.ext4 /dev/mapper/lvmpool-home # home
mkswap /dev/mapper/lvmpool-swap # Swap Datei
swapon /dev/mapper/lvmpool-swap # wahrscheinlich nicht Notwendig, aber Sicher ist Sicher
# Mounten der ganzen Partitionen
mount /dev/mapper/crypt_root /mnt
mkdir /mnt/boot
mkdir /mnt/boot/efi
mkdir /mnt/var
mkdir /mnt/home
mount /dev/sda1 /mnt/boot/efi
mount /dev/sda2 /mnt/boot
mount /dev/mapper/lvmpool-var /mnt/var
mount /dev/mapper/lvmpool-home /mnt/home
# Installieren von Arch
pacstrap /mnt base base-devel intel-ucode zsh vim git
# fstab einrichten
genfstab -pU /mnt >> /mnt/etc/fstab
cp keyfile /mnt/root/keyfile # kopieren der keyfile nach Root damit sdb natürlich auch nach dem booten entschlüsselt wir
#Füge "crypt_hdd UUID="UUID sdb1" /root/keyfile luks" der '/mnt/etc/crypttab' hinzu
# ab ins neue System
arch-chroot /mnt /bin/bash
# Setup system clock
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
hwclock --systohc --utc
# Update locale
echo LANG=de_DE.UTF-8 > /etc/locale.conf
echo LC_COLLATE=C >> /etc/locale.conf
echo LANGUAGE=de_DE >> /etc/locale.conf
# Root Passwort einstellen (User stelle ich ein wenn alles wirklich läuft!)
passwd
# Konfiguration der mkinitcpio mit benötigten modulen
vim /etc/mkinitcpio.conf
# MODULES="ext4"
# HOOKS=(base udev autodetect modconf block keymap encrypt lvm2 filesystems keyboard fsck"
# Regenerate initrd image
mkinitcpio -p linux
# Installation des Bootloaders
pacman -S efibootmgr dosfstools gptfdisk
bootctl install
# Anlegen und bearbeiten der conf
touch /boot/efi/loader/entries/arch-uefi.conf
echo title Arch Linux > /boot/loader/entries/arch-uefi.conf
echo linux /vmlinuz-linux >> /boot/loader/entries/arch-uefi.conf
echo initrd /initramfs-linux.img >> /boot/loader/entries/arch-uefi.conf
echo options root=/dev/mapper/crypt_root cryptdevice=/dev/sda3:crypt_root rw resume=/dev/mapper/lvmpool-swap >> /boot/loader/entries/arch-uefi.conf
# /boot/loader/loader.conf bearbeiten
vi /boot/efi/loader/loader.conf
default arch-* # '*' Im falle von schreibfehlern
timeout 1 # will ja nur arch und direkt in Arch rein!
# raus und reboot!
exit
umount -R /mnt
swapoff -a
reboot
Tja und nach reboot kommt eben (nach dem Menü) \vmlinuz-linux not found...
ich bin mir so ziemlich sicher das es was damit zu tun hat das ich die efi Partition von der boot Partition getrennt habe und eben /efi ein unterordner von /boot ist. Aber der Punkt das bei verschlüsselten Partitionen und EFI überall das so gehandhabt wird weiß ich leider nicht ganz was nun genau mein Fehler ist.
Ich wünsche noch einen schönen Abend und vorab schonmal vielen Dank!
EDIT:
https://bbs.archlinux.org/viewtopic.php?pid=1521041#p1521041 hatte im englischen Forum erwähnt gehabt das man die Kernel Image und initramfs nochmal in das EFI Verzeichnis kopieren soll und siehe da, die VM bootet. Nun ist es eher eine verständnisfrage menerseits: Warum lege ich eine seperate Efi Partition an und hänge nicht einfach nur /boot ein?