NoPaste

Systemd-Boot

von KP97

SNIPPET_TEXT:
  1. Booten mit systemd-boot
  2.  
  3. Die efi-Partition muß nach /boot/efi gemounted sein (fstab).
  4. Die Pakete systemd-boot und systemd-boot-efi müssen installiert sein.
  5.  
  6. Befehl ausführen:  bootctl install
  7.  
  8. Mit diesem Befehl wird der Bootloader initialisiert.
  9. Es wird automatisch in /boot/efi ein Ordner mit der Maschinen-Nr. erstellt. Diese Maschinen-Nr. ist der Ordnungsbegriff für systemd-boot.
  10. Damit werden auch weitere Partitions auf der HDD identifiziert. Die ID steht in /etc/machine-id.
  11. In diesem Ordner befindet sich der Kernel nebst initrd. Weiter ein Ordner "loader" mit dem Inhalt einer Datei "loader.conf" und ein Ordner "entries".  
  12. In entries werden die einzelnen Starteinträge eingestellt, die loader.conf enthält die Defaulteinstellungen.
  13. In /boot/efi/EFI werden von systemd ein eigener "Kernel" eingefügt, weiter die Unit für den Systemstart und ein Eintrag für den efibootmgr.
  14.  
  15. bootctl update  = nach jeder Änderung
  16. bootctl status  = Abfrage
  17. bootctl remove  = Bootloader entfernen
  18.  
  19. Weitere zusätzliche Kernel werden ebenfalls automatisch in den Ordner "Maschinen-Nr" installiert.
  20. Es wird auch in loader/entries ein passender Starteintrag erstellt namens xxxxxx.conf (xx=machine-id). Jeder Kernel muß einen separaten Starteintrag haben.
  21. Bei einem Deinstallieren des Kernels über den Paketmanager werden die Einträge automatisch wieder entfernt.
  22. Die durch die zusätzliche Installation in /boot befindlichen vmlinuz-xxx Dateien können entfernt werden, im Verzeichnis /boot befindet sich dann nur noch /efi.
  23.  
  24. Das Testsystem auf /dev/sda3 braucht keinen installierten Kernel mehr. Hier wird durch bootctl auf den bereits Vorhandenen in /dev/sda2 zugegriffen
  25. und das System darüber gestartet. Weitere Infos zum System stehen ja in den loader/entries. Lediglich der Modules Ordner aus /lib/modules muß in das Zielsystem kopiert werden.
  26.  
  27. Für den Start eines OS auf einem externen Medium (USB-Stick) reicht es, wenn in den Ordner "Maschinen-ID" der Kernel und die initrd
  28. des jeweiligen Systems kopiert werden. Der Kernel selbst wurde ja auf dem Stick installiert und hat bereits die weiteren configs (in diesem Falle Grub).  
  29.  
  30.  
  31. Einträge in der loader.conf:
  32.  
  33. timeout 3
  34. console-mode 1          für größere Schrift
  35. auto-firmware 0 oder 1  damit wird der Firmwareeintrag im Menü ausgeblendet
  36.                         Wenn ausgeblendet, kann UEFI entweder über das Bootmenü F11 oder mit
  37.                         systemctl reboot --firmware-setup aufgerufen werden.
  38.                          
  39. editor 0 oder 1         den Menüeintrag mit e editieren, 1 ist Default
  40.  
  41. Defaultstart            Menüeintrag selektieren mit d  
  42.  
  43. Nicht vergessen: nach jeder Änderung bootctl update ausführen!!!
  44. Unbedingt die manpage zu systemd-boot lesen, dort sind viele weitere Infos.
  45.  
  46.  
  47. Hier noch ein Muster meiner Einstellungen:
  48.  
  49. 1.  /boot/efi/loader/loader.conf
  50. timeout 3
  51. console-mode 1
  52. default b3aa19e2b70c4182a1409ae2859be9ff-*
  53. auto-firmware 0
  54.  
  55. 2.  /boot/efi/b3aa19e2b70c4182a1409ae2859be9ff/6.1.55
  56. Mein Kernel ist ein 6.1.55 nebst initrd, dieser befindet sich im gleichnamigen Ordner.
  57. Ein weiterer Ordner beinhaltet den Kernel für den USB-Stick.
  58.  
  59. 3.  /boot/efi/loader/entries
  60. title      MB
  61. version    6.1.55
  62. machine-id b3aa19e2b70c4182a1409ae2859be9ff
  63. options    root=LABEL=MB ro quiet loglevel=2 mce=0 mitigations=off fsck.mode=skip systemd.machine_id=b3aa19e2b70c4182a1409ae2859be9ff
  64. linux      /b3aa19e2b70c4182a1409ae2859be9ff/6.1.55/linux
  65. initrd     /b3aa19e2b70c4182a1409ae2859be9ff/6.1.55/initrd.img-6.1.55
  66.  
  67. Aufteilung der HDD:
  68. /dev/sda1       EFI
  69. /dev/sda2       Arbeitssystem
  70. /dev/sda3       Testsystem
  71.  
  72.  
  73.  
  74.  
  75.  

Quellcode

Hier kannst du den Code kopieren und ihn in deinen bevorzugten Editor einfügen. PASTEBIN_DOWNLOAD_SNIPPET_EXPLAIN