Leserartikel [How-To] Arch Linux installieren (verschlüsselt, gehärtet, spieletauglich, modular)

Arch Linux [Update]

Apparently, the LTS driver from Nvidia is supposed to be (much) more stable than the other drivers. Is this true?
 
Gutes Timing, sitze gerade dran :daumen:

Aber direkt mal eine Frage zur NVME SSD. Du schreibst man soll auf 4096 Byte gehen und alle Welt schreibt, moderne SSDs unterstützen alle die 4KB. Wenn ich aber mit smartctl -a /dev/nvme0n1 meine Samsung PM9A1 befrage, sieht es so aus, als kennt sie nur 512B :confused_alt:
Gleiches trifft auf die Samsung 980 Pro zu, was ja das gleiche Modell ist...
Code:
[...]
Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
[...]

Und wenn ich das richtig gesehen habe, setzt BTRFS eine Sektorengrüöße von 4KB voraus, oder?
 
Spike S. schrieb:
Du schreibst man soll auf 4096 Byte gehen und alle Welt schreibt, moderne SSDs unterstützen alle die 4KB.
"=> To avoid mapping, change the native sector size to 4 KiB, which should also be closer to the physical sector size and thus improve performance."
Siehe: "Relative Performance".

Spike S. schrieb:
Und wenn ich das richtig gesehen habe, setzt BTRFS eine Sektorengrüöße von 4KB voraus, oder?
Nein.
  • "gdisk handle alignment automatically."
  • "luksFormat automatically detects the optimal encryption sector size for LUKS2 format".
  • Bzgl. Btrfs: "The default value is the page size and is autodetected."
  • Bei 512e Disks (oft "512 Logical / 4096 Physical") sollte automatisch die Sektorgröße 4 KiB gewählt werden.
Ich habe zwei "Corsair Force Series MP510", bei denen ich das LBA Format ändern konnte.
Die "Samsung SSD 990 PRO" – eine NVMe 2.0 SSD – unterstützt die 4 KiB auch nicht. Ist wohl bei Samsung so.
Frage mich nicht, warum heutzutage 4 KiB immer noch nicht der Standard ist.
 
Zuletzt bearbeitet:
Ja okay, dann habe ich nix übersehen. Die Samsung Dinger bieten es einfach nicht an. Hatte das dann auch so gelassen und die weiteren Schritte liefen problemlos. LUKS hatte die Sektorengröße korrekt erkannt.

Zur Anleitung, ein Punkt über den ich gestolpert bin, war der <resume_offset> in der root.conf. Ist das ein Befehl der in vim so ausgeführt werden kann wie beschrieben? Hab das so nicht erkannt und musste mir den Wert dann anderweitig ermitteln, nach Befragung der Suchmaschine.
 
Schön, dass man den resume_offset mittlerweile ganz einfach ermitteln kann. Hätte mir damals beim Erstellen meines install-scripts einiges an Zeit erspart. :D

Ich weiß gar nicht mehr, was war, dass meine SSD mit 512 Byte alignment formatiert ist. Ich glaube, ich hatte damals ein Problem.
Wenn ich den gesamten Inhalt der SSD mit clonezilla sichere, auf 4K umstelle und dann das Backup wiederherstelle, sollte das passen?
 
Deinorius schrieb:
Ich weiß gar nicht mehr, was war, dass meine SSD mit 512 Byte alignment formatiert ist. Ich glaube, ich hatte damals ein Problem.
https://wiki.archlinux.org/title/Advanced_Format#Partition_alignment
Du hattest doch sgdisk benutzt(?)
"sgdisk by default only aligns the start of partitions. Use the -I/--align-end option to additionally enable partition size/end alignment."
"gdisk and cgdisk handle alignment automatically."

Bzgl. Backup
https://wiki.archlinux.org/title/Rsync#Full_system_backup
"… since it allows for a different size, partition table and filesystem to be used, and better than copying with cp -a as well, because it allows greater control over file permissions, attributes, Access Control Lists and extended attributes."
 
Mir kommt es, als wäre schon vor diesem Schritt etwas gewesen. So oder so werde ich mein Skript anpassen.

Backup mit rsync? Ja, das macht mehr Sinn für meinen Zweck. Ein zusätzliches Backup mit clonezilla werde ich dennoch durchführen. ^^ Danke für den Tipp!

Für /home/user nutze ich zusätzlich Komprimierung mit tar -C $HOME --exclude=a ton of things --exclude=${BACKUP_NAME}.tgz -cf - . | gzip --rsyncable >/run/media/user/extmedia/${BACKUP_NAME}.tgz, werde ich für / aber weglassen.
 
