Aufgrund eines Hardwareschadens musste ich bei einem meiner Rechner das Motherboard wechseln. Somit musste ich auch die Booteinträge für systemd-boot neu erstellen. Normalerweise boote ich hierfür eine Iso-Datei von Arch Linux und mounte ich einfach die Btrfs-Subvolumes und wechsel dann mit dem Befehl arch-chroot /mnt in die vorhandene Installation und erstelle dann mittels bootctl --path=/boot install die Booteinträge. Was aber nicht mehr funktioniert.
Seit systemd 257 gibt es eine Änderung die dies verhindert. Obwohl ich eigentlich systemd bevorzuge finde ich diese Änderung in dieser Form falsch. Weil es nicht einmal einen Hinweis gibt, wenn man versucht bootctl install innerhalb von chroot auszuführen. Unter https://github.com/systemd/systemd/issues/36174 gibt es bereit eine entsprechende Problemmeldung.
Die Lösung zum aktuellen Zeitpunkt ist allerdings recht einfach (und gilt nicht nur für Arch Linux). Im Falle von Arch Linux bootet man einfach eine Iso-Datei von Arch Linux und mountet dann die Partitionen bzw. in meinem Fall die btrfs Subvolumes. Danach klinkt man sich nicht, wie bisher, mit arch-chroot /mnt in die vorhandene Installation ein sondern führt direkt nach dem Mounten beispielsweise bootctl --path=/mnt/boot install aus. Bei einer manuellen Neuinstallation von Arch wäre es daher auch sinnvoll die chroot Umgebung am Schluss zu verlassen und erst dann die Einträge für den Bootloader systemd-boot mit dem entsprechenden Befehl zu erstellen.
An sich kann ich durchaus verstehen, warum diese Änderung erfolgt ist. Aber warum kann man nicht einfach einen Hinweis ausgeben, wenn man bootctl install innerhalb von chroot ausführt? Das Tool erkennt ja scheinbar durchaus eine solche Umgebung. Warum also nicht noch einen Hinweis anzeigen? Für Leute die Bugtracker nicht durchsuchen wollen oder können wäre da eine ziemliche Erleichterung. Und der Aufwand seitens der Entwickler sollte sich auch in Grenzen halten. Aber das ist vermutlich eines der Probleme die es im OSS-Bereich gibt. Es wird davon ausgegangen, dass jeder Nutzer wie ein Entwickler tickt. Was aber oft nicht der Fall ist und Nutzer davon abhält Linux zu nutzen.
