Systemd-boot

Linux.fista
Versio hetkellä 22. tammikuuta 2017 kello 16.03 – tehnyt Lahtis (keskustelu | muokkaukset) (''')

Systemd-boot on käynnistysvalitsin, eli ohjelma joka tarjoaa valikon josta käyttäjä voi valita käynnistettävän käyttöjärjestelmän. Systemd-boot toimii vain UEFI -laiteohjelmistolla varustetuissa koneissa.

Systemd-boot:n käyttö Linuxin kanssa edellyttää, että Linux-ydin on konfiguroitu sisältämään EFI Boot Stub -käynnistyslataimen, jonka avulla ydin pystyy, yhdessä UEFI-laiteohjelmiston kanssa, lataamaan ja käynnistämään itsensä.

Systemd-boot tarjoaa yksinkertaisen valikon, josta käyttäjä voi valita käynnistettävän käyttöjärjestelmän. Valikon pystyy myös piilottamaan asettamalla konfiguraatiotietoston timeout-parametrin arvoksi 0. Tässä tapauksessa oletuskäyttöjärjestelmä käynnistetään automaattisesti, mutta käynnistyksen voi keskeyttää painamalla näppäimistön välilyöntinäppäintä.

Asennus

Tavallisimmissa Linux-jakeluissa käyttäjän ei tarvitse huolehtia käynnistysvalitsimen tai käynnistyslataimen asennuksesta tai konfiguroinnista, sillä jakelun tekijä huolehtii tästä. Sen sijaan enemmän tee-se-itse -filosofiaa noudattavissa jakeluissa, kuten Arch Linux tai Gentoo Linux, käyttäjän pitää itse asentaa käynnistysvalitsin ja/tai käynnistyslataaja.

Systemd-boot on osa systemd-järjestelmää, joten se on tyypillisesti mukana jakelun systemd-asennuspaketissa. Systemd-boot konfiguroidaan kätevimmin bootctl-ohjelman avulla, joka myös kuuluu systemd-pakettiin.

Bootctl-ohjelma asentaa systemd-boot:n ESP:lle, lisää ohjelman EFI:n käynnistysmuuttujiin sekä valitsee systemd-boot:n oletuskäynnistysohjelmaksi. Lisäksi bootctl pystyy havaitsemaan olemassa olevan Windows-asennuksen ja lisää sen systemd-boot:n käynnistysvalikkoon.

Konfigurointi

Systemd-boot konfiguroidaan muokkaamalla ESP-osiolla (EFI System Partition) olevia tekstitiedostoja. Tiedostoja on vain kahdenlaisia: loader.conf sekä käyttöjärjestelmäkohtaiset *.conf-tiedostot. loader.conf sisältää yleiset parametrit, joita on vain kolme:

  • default - oletusvalinta
  • timeout - kuinka monta sekuntia valikko näytetään
  • editor - onko ytimen komentorivin muokkain sallittu vai ei (arvot 1 ja 0)

Esimerkki esp/loader/loader.conf -tiedostosta:

default  arch
timeout  4
editor	 0

Jokaista käynnistettävää käyttöjärjestelmää varten on esp/loader/entries-hakemistossa oma .conf-tiedosto, joka sisältää käyttöjärjestelmäkohtaisia parametreja. Käytössä on seitsemän eri parametria, joista osa on valinnaisia:

  • title - käynnistysvalinnan nimi
  • version - ytimen versio; näytetään vain jos on useampia samannimisiä valintoja
  • machine-id - koneen yksilöivä id /etc/machine-id -tiedostosta
  • efi tai linux - käynnistettävä EFI-ohjelma (esim. Linux-ydin tai Windowsin käynnistyslataaja)
  • options - komentoriviparametreja käynnistettävälle EFI-ohjelmalle
  • initrd - tiedostopolku initramfs-tiedostoon

Esimerkkitiedosto esp/loader/entries/arch.conf:

title	  Arch Linux
linux	  /vmlinuz-linux
initrd	  /initramfs-linux.img
options	  root=PARTUUID=7619c378-374c-5f83-9123-544696493b2f rw