
From: Alexander Graf agraf@suse.de Date: Thu, 7 Dec 2017 11:27:15 +0100
On 07.12.17 08:00, Jonathan Gray wrote:
On Fri, Dec 01, 2017 at 04:10:33PM +0100, Alexander Graf wrote:
Commit 884bcf6f65 (efi_loader: use proper device-paths for partitions) tried to introduce the el torito scheme to all partition table types: Spawn individual disk objects for each partition on a disk.
Unfortunately, that code ended up creating partitions with offset=0 which meant that anyone accessing these objects gets data from the raw block device instead of the partition.
Furthermore, all the el torito logic to spawn devices for partitions was duplicated. So let's merge the two code paths and give partition disk objects good offsets to work from, so that payloads can actually make use of them.
Fixes: 884bcf6f65 (efi_loader: use proper device-paths for partitions) Reported-by: Yousaf Kaukab yousaf.kaukab@suse.com Signed-off-by: Alexander Graf agraf@suse.de
This once again broke being able to find a DEVICE_PATH_TYPE_MEDIA_DEVICE node with the loaded image protocol on rpi_3 with mmc/usb.
Hooray :). Do you think you could somehow assemble a test that runs inside Travis-CI to make sure we catch your loader? I still need to do a better one for grub to ensure that that one's happy too.
Yes, I'd very much like to do that. I suppose this should be a qemu-based test in test/py/tests? It is not clear to me how I run those outside of Travis-CI. Can you point me in the right direction?