Noch eine Frage, Punkt 7.6.1 kapiere ich nicht. Welche Pakete soll man denn als "optionale Abhängigkeit" deklarieren? All solche die pacman während der Installation ausgegeben hat? Erscheint mir merkwürdig 🤔
 
Spike S. schrieb:
Welche Pakete soll man denn als "optionale Abhängigkeit" deklarieren?
Alle Pakete mit dem Tag "[deps]". Ich habe nun eine Notiz da gelassen.
In diesem Fall also nur Pakete in "Thumbnails & Image formats [deps]". Btw. kimageformats heißt nun kimageformats5.

Sinn dabei: Wenn bspw. kein Paket mehr das opt. Paket qt5-imageformats mehr benötigt, dann findet man diese auf der Liste unbenutzter Pakete, siehe "Removing unused packages".

Irgendwie hatte ich auch mit mehr opt. dep. gerechnet.
 
Ach, jetzt sehe ich auch das mit [deps] gekennzeichnete Kapitel. Zwei mal durchgeschaut, zwei mal übersehen. Jetzt leuchtet es ein.

Nächste Frage, Kapitel 9.2, Snapshot wiederherstellen, bei 9.2.6 ist mir nicht ganz klar, soll ich die vorhandene Zeile für die Wurzel in fstab ändern oder eine hinzufügen? Weil dort im Kapitel steht unter den OPTIONS ...,subvol=@ in meiner fstab ist aber noch ein Slash vor dem @ also ...,subvol=/@. Kleiner Vertipper?
 
Zuletzt bearbeitet:
Im nächsten Kapitel 9.2.7 komme ich wieder nicht weiter, der Ordner /mnt/@/.efibackup/ existiert bei mir nicht. Mir fällt auf, unter /mnt/@/usr/bin/ gibt es auch gar kein rsync...ich hatte mir jetzt auch nicht ganz genau die Ausgabe beim Installieren von Firefox als Trigger angesehen 🤔
rsync scheint in deinen Auflistungen der zu installierenden Pakete zu fehlen.

Ich gehe mal davon aus, 9.2.7 ist nur zur Probe gedacht und das kann ich in dem Fall ignorieren?

EDIT:
In Kapitel 10.6.2 ist der Link "Supported CPUs" kaputt. Richtig: https://fwupd.github.io/libfwupdplugin/hsi.html#org.fwupd.hsi.SupportedCpu
 
Zuletzt bearbeitet:
Der Pacman-Hook /etc/pacman.d/hooks/95-efibackup.hook wird erst ausgeführt, wenn bspw. der Kernel aktualisiert wird od. ein anderer Kernel installiert wird.
Dementsprechend kann man die "EFI executables from /.efibackup/" noch nicht wiederherstellen. Auch weil /.efibackup/ noch nicht gesnapshottet wurde.
"Restore EFI executables from /.efibackup/" kannst du also ignorieren.
Es gibt nun ein paar "Notes".

"Restore EFI executables from /.efibackup/" muss man auch nicht immer ausführen. Kommt auf das Problem & zu downgradende Pakete an.

Spike S. schrieb:
ich hatte mir jetzt auch nicht ganz genau die Ausgabe beim Installieren von Firefox als Trigger angesehen
Ist egal.
Habe nun nano statt firefox als Bsp. genommen.


rsync wäre später als Abhängigkeit automatisch installiert wurden (devtools, profile-sync-daemon). Habe nun sicherheitshalber das Paket rsync inkludiert.

Nur so nebenbei: Ich musste bis jetzt noch kein "System Rollback" machen, weil das System nicht mehr funktioniert hat.

Link in kommender Version aktualisiert.
 
Zuletzt bearbeitet:
Danke für deine Ausführungen. Damit ist klar, warum es kein .efibackup gibt. Der Fehler beim kopieren hatte mich nur irritiert, weil man sonst recht geschmeidig durch deine Anleitung durch kommt.

Eine Sache wäre noch, beim ersten Boot ins KDE war bei mir alles in Englisch, Login und System. Hatte auch einen Fehler bzgl. KCM beim Umstellen über die Systemeinstellungen. Durch "wildes" hin- und herschieben der Sprachen, war das System dann aber auf Deutsch. Musste aber aber alle Einheiten manuell auf die metrischen Einheiten umstellen.
Der Login, also SDDM ist aber immer noch Englisch, nur das dort angezeigte Datum ist deutsch.
Die Locales hatte ich alle auf Deutsch gestellt, während det Installation. Tastaturlayout war aber immer korrekt.
 
