1
1
mirror of https://github.com/systemd/systemd-stable.git synced 2024-12-23 17:34:00 +03:00

build-sys: make EFI support build-time optional

This commit is contained in:
Lennart Poettering 2013-02-13 23:07:59 +01:00
parent 46ba8aae2b
commit b872e9a059
5 changed files with 32 additions and 4 deletions

View File

@ -295,8 +295,7 @@ rootlibexec_PROGRAMS = \
systemgenerator_PROGRAMS = \ systemgenerator_PROGRAMS = \
systemd-getty-generator \ systemd-getty-generator \
systemd-fstab-generator \ systemd-fstab-generator \
systemd-system-update-generator \ systemd-system-update-generator
systemd-efi-boot-generator
dist_bin_SCRIPTS = \ dist_bin_SCRIPTS = \
src/analyze/systemd-analyze src/analyze/systemd-analyze
@ -1002,8 +1001,7 @@ noinst_PROGRAMS += \
test-cgroup \ test-cgroup \
test-install \ test-install \
test-watchdog \ test-watchdog \
test-log \ test-log
test-efivars
noinst_tests += \ noinst_tests += \
test-job-type \ test-job-type \
@ -1071,11 +1069,16 @@ test_hostname_SOURCES = \
test_hostname_LDADD = \ test_hostname_LDADD = \
libsystemd-core.la libsystemd-core.la
if ENABLE_EFI
noinst_PROGRAMS += \
test-efivars
test_efivars_SOURCES = \ test_efivars_SOURCES = \
src/test/test-efivars.c src/test/test-efivars.c
test_efivars_LDADD = \ test_efivars_LDADD = \
libsystemd-shared.la libsystemd-shared.la
endif
test_unit_name_SOURCES = \ test_unit_name_SOURCES = \
src/test/test-unit-name.c src/test/test-unit-name.c
@ -1410,12 +1413,17 @@ systemd_system_update_generator_LDADD = \
libsystemd-shared.la libsystemd-shared.la
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
if ENABLE_EFI
systemgenerator_PROGRAMS += \
systemd-efi-boot-generator
systemd_efi_boot_generator_SOURCES = \ systemd_efi_boot_generator_SOURCES = \
src/efi-boot-generator/efi-boot-generator.c src/efi-boot-generator/efi-boot-generator.c
systemd_efi_boot_generator_LDADD = \ systemd_efi_boot_generator_LDADD = \
libsystemd-label.la \ libsystemd-label.la \
libsystemd-shared.la libsystemd-shared.la
endif
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
systemd_rc_local_generator_SOURCES = \ systemd_rc_local_generator_SOURCES = \
@ -3079,6 +3087,7 @@ EXTRA_DIST += \
units/systemd-timedated.service.in units/systemd-timedated.service.in
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
if ENABLE_EFI
bootctl_SOURCES = \ bootctl_SOURCES = \
src/boot/boot.h \ src/boot/boot.h \
src/boot/boot-loader.h \ src/boot/boot-loader.h \
@ -3093,6 +3102,7 @@ bootctl_LDADD = \
bin_PROGRAMS += \ bin_PROGRAMS += \
bootctl bootctl
endif
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
if HAVE_MYHOSTNAME if HAVE_MYHOSTNAME

View File

@ -635,6 +635,15 @@ if test "x$enable_polkit" != "xno"; then
fi fi
AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"]) AM_CONDITIONAL(ENABLE_POLKIT, [test "x$have_polkit" = "xyes"])
# ------------------------------------------------------------------------------
have_efi=no
AC_ARG_ENABLE(efi, AS_HELP_STRING([--disable-efi], [disable EFI support]))
if test "x$enable_efi" != "xno"; then
AC_DEFINE(ENABLE_EFI, 1, [Define if EFI support is to be enabled])
have_efi=yes
fi
AM_CONDITIONAL(ENABLE_EFI, [test "x$have_efi" = "xyes"])
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
AC_ARG_WITH(rc-local-script-path-start, AC_ARG_WITH(rc-local-script-path-start,
AS_HELP_STRING([--with-rc-local-script-path-start=PATH], AS_HELP_STRING([--with-rc-local-script-path-start=PATH],
@ -882,6 +891,7 @@ AC_MSG_RESULT([
localed: ${have_localed} localed: ${have_localed}
coredump: ${have_coredump} coredump: ${have_coredump}
polkit: ${have_polkit} polkit: ${have_polkit}
efi: ${have_efi}
kmod: ${have_kmod} kmod: ${have_kmod}
blkid: ${have_blkid} blkid: ${have_blkid}
nss-myhostname: ${have_myhostname} nss-myhostname: ${have_myhostname}

View File

@ -309,7 +309,9 @@ int manager_new(SystemdRunningAs running_as, Manager **_m) {
dual_timestamp_get(&m->userspace_timestamp); dual_timestamp_get(&m->userspace_timestamp);
dual_timestamp_from_monotonic(&m->kernel_timestamp, 0); dual_timestamp_from_monotonic(&m->kernel_timestamp, 0);
#ifdef ENABLE_EFI
efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp); efi_get_boot_timestamps(&m->userspace_timestamp, &m->firmware_timestamp, &m->loader_timestamp);
#endif
m->running_as = running_as; m->running_as = running_as;
m->name_data_slot = m->conn_data_slot = m->subscribed_data_slot = -1; m->name_data_slot = m->conn_data_slot = m->subscribed_data_slot = -1;

View File

@ -77,8 +77,10 @@ static const MountPoint mount_table[] = {
NULL, MNT_FATAL|MNT_IN_CONTAINER }, NULL, MNT_FATAL|MNT_IN_CONTAINER },
{ "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, { "securityfs", "/sys/kernel/security", "securityfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
NULL, MNT_NONE }, NULL, MNT_NONE },
#ifdef ENABLE_EFI
{ "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV, { "efivarfs", "/sys/firmware/efi/efivars", "efivarfs", NULL, MS_NOSUID|MS_NOEXEC|MS_NODEV,
is_efi_boot, MNT_NONE }, is_efi_boot, MNT_NONE },
#endif
{ "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME, { "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV|MS_STRICTATIME,
NULL, MNT_FATAL|MNT_IN_CONTAINER }, NULL, MNT_FATAL|MNT_IN_CONTAINER },
{ "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, { "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC,

View File

@ -28,6 +28,8 @@
#include "utf8.h" #include "utf8.h"
#include "efivars.h" #include "efivars.h"
#ifdef ENABLE_EFI
bool is_efi_boot(void) { bool is_efi_boot(void) {
return access("/sys/firmware/efi", F_OK) >= 0; return access("/sys/firmware/efi", F_OK) >= 0;
} }
@ -469,3 +471,5 @@ int efi_get_loader_device_part_uuid(sd_id128_t *u) {
return 0; return 0;
} }
#endif