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