[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Booting signed xen.efi through shim
On Wed, Sep 20, 2017 at 09:59:51AM -0600, Tamas K Lengyel wrote: > On Wed, Sep 20, 2017 at 9:46 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote: > >>>> On 20.09.17 at 17:20, <tamas@xxxxxxxxxxxxx> wrote: > >> On Wed, Sep 20, 2017 at 12:30 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote: > >>>>>> On 20.09.17 at 00:23, <tamas@xxxxxxxxxxxxx> wrote: > >>>> Yeap, the shim pretty simply removed the .reloc section as it was > >>>> marked discardable and did the relocations for Xen. So with that > >>>> removed from the shim I no longer get the error and I see that the > >>>> dom0 kernel gets verified using the shim lock protocol. > >>> > >>> So did you instead try whether simply clearing the discardable > >>> flag from the section also helps? The flag ought to matter in > >>> paged environments only (which EFI isn't despite paging being > >>> enabled), but as we see some people think otherwise. > >> > >> Yes, that would work. Even if the shim does its relocations everything > >> "just works" as long as Xen can also find the .reloc section. For now > >> it was just simpler for me to patch the shim to copy the reloc section > >> but it would be ideal if the xen.efi that's produced during > >> compilation would not have that flag set to begin with. I did search > >> around briefly to see where that flag is coming from but the only > >> reference to it within Xen I found was arch/x86/efi/mkreloc.c. So sans > >> writing a separate tool that binary patches xen.efi after compilation > >> to remove that flag I'm not sure how to get that done. > > > > That'll likely be another binutils tweak. What I find odd is that you're > > apparently the only one to have this problem. > > My guess is that not many people have actually tried booting Xen > through the shim before. I looked through the shim history and the > reloc section was discarded all the way back to several years if it > was marked discardable. So unless the discardable flag is something > that only has been added to the reloc section recently, someone should > have run into it already. I have played with Xen master in July and have not seen any issues. I will take a stab at it probably next week. > >>>> I still didn't > >>>> get dom0 to boot for some reason but that might be an unrelated issue > >>>> (and I have no serial console right now). Nevertheless, progress! > >>> > >>> And it doesn't get far enough for you to see any output at all? > >>> Did you try "earlyprintk=xen" on the kernel command line and/or > >>> "vga=keep" on the Xen one? > >> > >> I tried with both just now, no output at all from Xen on the screen > >> after it exits EFI boot. I also couldn't get any output from it on my > >> other laptop with Intel AMT. > > > > Odd. > > > >> I did manage to get another Linux kernel booting but my goal was to > >> get a shim verified dom0 kernel booting without an initrd image as > >> right now the ramdisk is not verified by the shim (also not sure how > >> that's supposed to work as sbsign/pesign can only deal with PE/COFF > >> binaries which the ramdisk isn't). > > > > That's not how it's supposed to work, I think. Just like the shim only > > verifies Xen and hands through the other modules unchecked, Xen > > only verifies the Dom0 kernel image (with the help of the shim). It's > > the Dom0 kernel to then verify the content (not necessarily the > > blob) of the initrd. > > > > Yea, that would be a sensible approach though I haven't (yet) found > anything that I could use with linux to do that initrd verification. > So my approach right now is to get the initrd baked into the dom0 > kernel, that way the whole thing can be signed and Xen can verify both > in one shot using shim. Partial solution for your problem is Linux kernel module signing. Daniel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx https://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |