*Goal*
I need a UEFI PXE and Legacy PXE compatible boot image that will:

   - Determine if the drive is bootable or not (find MBR or GPT and add
   sector option(s) to boot menu)
   - Query a server to determine default boot option for given MAC (this
   part is currently written as a CGI script in Python)
   - Use a boot loader (GRUB2) to combine partial menu with drive
   information and partial menu from server to be custom boot menu.

*Current Process Vision*

   1. UEFI / Legacy PXE client issues DHCP Discover, ACK, etc.
   2. TFTP Server serves up Bootx64.efi (currently compiled from GRUB2
   source - not yet signed / shimmed for booting Windows stuff, but the
   ability exists)
   3. BootX64.efi does the following
      1. Query server (CGI, XMLRPC, API, (http) / (tftp) grub device, or
      *something*) for menu for boot menu (specific to client MAC)
      2. Searches LBA 0 for valid MBR or MBR shadow to GPT
         1. If there are valid boot sectors, add the options to the menu
      3. Issue command to boot downloaded images

*Back Story and Current Progress*
The back story on this is that where I work, we test OS installations. We
PXE boot to a custom OS, wipe out a drive, install an OS with a script (WDS
or kickstart) and reboot. When the machine reboots, we would like to have
the ability to automatically tell the machine what its default boot options
are, but if there is a valid OS installation on the drive - boot that
instead.

I know the UEFI shell can read some LBAs from devices and the
Tianocore/EDK2 tools can compile full applications to do some of this stuff.

I understand that GRUB2 may have a script or module available to
automatically add a boot option to the boot menu. However, I have been
unable to successfully do this.

iPXE does the custom dynamic boot menu well for legacy PXE booting, but as
of this writing does not widely support UEFI and doesn't read anything from
the local hard drive (as is my understanding).

I know GRUB can dump some LBA information.

I know what values to search for in the GPT/MBR that indicate whether the
drive is bootable (example on Wikipedia
<http://en.wikipedia.org/wiki/Master_boot_record#Sector_layout>).

*Direction Needed*

   - I am very open to ideas on how to go about doing this.
   - Is there an easier way to go about doing this?
   - Does an application/image with these features already exist? (GRUB2
   module?)

I have seen examples of EFI applications like network browsers and newer
motherboards can do driver and Windows updates without booting into an OS.
I know what I want to do is possible, but I'm not sure how to put the
pieces together and I was hoping this list would be able to help.



Joseph Kelly
------------------------------------------------------------------------------
Slashdot TV.  
Video for Nerds.  Stuff that matters.
http://tv.slashdot.org/
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to