efi_loader: Pass proper device path in on boot
authorAlexander Graf <agraf@suse.de>
Fri, 4 Mar 2016 00:10:14 +0000 (01:10 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 16 Mar 2016 01:30:14 +0000 (21:30 -0400)
commit0f4060ebcb4f60287c456586cf089510e43ba339
treebbcf2d01e545099b686ef123325022e3f3a25236
parentdea2174d9d941db2ec64997779771a4b4c3527c2
efi_loader: Pass proper device path in on boot

EFI payloads can query for the device they were booted from. Because
we have a disconnect between loading binaries and running binaries,
we passed in a dummy device path so far.

Unfortunately that breaks grub2's logic to find its configuration
file from the same device it was booted from.

This patch adds logic to have the "load" command call into our efi
code to set the device path to the one we last loaded a binary from.

With this grub2 properly detects where we got booted from and can
find its configuration file, even when searching by-partition.

Signed-off-by: Alexander Graf <agraf@suse.de>
cmd/bootefi.c
cmd/fs.c
include/efi_loader.h
lib/efi_loader/efi_disk.c