mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
gummiboot/sd-boot/systemd-boot: rename galore
What used to be gummiboot, was renamed sd-boot when it was merged into systemd. Let's try to be a bit more consistent with the rest of systemd and rename it again as follows: The EFI bootloader is now called 'systemd-bootx64.efi', and its sources are in 'src/boot/efi/'. The drop-in directory where bootctl will find EFI loaders is now /usr/lib/systemd/boot/efi/.
This commit is contained in:
parent
8d4efa540a
commit
e7dd673d1e
2
.gitignore
vendored
2
.gitignore
vendored
@ -46,7 +46,7 @@
|
||||
/mtd_probe
|
||||
/networkctl
|
||||
/linuxx64.efi.stub
|
||||
/sd-bootx64.efi
|
||||
/systemd-bootx64.efi
|
||||
/test-efi-disk.img
|
||||
/scsi_id
|
||||
/systemadm
|
||||
|
72
Makefile.am
72
Makefile.am
@ -111,7 +111,7 @@ catalogdir=$(prefix)/lib/systemd/catalog
|
||||
kernelinstalldir = $(prefix)/lib/kernel/install.d
|
||||
factory_etcdir = $(prefix)/share/factory/etc
|
||||
factory_pamdir = $(prefix)/share/factory/etc/pam.d
|
||||
sd_bootlibdir = $(prefix)/lib/systemd/sd-boot
|
||||
bootlibdir = $(prefix)/lib/systemd/boot/efi
|
||||
|
||||
# And these are the special ones for /
|
||||
rootprefix=@rootprefix@
|
||||
@ -2484,7 +2484,7 @@ bootctl_SOURCES = \
|
||||
bootctl_CPPFLAGS = \
|
||||
$(AM_CPPFLAGS) \
|
||||
-DEFI_MACHINE_TYPE_NAME=\"$(EFI_MACHINE_TYPE_NAME)\" \
|
||||
-DSD_BOOTLIBDIR=\"$(sd_bootlibdir)\"
|
||||
-DBOOTLIBDIR=\"$(bootlibdir)\"
|
||||
|
||||
bootctl_CFLAGS = \
|
||||
$(AM_CFLAGS) \
|
||||
@ -2548,63 +2548,63 @@ efi_ldflags = \
|
||||
$(EFI_LDS_DIR)/crt0-efi-$(EFI_ARCH).o
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
sd_boot_headers = \
|
||||
src/sd-boot/util.h \
|
||||
src/sd-boot/console.h \
|
||||
src/sd-boot/graphics.h \
|
||||
src/sd-boot/pefile.h
|
||||
systemd_boot_headers = \
|
||||
src/boot/efi/util.h \
|
||||
src/boot/efi/console.h \
|
||||
src/boot/efi/graphics.h \
|
||||
src/boot/efi/pefile.h
|
||||
|
||||
sd_boot_sources = \
|
||||
src/sd-boot/util.c \
|
||||
src/sd-boot/console.c \
|
||||
src/sd-boot/graphics.c \
|
||||
src/sd-boot/pefile.c \
|
||||
src/sd-boot/sd-boot.c
|
||||
systemd_boot_sources = \
|
||||
src/boot/efi/util.c \
|
||||
src/boot/efi/console.c \
|
||||
src/boot/efi/graphics.c \
|
||||
src/boot/efi/pefile.c \
|
||||
src/boot/efi/boot.c
|
||||
|
||||
sd_boot_objects = $(addprefix $(top_builddir)/,$(sd_boot_sources:.c=.o))
|
||||
sd_boot_solib = $(top_builddir)/src/sd-boot/sd_boot.so
|
||||
sd_boot = sd-boot$(EFI_MACHINE_TYPE_NAME).efi
|
||||
systemd_boot_objects = $(addprefix $(top_builddir)/,$(systemd_boot_sources:.c=.o))
|
||||
systemd_boot_solib = $(top_builddir)/src/boot/efi/systemd_boot.so
|
||||
systemd_boot = systemd-boot$(EFI_MACHINE_TYPE_NAME).efi
|
||||
|
||||
sd_bootlib_DATA = $(sd_boot)
|
||||
CLEANFILES += $(sd_boot_objects) $(sd_boot_solib) $(sd_boot)
|
||||
EXTRA_DIST += $(sd_boot_sources) $(sd_boot_headers)
|
||||
bootlib_DATA = $(systemd_boot)
|
||||
CLEANFILES += $(systemd_boot_objects) $(systemd_boot_solib) $(systemd_boot)
|
||||
EXTRA_DIST += $(systemd_boot_sources) $(systemd_boot_headers)
|
||||
|
||||
$(top_builddir)/src/sd-boot/%.o: $(top_srcdir)/src/sd-boot/%.c $(addprefix $(top_srcdir)/,$(sd_boot_headers))
|
||||
@$(MKDIR_P) $(top_builddir)/src/sd-boot/
|
||||
$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(systemd_boot_headers))
|
||||
@$(MKDIR_P) $(top_builddir)/src/boot/efi/
|
||||
$(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
|
||||
|
||||
$(sd_boot_solib): $(sd_boot_objects)
|
||||
$(AM_V_CCLD)$(LD) $(efi_ldflags) $(sd_boot_objects) \
|
||||
$(systemd_boot_solib): $(systemd_boot_objects)
|
||||
$(AM_V_CCLD)$(LD) $(efi_ldflags) $(systemd_boot_objects) \
|
||||
-o $@ -lefi -lgnuefi $(shell $(CC) -print-libgcc-file-name); \
|
||||
nm -D -u $@ | grep ' U ' && exit 1 || :
|
||||
|
||||
$(sd_boot): $(sd_boot_solib)
|
||||
$(systemd_boot): $(systemd_boot_solib)
|
||||
$(AM_V_GEN) objcopy -j .text -j .sdata -j .data -j .dynamic \
|
||||
-j .dynsym -j .rel -j .rela -j .reloc \
|
||||
--target=efi-app-$(EFI_ARCH) $< $@
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
stub_headers = \
|
||||
src/sd-boot/util.h \
|
||||
src/sd-boot/pefile.h \
|
||||
src/sd-boot/linux.h
|
||||
src/boot/efi/util.h \
|
||||
src/boot/efi/pefile.h \
|
||||
src/boot/efi/linux.h
|
||||
|
||||
stub_sources = \
|
||||
src/sd-boot/util.c \
|
||||
src/sd-boot/pefile.c \
|
||||
src/sd-boot/linux.c \
|
||||
src/sd-boot/stub.c
|
||||
src/boot/efi/util.c \
|
||||
src/boot/efi/pefile.c \
|
||||
src/boot/efi/linux.c \
|
||||
src/boot/efi/stub.c
|
||||
|
||||
stub_objects = $(addprefix $(top_builddir)/,$(stub_sources:.c=.o))
|
||||
stub_solib = $(top_builddir)/src/sd-boot/stub.so
|
||||
stub_solib = $(top_builddir)/src/boot/efi/stub.so
|
||||
stub = linux$(EFI_MACHINE_TYPE_NAME).efi.stub
|
||||
|
||||
sd_bootlib_DATA += $(stub)
|
||||
bootlib_DATA += $(stub)
|
||||
CLEANFILES += $(stub_objects) $(stub_solib) $(stub)
|
||||
EXTRA_DIST += $(stub_sources) $(stub_headers)
|
||||
|
||||
$(top_builddir)/src/sd-boot/%.o: $(top_srcdir)/src/sd-boot/%.c $(addprefix $(top_srcdir)/,$(stub_headers))
|
||||
@$(MKDIR_P) $(top_builddir)/src/sd-boot/
|
||||
$(top_builddir)/src/boot/efi/%.o: $(top_srcdir)/src/boot/efi/%.c $(addprefix $(top_srcdir)/,$(stub_headers))
|
||||
@$(MKDIR_P) $(top_builddir)/src/boot/efi/
|
||||
$(AM_V_CC)$(EFI_CC) $(efi_cppflags) $(efi_cflags) -c $< -o $@
|
||||
|
||||
$(stub_solib): $(stub_objects)
|
||||
@ -2621,7 +2621,7 @@ $(stub): $(stub_solib)
|
||||
CLEANFILES += test-efi-disk.img
|
||||
EXTRA_DIST += test/test-efi-create-disk.sh
|
||||
|
||||
test-efi-disk.img: $(sd_boot) $(stub) test/test-efi-create-disk.sh
|
||||
test-efi-disk.img: $(systemd_boot) $(stub) test/test-efi-create-disk.sh
|
||||
$(AM_V_GEN)test/test-efi-create-disk.sh
|
||||
|
||||
test-efi: test-efi-disk.img
|
||||
|
@ -72,22 +72,22 @@
|
||||
all current EFI boot variables.</para>
|
||||
|
||||
<para><command>bootctl update</command> updates all installed
|
||||
versions of sd-boot, if the current version is newer than the
|
||||
versions of systemd-boot, if the current version is newer than the
|
||||
version installed in the EFI system partition. This also includes
|
||||
the EFI default/fallback loader at /EFI/Boot/boot*.efi. An
|
||||
sd-boot entry in the EFI boot variables is created, if there
|
||||
is no current entry. A created entry will be added to the end of
|
||||
the EFI default/fallback loader at /EFI/Boot/boot*.efi. A
|
||||
systemd-boot entry in the EFI boot variables is created, if there
|
||||
is no current entry. The created entry will be added to the end of
|
||||
the boot order list.</para>
|
||||
|
||||
<para><command>bootctl install</command> installs sd-boot into
|
||||
the EFI system partition. A copy of sd-boot will be stored as
|
||||
the EFI default/fallback loader at /EFI/Boot/boot*.efi. An sd-boot
|
||||
<para><command>bootctl install</command> installs systemd-boot into
|
||||
the EFI system partition. A copy of systemd-boot will be stored as
|
||||
the EFI default/fallback loader at /EFI/Boot/boot*.efi. A systemd-boot
|
||||
entry in the EFI boot variables is created and added to the top
|
||||
of the boot order list.</para>
|
||||
|
||||
<para><command>bootctl remove</command> removes all installed
|
||||
versions of sd-boot from the EFI system partition, and removes
|
||||
sd-boot from the EFI boot variables.</para>
|
||||
versions of systemd-boot from the EFI system partition, and removes
|
||||
systemd-boot from the EFI boot variables.</para>
|
||||
|
||||
<para>If no command is passed <command>status</command> is
|
||||
implied.</para>
|
||||
|
@ -215,7 +215,7 @@ fail:
|
||||
return r;
|
||||
}
|
||||
|
||||
/* search for "#### LoaderInfo: sd-boot 218 ####" string inside the binary */
|
||||
/* search for "#### LoaderInfo: systemd-boot 218 ####" string inside the binary */
|
||||
static int get_file_version(FILE *f, char **v) {
|
||||
struct stat st;
|
||||
char *buf;
|
||||
@ -351,7 +351,7 @@ static int status_binaries(const char *esp_path, sd_id128_t partition) {
|
||||
|
||||
r = enumerate_binaries(esp_path, "EFI/systemd", NULL);
|
||||
if (r == 0)
|
||||
fprintf(stderr, "sd-boot not installed in ESP.\n");
|
||||
fprintf(stderr, "systemd-boot not installed in ESP.\n");
|
||||
else if (r < 0)
|
||||
return r;
|
||||
|
||||
@ -710,7 +710,7 @@ static int copy_one_file(const char *esp_path, const char *name, bool force) {
|
||||
_cleanup_free_ char *v = NULL;
|
||||
int r;
|
||||
|
||||
if (asprintf(&p, SD_BOOTLIBDIR "/%s", name) < 0) {
|
||||
if (asprintf(&p, BOOTLIBDIR "/%s", name) < 0) {
|
||||
fprintf(stderr, "Out of memory.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -722,11 +722,11 @@ static int copy_one_file(const char *esp_path, const char *name, bool force) {
|
||||
|
||||
r = copy_file(p, q, force);
|
||||
|
||||
if (startswith(name, "sd-boot")) {
|
||||
if (startswith(name, "systemd-boot")) {
|
||||
int k;
|
||||
|
||||
/* Create the EFI default boot loader name (specified for removable devices) */
|
||||
if (asprintf(&v, "%s/EFI/Boot/BOOT%s", esp_path, name + strlen("sd-boot")) < 0) {
|
||||
if (asprintf(&v, "%s/EFI/Boot/BOOT%s", esp_path, name + strlen("systemd-boot")) < 0) {
|
||||
fprintf(stderr, "Out of memory.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -756,9 +756,9 @@ static int install_binaries(const char *esp_path, bool force) {
|
||||
return r;
|
||||
}
|
||||
|
||||
d = opendir(SD_BOOTLIBDIR);
|
||||
d = opendir(BOOTLIBDIR);
|
||||
if (!d) {
|
||||
fprintf(stderr, "Failed to open "SD_BOOTLIBDIR": %m\n");
|
||||
fprintf(stderr, "Failed to open "BOOTLIBDIR": %m\n");
|
||||
return -errno;
|
||||
}
|
||||
|
||||
@ -814,7 +814,7 @@ static int find_slot(sd_id128_t uuid, const char *path, uint16_t *id) {
|
||||
if (n_options < 0)
|
||||
return n_options;
|
||||
|
||||
/* find already existing sd-boot entry */
|
||||
/* find already existing systemd-boot entry */
|
||||
for (i = 0; i < n_options; i++)
|
||||
if (same_entry(options[i], uuid, path)) {
|
||||
new_id = options[i];
|
||||
@ -1036,7 +1036,7 @@ static int remove_boot_efi(const char *esp_path) {
|
||||
if (r < 0)
|
||||
goto finish;
|
||||
|
||||
if (r > 0 && strncmp(v, "sd-boot ", 10) == 0) {
|
||||
if (r > 0 && strncmp(v, "systemd-boot ", 10) == 0) {
|
||||
|
||||
r = unlink(q);
|
||||
if (r < 0) {
|
||||
@ -1089,7 +1089,7 @@ static int remove_binaries(const char *esp_path) {
|
||||
char *p;
|
||||
int r, q;
|
||||
|
||||
if (asprintf(&p, "%s/EFI/sd-boot", esp_path) < 0) {
|
||||
if (asprintf(&p, "%s/EFI/systemd-boot", esp_path) < 0) {
|
||||
fprintf(stderr, "Out of memory.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
@ -1113,7 +1113,7 @@ static int remove_binaries(const char *esp_path) {
|
||||
if (q < 0 && r == 0)
|
||||
r = q;
|
||||
|
||||
q = rmdir_one(esp_path, "EFI/sd-boot");
|
||||
q = rmdir_one(esp_path, "EFI/systemd-boot");
|
||||
if (q < 0 && r == 0)
|
||||
r = q;
|
||||
|
||||
@ -1196,10 +1196,10 @@ static int help(void) {
|
||||
" --no-variables Don't touch EFI variables\n"
|
||||
"\n"
|
||||
"Comands:\n"
|
||||
" status Show status of installed sd-boot and EFI variables\n"
|
||||
" install Install sd-boot to the ESP and EFI variables\n"
|
||||
" update Update sd-boot in the ESP and EFI variables\n"
|
||||
" remove Remove sd-boot from the ESP and EFI variables\n",
|
||||
" status Show status of installed systemd-boot and EFI variables\n"
|
||||
" install Install systemd-boot to the ESP and EFI variables\n"
|
||||
" update Update systemd-boot in the ESP and EFI variables\n"
|
||||
" remove Remove systemd-boot from the ESP and EFI variables\n",
|
||||
program_invocation_short_name);
|
||||
|
||||
return 0;
|
||||
@ -1371,7 +1371,7 @@ static int bootctl_main(int argc, char*argv[]) {
|
||||
if (arg_touch_variables)
|
||||
r = install_variables(arg_path,
|
||||
part, pstart, psize, uuid,
|
||||
"/EFI/systemd/sd-boot" EFI_MACHINE_TYPE_NAME ".efi",
|
||||
"/EFI/systemd/systemd-boot" EFI_MACHINE_TYPE_NAME ".efi",
|
||||
arg_action == ACTION_INSTALL);
|
||||
break;
|
||||
|
||||
@ -1379,7 +1379,7 @@ static int bootctl_main(int argc, char*argv[]) {
|
||||
r = remove_binaries(arg_path);
|
||||
|
||||
if (arg_touch_variables) {
|
||||
q = remove_variables(uuid, "/EFI/systemd/sd-boot" EFI_MACHINE_TYPE_NAME ".efi", true);
|
||||
q = remove_variables(uuid, "/EFI/systemd/systemd-boot" EFI_MACHINE_TYPE_NAME ".efi", true);
|
||||
if (q < 0 && r == 0)
|
||||
r = q;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
#endif
|
||||
|
||||
/* magic string to find in the binary image */
|
||||
static const char __attribute__((used)) magic[] = "#### LoaderInfo: sd-boot " VERSION " ####";
|
||||
static const char __attribute__((used)) magic[] = "#### LoaderInfo: systemd-boot " VERSION " ####";
|
||||
|
||||
static const EFI_GUID global_guid = EFI_GLOBAL_VARIABLE;
|
||||
|
||||
@ -405,7 +405,7 @@ static VOID print_status(Config *config, EFI_FILE *root_dir, CHAR16 *loaded_imag
|
||||
break;
|
||||
}
|
||||
|
||||
Print(L"sd-boot version: " VERSION "\n");
|
||||
Print(L"systemd-boot version: " VERSION "\n");
|
||||
Print(L"architecture: " EFI_MACHINE_TYPE_NAME "\n");
|
||||
Print(L"loaded image: %s\n", loaded_image_path);
|
||||
Print(L"UEFI specification: %d.%02d\n", ST->Hdr.Revision >> 16, ST->Hdr.Revision & 0xffff);
|
||||
@ -844,7 +844,7 @@ static BOOLEAN menu_run(Config *config, ConfigEntry **chosen_entry, EFI_FILE *ro
|
||||
break;
|
||||
|
||||
case KEYPRESS(0, 0, 'v'):
|
||||
status = PoolPrint(L"sd-boot " VERSION " (" EFI_MACHINE_TYPE_NAME "), UEFI Specification %d.%02d, Vendor %s %d.%02d",
|
||||
status = PoolPrint(L"systemd-boot " VERSION " (" EFI_MACHINE_TYPE_NAME "), UEFI Specification %d.%02d, Vendor %s %d.%02d",
|
||||
ST->Hdr.Revision >> 16, ST->Hdr.Revision & 0xffff,
|
||||
ST->FirmwareVendor, ST->FirmwareRevision >> 16, ST->FirmwareRevision & 0xffff);
|
||||
break;
|
||||
@ -1831,7 +1831,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) {
|
||||
InitializeLib(image, sys_table);
|
||||
init_usec = time_usec();
|
||||
efivar_set_time_usec(L"LoaderTimeInitUSec", init_usec);
|
||||
efivar_set(L"LoaderInfo", L"sd-boot " VERSION, FALSE);
|
||||
efivar_set(L"LoaderInfo", L"systemd-boot " VERSION, FALSE);
|
||||
s = PoolPrint(L"%s %d.%02d", ST->FirmwareVendor, ST->FirmwareRevision >> 16, ST->FirmwareRevision & 0xffff);
|
||||
efivar_set(L"LoaderFirmwareInfo", s, FALSE);
|
||||
FreePool(s);
|
@ -12,7 +12,7 @@ mkdir -p mnt
|
||||
mount ${LOOP}p1 mnt
|
||||
|
||||
mkdir -p mnt/EFI/{Boot,systemd}
|
||||
cp sd-bootx64.efi mnt/EFI/Boot/bootx64.efi
|
||||
cp systemd-bootx64.efi mnt/EFI/Boot/bootx64.efi
|
||||
cp test/splash.bmp mnt/EFI/systemd/
|
||||
|
||||
[ -e /boot/shellx64.efi ] && cp /boot/shellx64.efi mnt/
|
||||
|
Loading…
Reference in New Issue
Block a user