On Mon, Jun 4, 2018 at 12:43 PM, Phil Turmel <philip@xxxxxxxxxx> wrote: > Hi G, > > On 06/04/2018 01:39 PM, Chris Murphy wrote: >> How does the firmware find the kernel? > > There must be an EFI System Partition in a GPT reachable from the UEFI > bios that contains a bootable shim or monolithic kernel. The target > file must be identified as the boot target in the UEFI bios's flash > variables. The spec does define GPT, but it also defines a particular (rather common I guess) kind of MBR that the firmware should also be able to read. So in effect it can be either MBR or GPT. Also, the spec does require an EFI System partition, but in practice quite a lot of UEFI firmware out there will not actually check the partition type GUID to make sure it is only ever reading from an actual EFI System partition. Most firmware in practice defer to NVRAM device+partition+path - and whatever that is, it will go try to read it. If it's FAT, it will read and execute that file, regardless of whether it's got an EFI System partition GUID. And then should your firmware have the ability to read something other than FAT, then it'll read off that too. Also, some of the language of the spec differentiates between removable drives where the tests for this are more tolerant. And it might be the required tolerance and required support for removable drives is what ends up applying to non-removable drives as well. Last time I looked, the spec doesn't say if the drive is non-removable, that it must apply strict checking for the EFI system partition type GUID before reading a volume/path specified in NVRAM. -- Chris Murphy -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html