Ryan, I'm uncomfortable with this hack and its side effects -- if you want to ensure that the boot process will boot any device path regardless of the MBR signature this can be handled as a modification to the device path matching logic in BDS. This could be a platform policy PCD boolean like 'BootIgnoreMbrSignature' or something.
Also you mentioned about changes going upstream -- are the details of the upstreaming process from uefi.next to edk2 svn documented somewhere? Are you ensuring that all upstreamed patches come from parties that have signed the Contributor's Agreement?
Thanks,
Eugene
-----Original Message----- From: boot-architecture-bounces@lists.linaro.org [mailto:boot-architecture-bounces@lists.linaro.org] On Behalf Of Ryan Harkin Sent: Tuesday, February 19, 2013 5:09 AM To: ryan.harkin@linaro.org; boot-architecture@lists.linaro.org; patches@linaro.org; linaro-enterprise@lists.linaro.org; olivier.martin@arm.com Subject: [PATCH] MdeModulePkg/PartitionDxe: hack MBR unique signature to zero
This is a hack and is not intended to go upstream, but will be useful for Linaro's short term goals.
Linaro's development boards use SD cards, currently we have a problem where each unique SD card has a different UUID when created with linaro-media-create / linaro-android-media create.
This means that no one Boot Device configuration can boot Linaro images without some manual intervention from the user.
This hack will zero the signature (UUID) read from the card meaning that all SD cards will appear to be the same card.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin ryan.harkin@linaro.org --- MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c index 4c64663..ef16396 100644 --- a/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c +++ b/MdeModulePkg/Universal/Disk/PartitionDxe/Mbr.c @@ -155,6 +155,15 @@ PartitionInstallMbrChildHandles ( BlockSize, Mbr ); + + // RMH - hack - Linaro's development boards use SD cards, currently + we have // a problem where each unique SD card has a different UUID + when created // with linaro-media-create / linaro-android-media create. + // This means that no one Boot Device configuration can boot Linaro + images // without some manual intervention from the user. + // This hack will zero the signature (UUID) read from the card. + ZeroMem(&(Mbr->UniqueMbrSignature[0]), sizeof + (Mbr->UniqueMbrSignature)); + if (EFI_ERROR (Status)) { Found = Status; goto Done; -- 1.7.9.5
_______________________________________________ boot-architecture mailing list boot-architecture@lists.linaro.org http://lists.linaro.org/mailman/listinfo/boot-architecture