Start a Conversation

Solved!

Go to Solution

5092

December 9th, 2021 11:00

Updating UEFI Boot settings via racadm commands fail to find boot device with mezzanine.

I have a large number PowerEdge C6420 that we have to routinely pxeboot the OS on. On previous models, we used the Legacy BIOS to PXE. This has the benefit of NOT modifying the boot order to allow us to pxeboot by rebooting the machine (redhat satellite is used to pxe, thus we can leave the boot order on PXEBoot first and it will bypass to the harddrive unless satellite is ready to pxe that machine). We could hit rebuild in satellite, then reboot the hosts and they would automatically rebuild. 

After we upgraded the hardware, it appears legacy boot is not workingwith our NICs/OS/hardware combo (below is the bug we created with redhat for R640 hosts but is the same with the C6420 models):

https://bugzilla.redhat.com/show_bug.cgi?id=1995813

 

We then migrating everything over to UEFI and were successfully able to pxeboot. This had a downside that after installing the OS via UEFI, the boot order gets automatically changed to boot the harddrive first. This causes substantial work on users to have to go into the BIOS every week and change the boot order to pxeboot the host again. We decided since we idrac on everything ,we can just use racadm to manually set this. 

We managed to get the appropriate racadm command to handle this on our R640 hosts by running:

racadm set BIOS.biosbootsettings.UefiBootSeq NIC.PxeDevice.3-1.

This works until we got to the C6420 with Mezzanine cards in them. Any attempts to list the boot device for mezzanine fails. As you can see in the attached pictures, we have the NIC set in the UEFI boot order and the server can attempt to pxe automatically. When we run racadm commands to see what the device (instead of manually setting in BIOS), it fails to find the device and the boot devices do not show up even they are set and working.

At this point it appears racadm is unable to manage the boot order for our mezzanine cards. Is this a known issue or is something else going on that may be breaking us?  

3-1-1_unavailable.jpgBIOS_Options.jpgpxe_device.jpgracadm_get_biossettings.jpg

 

Everything being commented out is not what we expected to see. Any reasoning for this? Thanks! 

5 Posts

February 17th, 2022 10:00

All, I was able to successfully get this to work by using the following racadm command:

set iDRAC.ServerBoot.FirstBootDevice PXE

serveraction hardreset

This makes the host PXEBoot on the next reboot and attempt to pxeboot on whatever was configured is the pxe nic in the BIOS. Noit sure why all other routes to get this working were failing but turned into a simple one liner to get what I needed accomplished. 

5 Posts

December 9th, 2021 11:00

The first picture that shows the command being ran:
racadm set BIOS.biosbootsettings.UefiBootSeq=NIC.Mezzanine.3-1-1 was an incorrect command. The actual command we ran is in the attached picture which states the selected boot device was not found. 
racadm_set_command.jpg

2 Intern

 • 

184 Posts

December 16th, 2021 07:00

I think I understand what you are saying.

I do not have a C series but I have an R6515 that has a mezzanine card also. Do you get similar results for the following commands?