Ja, gemäß deiner Anleitung vom 02.10., Kapitel 6.1. Dort sind en_US genannt.

Als root wird unter dem Befehl locale LANG leer und bei meinem Nutzer mit en_US angegeben.
Habe die Sprachen in /etc/locale.conf angepasst (nur de_DE bzw. als ersten Eintrag) und die plasma-localerc beim Nutzer gelöscht, jetzt passt es an beiden Stellen.

Ich wurde vorhin übrigens vom recovery mode begrüßt, noch während der Eingabe vom LUKS Passwort. Nach einem Reboot ist es nicht nochmal passiert. Das Journal hab ich gespeichert, schaue ich mir morgen in Ruhe an.
 
Spike S. schrieb:
Ich wurde vorhin übrigens vom recovery mode begrüßt, noch während der Eingabe vom LUKS Passwort.
Du meinst wohl folgende Meldung:
1696490945673.png

Die Meldung erscheint zwei Minuten nachdem man sein crypt-password noch nicht eingegeben haben sollte.
Da der Root-Account im initramfs sowieso gesperrt ist (wegen mkinitcpio's systemd hook), gibt es auch keine funktionierende emergency shell.
Einfach Enter drücken (zum Ignorieren) & crypt-password eingeben (ohne Reboot).
Note added.

Grund sieht man im Journal:
Code:
systemd[1]: dev-gpt\x2dauto\x2droot.device: Job dev-gpt\x2dauto\x2droot.device/start timed out.
systemd[1]: Timed out waiting for device /dev/gpt-auto-root.
systemd[1]: Dependency failed for Initrd Root Device.
systemd[1]: initrd-root-device.target: Job initrd-root-device.target/start failed with result 'dependency'.
systemd[1]: initrd-root-device.target: Triggering OnFailure= dependencies.
systemd[1]: Dependency failed for Root Partition.
systemd[1]: Dependency failed for Initrd Root File System.
systemd[1]: initrd-root-fs.target: Job initrd-root-fs.target/start failed with result 'dependency'.
systemd[1]: initrd-root-fs.target: Triggering OnFailure= dependencies.
systemd[1]: sysroot.mount: Job sysroot.mount/start failed with result 'dependency'.
systemd[1]: dev-gpt\x2dauto\x2droot.device: Job dev-gpt\x2dauto\x2droot.device/start failed with result 'timeout'.
systemd[1]: Stopped target Basic System.
systemd[1]: Stopped target System Initialization.
systemd[1]: Reached target Initrd File Systems.
systemd[1]: Stopping Dispatch Password Requests to Console...
systemd[1]: systemd-ask-password-console.service: Deactivated successfully.
systemd[1]: Stopped Dispatch Password Requests to Console.
systemd[1]: systemd-ask-password-console.path: Deactivated successfully.
systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch.
systemd[1]: Started Emergency Shell.
systemd[1]: Reached target Emergency Mode.
(plym[221]: emergency.service: Executable /usr/bin/plymouth missing, skipping: No such file or directory

[Enter]
systemd[1]: Reloading requested from client PID 223 ('systemd-sulogin') (unit emergency.service)...
systemd[1]: Reloading...
systemd[1]: Reloading finished in 82 ms.
systemd[1]: emergency.service: Deactivated successfully.
systemd[1]: Stopped Emergency Shell.
systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
systemd[1]: Stopped target Emergency Mode.
systemd[1]: Check battery level during early boot was skipped because of an unmet condition check (ConditionDirectoryNotEmpty=/sys/class/power_supply).
systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.
systemd[1]: Stopped Virtual Console Setup.
systemd[1]: Reached target System Initialization.
systemd[1]: Reached target Basic System.
systemd[1]: Started Dispatch Password Requests to Console.
systemd-tty-ask-password-agent[236]: Starting password query on /dev/tty1.
systemd-tty-ask-password-agent[236]: Password query on /dev/tty1 finished successfully.
systemd-cryptsetup[208]: Set cipher aes, mode xts-plain64, key size 512 bits for device /dev/gpt-auto-root-luks.
kernel: Key type trusted registered
kernel: Key type encrypted registered
...
-> Liegt also wahrscheinlich am "GPT partition automounting".
 
Zuletzt bearbeitet:
Ja genau diese Meldung meinte ich. Dann ist das einfach der Config des Systems geschuldet und ich darf nicht trödeln :)

Die nächsten Fragen kommen bestimmt, bin noch nicht ganz durch 😅
 
Zurück
Oben