From: Tom Gundersen Date: Tue, 17 Feb 2015 19:12:50 +0000 (+0100) Subject: gummiboot/sd-boot/systemd-boot: rename galore X-Git-Tag: v219.0~652 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=e7dd673d1e0acfe5420599588c559fd85a3a9e8f;hp=8d4efa540a88b19a475452d8ccc3c9824849fa86 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/. --- diff --git a/.gitignore b/.gitignore index 75699ca33..2afbed4ff 100644 --- a/.gitignore +++ b/.gitignore @@ -46,7 +46,7 @@ /mtd_probe /networkctl /linuxx64.efi.stub -/sd-bootx64.efi +/systemd-bootx64.efi /test-efi-disk.img /scsi_id /systemadm diff --git a/Makefile.am b/Makefile.am index a5e07cfa6..2a07321b1 100644 --- a/Makefile.am +++ b/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 - -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 - -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 - -sd_bootlib_DATA = $(sd_boot) -CLEANFILES += $(sd_boot_objects) $(sd_boot_solib) $(sd_boot) -EXTRA_DIST += $(sd_boot_sources) $(sd_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/ +systemd_boot_headers = \ + src/boot/efi/util.h \ + src/boot/efi/console.h \ + src/boot/efi/graphics.h \ + src/boot/efi/pefile.h + +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 + +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 + +bootlib_DATA = $(systemd_boot) +CLEANFILES += $(systemd_boot_objects) $(systemd_boot_solib) $(systemd_boot) +EXTRA_DIST += $(systemd_boot_sources) $(systemd_boot_headers) + +$(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 diff --git a/man/bootctl.xml b/man/bootctl.xml index 99863bf31..63ad9392e 100644 --- a/man/bootctl.xml +++ b/man/bootctl.xml @@ -72,22 +72,22 @@ all current EFI boot variables. bootctl update 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. - bootctl install 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 + bootctl install 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. bootctl remove removes all installed - versions of sd-boot from the EFI system partition, and removes - sd-boot from the EFI boot variables. + versions of systemd-boot from the EFI system partition, and removes + systemd-boot from the EFI boot variables. If no command is passed status is implied. diff --git a/src/boot/bootctl.c b/src/boot/bootctl.c index 3b6df4291..73450e283 100644 --- a/src/boot/bootctl.c +++ b/src/boot/bootctl.c @@ -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; } diff --git a/src/sd-boot/.gitignore b/src/boot/efi/.gitignore similarity index 100% rename from src/sd-boot/.gitignore rename to src/boot/efi/.gitignore diff --git a/src/sd-boot/sd-boot.c b/src/boot/efi/boot.c similarity index 99% rename from src/sd-boot/sd-boot.c rename to src/boot/efi/boot.c index 94039ead3..7605c6532 100644 --- a/src/sd-boot/sd-boot.c +++ b/src/boot/efi/boot.c @@ -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); diff --git a/src/sd-boot/console.c b/src/boot/efi/console.c similarity index 100% rename from src/sd-boot/console.c rename to src/boot/efi/console.c diff --git a/src/sd-boot/console.h b/src/boot/efi/console.h similarity index 100% rename from src/sd-boot/console.h rename to src/boot/efi/console.h diff --git a/src/sd-boot/graphics.c b/src/boot/efi/graphics.c similarity index 100% rename from src/sd-boot/graphics.c rename to src/boot/efi/graphics.c diff --git a/src/sd-boot/graphics.h b/src/boot/efi/graphics.h similarity index 100% rename from src/sd-boot/graphics.h rename to src/boot/efi/graphics.h diff --git a/src/sd-boot/linux.c b/src/boot/efi/linux.c similarity index 100% rename from src/sd-boot/linux.c rename to src/boot/efi/linux.c diff --git a/src/sd-boot/linux.h b/src/boot/efi/linux.h similarity index 100% rename from src/sd-boot/linux.h rename to src/boot/efi/linux.h diff --git a/src/sd-boot/pefile.c b/src/boot/efi/pefile.c similarity index 100% rename from src/sd-boot/pefile.c rename to src/boot/efi/pefile.c diff --git a/src/sd-boot/pefile.h b/src/boot/efi/pefile.h similarity index 100% rename from src/sd-boot/pefile.h rename to src/boot/efi/pefile.h diff --git a/src/sd-boot/stub.c b/src/boot/efi/stub.c similarity index 100% rename from src/sd-boot/stub.c rename to src/boot/efi/stub.c diff --git a/src/sd-boot/util.c b/src/boot/efi/util.c similarity index 100% rename from src/sd-boot/util.c rename to src/boot/efi/util.c diff --git a/src/sd-boot/util.h b/src/boot/efi/util.h similarity index 100% rename from src/sd-boot/util.h rename to src/boot/efi/util.h diff --git a/test/test-efi-create-disk.sh b/test/test-efi-create-disk.sh index 07595b721..4f953ace3 100755 --- a/test/test-efi-create-disk.sh +++ b/test/test-efi-create-disk.sh @@ -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/