On 09/17/13 09:33, Ni, Ruiyu wrote:
> If you look at the BDS code which creates the boot option for network, it 
> just gets the MAC device path and stores it into the boot option variable.
> So it looks strange that the LocateDevicePath() cannot find the same MAC 
> device path in the system.

The problem is that under the use case being discussed, the code that
creates the boot option for the network is *not* BDS code. It's not even
UEFI code, it's a userspace process called "efibootmgr" in the runtime
Linux OS.

That code has no access to the device path that the UEFI network driver
exposes for the NIC. When "efibootmgr" runs, the UEFI network driver
doesn't even exist. So "efibootmgr" has to recreate (basically: guess)
the same device path as the UEFI network driver would install.

These heuristics work quite well (the PCI address and the MAC address of
the NIC can be retrieved dynamically, and the PciRoot() attributes are
specified by the user manually). We've been just wondering whether the
IfType attribute of the MAC() node could be guessed as well. If not,
then the user's going to have to specify that too on the efibootmgr
command line, similarly to the PciRoot() attributes.

Thanks,
Laszlo


------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. 
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to