home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   alt.os.development      Operating system development chatter      4,255 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,021 of 4,255   
   wolfgang kern to James Harris   
   Re: Q1-4: in UEFI boot basics   
   01 Dec 23 15:33:03   
   
   From: nowhere@never.at   
      
   On 01/12/2023 14:24, James Harris wrote:   
      
   >> Isn't the first thing it loads (or tries to) a file from the FAT32   
   >> root directory with a certain name like "efi.bin" ?   
      
   > We were talking about /where/ UEFI loads the PE file. And you've kept   
   > that prior discussion in.   
      
   sorry, I forgot to skip that out   
      
   > So the change to /what/ UEFI loads is unexpected.   
      
   > But on the topic of what gets loaded ... all I can say is I don't know!   
   > I presume each machine can be configured with a list of things to try.   
   > Just like a BIOS can be configured to look for a floppy, an optical   
   > drive, then the first hard disk, or similar, I believe a UEFI machine   
   > can be configured to try a series of potentially bootable media and   
   > files until it gets to one which works.   
      
   so I can assume PCs with UEFI_only_ have F11 boot-options as well.   
      
   > That said, there are some standard locations, most notably   
      
   >    /efi/boot/   
      
   is this folder tree mandatory or just convenient ?   
      
   > Files in there called   
      
   >    bootARCH.efi   
      
   > are meant to be bootable for the specified architecture. ARCH could be   
   > such as ia32 or x64 (and yes, 3-char architecture names are OK).   
      
   OK.   
      
   > I have been testing with qemu. No idea how to configure a boot list on   
   > it but by default it will load either   
   >   
   >    /efi/boot/bootx64.efi   
   > or   
   >    /startup.nsh   
    >   
   > where the latter is a series of textual commands. startup.nsh is akin to   
   > autoexec.bat.   
      
   that's interesting, I'll check what this one can do.   
   ...   
      
   [about relocation needs]   
   > Note, though, that in the previously posted disassembly the PE file   
   > appeared to do its own relocation.   
      
   you mean the RIP here?  so it has no relocation table?   
      
   > I think the services UEFI might use to load PE files are   
      
   > EFI_BOOT_SERVICES.LoadImage   
   > EFI_BOOT_SERVICES.StartImage   
      
   > but from a quick scan the standards don't seem to say what either of   
   > them does about relocation. Probably nothing, would be my guess.   
      
   Ok, after several month I may have enough info converted to try boot on   
   real hardware.   
   ...   
      
   > It's something I've to get back to. All I can say just now is that the   
   > PE file which the firmware wouldn't load had no reloc section.   
      
   I'm confused yet :)   
      
   >> I have a copy from Herbert's shortest possible PE. I'll read it again.   
   > Sounds good. Hope you'll feed back what you come up with.   
      
   Sure, but as said above it will take some time before I can run tests.   
      
   I go back now to do conversion yet, there might come more questions...   
      
   thanks for helping me old blind crossing a heavy traffic road   
   __   
   wolfgang   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca