Community
cancel
Showing results for 
Search instead for 
Did you mean: 
ping
Novice
3,264 Views

What is the correct syntax / structure when creating an UEFI HTTP boot option within the UEFI Boot Manager ?

“bcfg boot add 6 \EFI\tools\shellx64.efi “EDKII-Shell” will sucessfully add a new Boot Manager entry.

 

Yet,

 

“bcfg boot add 7 PciRoot(0x0)/Pci(0x13,0x2)/Pci(0x0,0x0)/MAC(1234567890AB,0x0)/IPv4(0.0.0.0,0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0)/Uri()”

 

or

 

“bcfg boot add 8 PciRoot(0x0)/Pci(0x13,0x2)/Pci(0x0,0x0)/MAC(1234567890AB,0x0)/IPv6(::/128,0,Static,::/128,::/128,0)/Uri()”

 

will fail.

23 Replies
Leonardo_C_Intel
Moderator
346 Views

Hello ping Thank you for posting in the Intel Community. Allow me to investigate about the issue in meantime provide me with the following information: • What is the model of the system used in the environment? • What are the steps that you are using to create the scrip? • What operating system do you have installed? • Please attach to this thread the TXT file the Intel® System Support Utility will generate: https://downloadcenter.intel.com/download/25293/Intel-System-Support-Utility • Steps to save the report: 1- Run the utility. 2- Click on “Scan” to get the scanned system. 3- Once the scan is complete click on “next”. 4- Use the “save” option, save the report to your desktop. 5- To attach a file, you must click the “Attach” option on the bottom left-hand corner of the response box. Hope this helps. Regards, Leonardo C. Intel Customer Support Technician Under Contract to Intel Corporation
Leonardo_C_Intel
Moderator
346 Views

Hello ping I was checking your case and would like to know if you need further help. If so, please do not hesitate in replying back. Regards, Leonardo C. Intel Customer Support Technician Under Contract to Intel Corporation
ping
Novice
346 Views

Leo,

 

As requested:

 

• Model: NUC 7i3BNH & NUC7CJYH - all with the latest firmware

• We only wish to add a "Boot Entry" within the "UEFI Boot Manager" as to allow "HTTP Boot" aka "Boot from URL" (Please note, NOT "PXE Boot")

As such, we initiate the "EDKII EFI shell" as opposed to the device's "Built-in EFI Shell" as the built-in shell does not have the "bcfg" command included. - See TianoCore project -

• Operating system: None

• Intel® System Support Utility: N/A - No storage, nor OS is to be installed locally to the device.

 

Thanks

ping
Novice
346 Views

Leonardo_C_Intel
Moderator
346 Views

Hello ping Thank you for the information let me look into the setting that you are looking for bear in mind that this might not be possible since the Intel® NUC BIOS is built to boot from a storage device or PXE boot. Hope this helps. Regards, Leonardo C. Intel Customer Support Technician Under Contract to Intel Corporation
ping
Novice
346 Views

Leo,

 

Please note that no BIOS is involved.

 

All these NUC's are running purely UEFI.

 

UEFI (http://uefi.org) being an Intel initiative of which "HTTP Boot" (aka "Boot from URL") is supported since UEFI specification 2.5. At present the NUCs are running UEFI specification 2.6 although specification 2.7 has been available since May 2017.

 

We fully understand that no alternate network boot option other than "PXE Boot" is currently manageable from within the UEFI Boot Manager options. Thus being the reason that we would have to specify it manually and also being the reason we're using an alternate UEFI shell to manage the NVRAM. Please see "Heading 23.7 HTTP Boot on page 1221 of http://www.uefi.org/sites/default/files/resources/UEFI%20Spec%202_6.pdf

 

Note that "HTTP Boot" is hardly different to "PXE boot", though with the critical exception of excluding the use of the (less secure and slower) TFTP protocol in favor of HTTP to transfer the NBP on startup.

 

The same "limitations" apply with "IPv6" on these NUCs. The "built-in UEFI shell" does not include the IPv6 "ping" or "ipconfig" commands. Yet is available and fully functional upon using the "EDKII UEFI shell".

 

In summary, we are aware that the "setting" cannot be changed from within the "BIOS/UEFI" menu. We only wish for the correct syntax as to allow the manual additional of a new network boot option via the shell CLI. Basically, the correct syntax as to add "/Uri()" to the UEFI specified device path (DevPath) when specifying a new network boot entry, i.e:

 

“bcfg boot add 8 PciRoot(0x0)/Pci(0x13,0x2)/Pci(0x0,0x0)/MAC(1234567890AB,0x0)/IPv6(::/128,0,Static,::/128,::/128,0)/Uri()

 

Alternate approaches, be it to boot a particular OS image only to execute the native linux "efibootmgr" command, would also be a solution to our issue as to do this once-off UEFI NVRAM adjustment.

 

Thanks.

 

 

 

 

 

 

 

Ronny_G_Intel
Moderator
346 Views

Hi ping,

 

I have never done this before but did you check on the Getting Started Guide of EDKII HTTP Boot white paper? I am attaching it to the post.

I will be checking on the right syntax with peers that may know about it and I will get back to you as soon as possible but it may take some time.

 

Regards,

Ronny G

ping
Novice
346 Views

Hi Ronny,

 

The "Getting Started Guide of EDKII HTTP Boot white paper" is the reason behind our query.

Ronny_G_Intel
Moderator
346 Views

Hello ping, Let me do some more digging and look for more knowledgeable people on EDKII and I will get back to you as soon as possible.. Thanks, Ronny G
Ronny_G_Intel
Moderator
346 Views

Hi ping, Could you please provide me with some extra details about this project and also how many units do you need to set this boot option on? Thanks, Ronny G
ping
Novice
346 Views

Hi Ronny,

 

We need to simplify device initialization and content management thereby reducing related opex.

 

We can already successfully download and initialized pre-configured images to VMs configured without storage. The physical units though being geographically dispersed and especially not within properly managed environments.

 

12x NUC7i3BNH & 40x NUC7CJYH

 

Thanks

Ronny_G_Intel
Moderator
346 Views

Hi ping, I just got confirmation that Boot to HTTP is not enabled or supported on NUCs. I really apologize for the inconvenience and I wish I could be of more help but unfortunately this set up is not supported. Regards, Ronny G
Leonardo_C_Intel
Moderator
346 Views

Hello ping I was checking your case and would like to know if you need further help. If so, please do not hesitate in replying back. Regards, Leonardo C. Intel Customer Support Technician Under Contract to Intel Corporation
ping
Novice
346 Views

You're therefore stating that it's intentionally being crippled on the NUCs...

 

Then please advise on how to flash the open source iPXE option ROM (https://ipxe.org/) into the NUC's UEFI firmware.

Ronny_G_Intel
Moderator
346 Views

Hi ping, I understand your request and concern but there is very little I can do to help you as Boot to HTTP is not enabled in NUCs. In regards to flashing an IPXE option ROM image downloaded from https://ipxe.org/ this is something we dont support and keep in mind that it may also void the warranty. I believe this implies taking the IPXE image and burn it into the NIC ROM, this is something Intel wont support and cant help you to implement. I hope that you understand that this request is out of our scope of support. Regards, Ronny G
ping
Novice
346 Views

Ronny,

 

You represent Intel Corporation...

 

Since when has it become Intel policy to blow customers off so easily ? First, surely you can raise it with the relevant department by lodging a feature request or repair ticket. Secondly, escalate the matter to a more senior individual if you're hitting walls.

 

This is not an absurd request. It's a standard feature within the UEFI implementation. In all regards, the UEFI HTTP driver is being excluded with the NUCs' firmware. The question remains why?

 

How do we know this? From Intel's own UEFI driver programming course !

 

Then I have to beg the question why you do not advise on any interim workaround, only to "advise" that any attempts would be at our own costs ... Yet again you're not client focused as you do not peep a single word on a refund process...

 

I have personally flashed countless Intel Pro/100 adapter card's options ROM via Intel's instructions. See for yourself - https://www.intel.com/content/www/us/en/support/articles/000005790/software/manageability-products.h... - This is surely one reason they have always been the number one NIC adapter. But that was yesterday.

 

Yet the more we "progress" the more everything "regress" ...

 

No wonder the world is raging about ARM. Is Intel's days truly numbered ... which means your job as well one of these days.

 

ping
Novice
346 Views

You represent Intel Corporation...

 

Since when has it become Intel policy to blow customers off so easily ? First, surely you can raise it with the relevant department by lodging a feature request or repair ticket. Secondly, escalate the matter to a more senior individual if you're hitting walls.

 

This is not an absurd request. It's a standard feature within the UEFI implementation. In all regards, the UEFI HTTP driver is being excluded with the NUCs' firmware. The question remains why?

 

How do we know this? From Intel's own UEFI driver programming course !

 

Then I have to beg the question why you do not advise on any interim workaround, only to "advise" that any attempts would be at our own costs ... Yet again you're not client focused as you do not peep a single word on a refund process...

 

I have personally flashed countless Intel Pro/100 adapter card's options ROM via Intel's instructions. See for yourself - https://www.intel.com/content/www/us/en/support/articles/000005790/software/manageability-products.h... - This is surely one reason they have always been the number one NIC adapter. But that was yesterday.

 

Yet the more we "progress" the more everything "regress" ...

 

No wonder the world is raging about ARM. Is Intel's days truly numbered ... which means your job as well one of these days.

 

ping
Novice
346 Views

Ronny,

 

If you have any understanding of the query, you will know that the iPXE UEFI "rom" can be copied to an USB (FAT32 partition) drive and executed DIRECLTY from the USB drive once booted to the "UEFI Built-in Shell".

 

If you have any understanding of the query, you will know that the iPXE UEFI is not a "ROM".

 

If you have any understanding of the query, you will know that UEFI and BIOS is not the same thing.

 

If you are truly client support orientated and understand the query, you'd know that the workaround is to only "merge" the iPXE UEFI with the NUC's firmware in the same manner you'd be adding the UEFI HTTP driver. The only difference being that you're not willing to include the UEFI HTTP driver, though the iPXE UEFI is freely available.

 

If you are truly client support orientated and understand the query, the only "challenge" is documentation on how to build your own UEFI firmware package to be flashed.

 

However, I believe you do not understand UEFI.

 

 

Ronny_G_Intel
Moderator
346 Views

Hi Ping, I wish I could help but this feature as mentioned before is not enabled in NUCs and therefore not supported. I had made a request to put HTTP BOOT feature as a feature to be evaluated for future updates or products but this can take a long time so I cant promise anything at this point. In regards to use iPXE UEFI from https://ipxe.org/ I would recommend that you check with their sources of support: https://ipxe.org/contact. This is not an Intel product and we dont support it. We provide the UEFI environment only, iPXE UEFI is out of our scope of support, iPXE has their own support forum at http://forum.ipxe.org/. Another possibility is to check with the UEFI driver programming course owner that you took from Intel, they are the real experts on UEFI and they may know better how this works or doesnt work in NUC. The information I provided before about this feature not being enabled or supported in NUC came directly from NUC engineering. Regards, Ronny G
ping
Novice
127 Views

Thanks Ronny,

 

Such an answer is more appreciated.

 

Would you be able to reach out to  Laurie0131 <laurie.jarlstrom@intel.com> in this regard ?

 

Please see: https://github.com/tianocore/tianocore.github.io/blob/master/training/Learn_n_Development.md

 

 

Reply