#verify target is the desired mezz card.
#verify LegacyBootProto is set to PXE and maybe BootOptionROM is set to Enabled
racadm>>get nic.nicconfig.3
[Key=NIC.Mezzanine.1-1-1#nicconfig]
BannerMessageTimeout=5
BootOptionROM=Enabled
BootRetryCnt=NoRetry
BootStrapType=AutoDetect
Broadcom_SetupKey=Broadcom_SetupKeyCtrlS
HideSetupPrompt=Disabled
LegacyBootProto=PXE
#VLanId=1
VLanMode=Disabled
WakeOnLan=Disabled

#verify PxeDev3Settings is the desired mezz card
racadm>>get bios.PxeDev3Settings
[Key=BIOS.Setup.1-1#PxeDev3Settings]
PxeDev3Interface=NIC.Mezzanine.1-1-1
PxeDev3Protocol=IPv4
PxeDev3VlanEnDis=Disabled
PxeDev3VlanId=1
PxeDev3VlanPriority=0

#set the mezz as a boot setting
racadm>>set bios.bootsettings.UefiBootSeq NIC.PxeDevice.3-1
[Key=BIOS.Setup.1-1#bootsettings]
RAC1017: Successfully modified the object value and the change is in
pending state.
To apply modified value, create a configuration job and reboot
the system. To create the commit and reboot jobs, use "jobqueue"
command. For more information about the "jobqueue" command, see RACADM
help.

#verify the value expected is Pending
racadm>>get bios.bootsettings.uefibootseq
[Key=BIOS.Setup.1-1#bootsettings]
UefiBootSeq=RAID.Integrated.1-1,Unknown.Unknown.2-1,Unknown.Unknown.3-1,Unknown.Unknown.4-1,Unknown.Unknown.5-1,NIC.PxeDevice.1-1,NIC.PxeDevice.2-1,NIC.PxeDevice.3-1,NIC.PxeDevice.4-1
(Pending Value=NIC.PxeDevice.3-1,RAID.Integrated.1-1,Unknown.Unknown.2-1,Unknown.Unknown.3-1,Unknown.Unknown.4-1,Unknown.Unknown.5-1,NIC.PxeDevice.1-1,NIC.PxeDevice.2-1,NIC.PxeDevice.4-1)

#schedule the bios job
racadm>>jobqueue create BIOS.Setup.1-1
RAC1024: Successfully scheduled a job.
Verify the job status using "racadm jobqueue view -i JID_xxxxx" command.
Commit JID = JID_396735246450

#reboot

 

 

 

5 Posts

December 28th, 2021 10:00

Thanks for the reply. I attempted the commands you ran on my system and below are my results. 

racadm>>get nic.nicconfig.3
[Key=NIC.Mezzanine.3-1-1#nicconfig]
INTEL_LLDPAgent=Enabled
LegacyBootProto=PXE
#LnkSpeed=AutoNeg
#NumberVFAdvertised=64
VLanId=0
WakeOnLan=Disabled

 

racadm>>get bios.PxeDev3Settings
[Key=BIOS.Setup.1-1#PxeDev3Settings]
#PxeDev3Interface=NIC.Mezzanine.3-1-1
#PxeDev3Protocol=IPv4
#PxeDev3VlanEnDis=Disabled
#PxeDev3VlanId=1
#PxeDev3VlanPriority=0

 

racadm>>set bios.bootsettings.UefiBootSeq NIC.PxeDevice.3-1
ERROR: BOOT016: Input source argument value for the boot device is incorrect or
not found among the boot devices on the system.
racadm>>set bios.bootsettings.UefiBootSeq NIC.PxeDevice.3-1-1
ERROR: BOOT016: Input source argument value for the boot device is incorrect or
not found among the boot devices on the system.
racadm>>set bios.bootsettings.UefiBootSeq NIC.Mezzanine.3-1-1
ERROR: BOOT016: Input source argument value for the boot device is incorrect or
not found among the boot devices on the system.

As you can see, I attempted the "set bios.bootsettings.UefiBootSeq" a few different ways with none working. What is odd is the "get bios.PxeDev3Settings" appears commented out on the return. Not sure why that would be as I can manually pxeboot form the device no problem. 

2 Intern

 • 

184 Posts

January 18th, 2022 10:00

Those # in the return object mean the values are read only.

For my first command, I have "BootOptionROM=Enabled" in the results. It seems suspect that your output does not contain this and the results of other commands are read only.

5 Posts

February 17th, 2022 10:00

Also - This command would have worked as well:

 

set bios.biosbootsettings.uefibootseq NIC.PxeDevice.3-1,RAID.Mezzanine.1

 

This failed on previous tries as it appears racadm wants both devices listed (previous attempts I was just specifying NIC.PxeDevice.3-1. Talking to a Dell technician it appears that racadm has issues when you do not give it all devices that were previously listed in the boot order (didn't see that documented anywhere but good information to know)

No Events found!

Top