summaryrefslogtreecommitdiffstats
path: root/meta/classes-recipe/systemd-boot.bbclass
blob: 5aa32dd99716c1cb777cb19dc8c095f09b82ea10 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Copyright (C) 2016 Intel Corporation
#
# SPDX-License-Identifier: MIT

# systemd-boot.bbclass - The "systemd-boot" is essentially the gummiboot merged into systemd.
#                        The original standalone gummiboot project is dead without any more
#                        maintenance.
#
# Set EFI_PROVIDER = "systemd-boot" to use systemd-boot on your live images instead of grub-efi
# (images built by image-live.bbclass)

do_bootimg[depends] += "${MLPREFIX}systemd-boot:do_deploy"

require conf/image-uefi.conf
# Need UUID utility code.
inherit fs-uuid

efi_populate() {
        efi_populate_common "$1" systemd

        # systemd-boot requires these paths for configuration files
        # they are not customizable so no point in new vars
        install -d ${DEST}/loader
        install -d ${DEST}/loader/entries
        install -m 0644 ${SYSTEMD_BOOT_CFG} ${DEST}/loader/loader.conf
        for i in ${SYSTEMD_BOOT_ENTRIES}; do
            install -m 0644 ${i} ${DEST}/loader/entries
        done
}

efi_iso_populate:append() {
        cp -r $iso_dir/loader ${EFIIMGDIR}
}

inherit systemd-boot-cfg