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

Reply via email to