diff options
author | Daniel Mack <daniel@zonque.org> | 2015-07-29 20:31:15 +0200 |
---|---|---|
committer | Daniel Mack <daniel@zonque.org> | 2015-07-29 20:31:15 +0200 |
commit | c2570b3de2430b06f545e78ff32b97503f81f09f (patch) | |
tree | 9f58e23600a681723f393f71bb19d10f23df5050 /src/boot/efi/stub.c | |
parent | 7fc309b3a83c6f8a6f06b9bbea0c5ea379cef68e (diff) | |
parent | 8110e144ff5c3a95a2ac82691ee11528b4e6642a (diff) |
Merge branch 'master' of github.com:systemd/systemd
Diffstat (limited to 'src/boot/efi/stub.c')
-rw-r--r-- | src/boot/efi/stub.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/boot/efi/stub.c b/src/boot/efi/stub.c index 0b1bc491ed..0c5ee4e9ff 100644 --- a/src/boot/efi/stub.c +++ b/src/boot/efi/stub.c @@ -18,6 +18,7 @@ #include "util.h" #include "pefile.h" +#include "disk.h" #include "graphics.h" #include "splash.h" #include "linux.h" @@ -46,6 +47,7 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) { UINTN szs[ELEMENTSOF(sections)-1] = {}; CHAR8 *cmdline = NULL; UINTN cmdline_len; + CHAR16 uuid[37]; EFI_STATUS err; InitializeLib(image, sys_table); @@ -99,6 +101,10 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *sys_table) { cmdline = line; } + /* export the device path this image is started from */ + if (disk_get_part_uuid(loaded_image->DeviceHandle, uuid) == EFI_SUCCESS) + efivar_set(L"LoaderDevicePartUUID", uuid, FALSE); + if (szs[3] > 0) graphics_splash((UINT8 *)((UINTN)loaded_image->ImageBase + addrs[3]), szs[3], NULL); |