Andrew, Thanks, I suspect that I might need to roll my own on this.
WRT option rom, that is coming on the next revision of the NIC hardware, but I am currently having to make do on a NIC that does not have a working option rom. That will be the next step, but I have been asked to do a demo, hence the looking for a method that can work via the Shell. You specified the bcfg command which is only in the UEFI shell (ShellBinPkg). I have been currently using EFI shell (EdkShellBinPkg) because of a bug in the UEFI shell prevents me from using the shift key. It does not look supported there. However, thanks for the tip on gBS->LoadImage() and gBS->StartImage() so I can go attempt my own solution. Again, thanks, Patrick ________________________________________ From: [email protected] <[email protected]> on behalf of Andrew Fish <[email protected]> Sent: Wednesday, March 30, 2016 12:44 PM To: Mahan, Patrick Cc: Carsey, Jaben; [email protected] Subject: Re: [edk2] How to initiate a PXE boot from the UEFI shell > On Mar 30, 2016, at 11:14 AM, Mahan, Patrick > <[email protected]> wrote: > > I'm trying to understand what the ipconfig -r command means, the help states > that it restarts the PXE base code and DHCP settings. > > There is also a '-c Instance' option that I am not sure about. But this > looks like my best hope. > Patrick, In UEFI the drivers (Option ROMs) don't support directly booting and they are not allowed to present a user interface. The boot policy is 100% controlled by the platform. The method to control boot policy that is in the UEFI spec are the NVRAM variables. You can read about this in "Chapter 3 Boot Manager" in the UEFI specification. I think you will find that ipconfig only allows configuring the networking stack, but in EFI the network stack does not boot. All the EFI Networking stack does is produce an EFI_LOAD_FILE_PROTOCOL. If you want to simulate a PXE Boot from the shell you need to write some code and do a gBS->LoadImage(), gBS->StartImage(). You can read about that in "6.4 Image Services" in the UEFI specification. You might be able to use the shell `bcfg boot addh <handle#> "desc"` to set a PXE Boot option from the shell. The handle# would be the network handle that produces the Load File protocol. Thanks, Andrew Fish > Patrick > > ________________________________________ > From: Carsey, Jaben <[email protected]> > Sent: Wednesday, March 30, 2016 10:15 AM > To: Mahan, Patrick; [email protected] > Cc: Carsey, Jaben > Subject: RE: How to initiate a PXE boot from the UEFI shell > > If your BDS supports PXE booting, you should be able to "exit" the shell and > then use BDS to initiate a PXE boot.. > > I think you're right that there is no built in command to initiate a PXE > boot. There is no command to initiate any boot type. > > -Jaben > >> -----Original Message----- >> From: edk2-devel [mailto:[email protected]] On Behalf Of >> Mahan, Patrick >> Sent: Wednesday, March 30, 2016 9:25 AM >> To: [email protected] >> Subject: [edk2] How to initiate a PXE boot from the UEFI shell >> Importance: High >> >> All, >> >> I am testing a the UEFI driver for our new NIC and can load it via the UEFI >> shell, >> ifconfig it and ping across it. However, I now need to somehow perform a PXE >> boot but I don't see any instructions or shell commands for doing this. I >> did >> find some (old) references back to the 2.0.0.1 release, but that is about it. >> >> Any pointers are welcome. >> >> Thanks, >> >> Patrick >> _______________________________________________ >> edk2-devel mailing list >> [email protected] >> https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ > edk2-devel mailing list > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

