Poem/systemd-boot

Newest

title: systemd-bootをビルドする

tags: Linux systemd-boot Ubuntu

これはなに?

・ systemdに含まれるブートローダーを切り出したものです。

  https://wiki.archlinux.jp/index.php/Systemd-boot によると、

systemd-boot (旧名 gummiboot。ドイツ語で「ゴムボート」)は、 設定された EFI イメージを実行するシンプルな UEFI ブートマネージャーです。 デフォルトのエントリは設定されたパターン (glob) または矢印キーで操作する画面上のメニューによって選択されます。 systemd に含まれており、Arch システムにデフォルトでインストールされます。

systemd-boot は EFI 実行可能ファイル (EFISTUB、UEFI シェル、GRUB、Windows ブートマネージャ) のみを起動できることに注意してください。

そもそも、ブートローダーって、何?

  • OSを読み込んで起動させるLoader のことです。
  • Linux では、殆どの場合、 grub という名前のローダーが使われています
  • 昔の人に説明する場合は、それが LiLoだったり、 MBM 0.39 だったり、します。(もっと分からない)
  • ブートセレクターになる場合もあります。(今どきは起動時OS切り替えは殆どしない(需要は無い))

Ubuntu24.04LTS 上でビルド&テスト実行(QEMU)できます。

追加したものはなに?

  • 簡易的に使用できるバッチファイルとして:

makefile:

  • clean build copyfs run requirement
    を追加しました。

また、ビルドエラー回避のため、build/src/sd-boot/consile.c の一部をコメントアウトしてあります

使い方

make requirement により、(必要であれば)Ubuntuのパッケージを取得してください

make build により、ビルドされます。

make run により、qemu が起動し、UEFI Bootが実行されます。

  • 今のところ、ブートローダーのメニューリストは、未設定です。

QEMUから起動したところで、力尽きています。

これは、何に使うのですが?

  • デフォルトで使用されている grub よりも systemd-boot のほうがシンプルで速いので、(通好みには)好まれる場合があります。(知らんけど)
  • 1台のPCに複数のOSを入れて、起動時に切り替える用途に使用できます。(それだと grubと変わらないけれど、まあ systemd-bootを魔改造して MBM 0.39 みたいにする、といった用途はありなのか???)
  • UEFI Boot の練習用として。(たとえば、 UEFI_Basic64 ・・・)

蛇足

  • QEMU を終了させるには、
    [CTRL] + [ALT] + [2]
    を押して、その後、
     > quit
    を投入してください

公開リポジトリ

https://github.com/iruka-git/systemd-boot