General
cancel
Showing results for 
Search instead for 
Did you mean: 

Possible to set Boot Controller Order (Proliant) from Linux Command Line?

SOLVED
Go to solution
Alzhy
Honored Contributor

Possible to set Boot Controller Order (Proliant) from Linux Command Line?

We're moving our RHEL systems to SAN Boot whilst maintaining a local (RAID P401 based LUN) boot ennvironment as fallback OE environment.

So currently I have 2 independent boot environments, each with each own Grub config.

When I want to switch to my SAN Boot -- I need to press F9 or F11, go to the BIOS and select my FC-HBA as my primary boot controller.

I can already enable my FC-HBA bioses via the Qlogic command line facility "scli" but is there a way to set the Boot Controller Order from Linux?

Or is there a better way? unfortunately -- it seems the Boot Selector on HP Proliants does not offer a facility to pick which disk to boot from. Other servers from Dell and IBM have that facility from within their Boot Menu.

Other ideas welcome on how to manage my boot environments.

TIA!


Hakuna Matata.
11 REPLIES
David Claypool
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

If you have the hp-health package installed you will have the hpasmcli command available. Look at "SET BOOT FIRST XXX"
Matti_Kurkela
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

The usual way Proliants do it is that the main system BIOS menus can be used to select the Boot Controller Order only. To select a specific disk, you must access the configuration menu of the boot controller itself (on SmartArrays, press F8 while the controller is initializing; something else on FC HBAs) and see if the controller supports that option.

Some Proliant BIOS settings can be changed using the "hpacucli" command that comes with the hpasm/hp-health package. Alas, the Boot Controller Order is not one of those parameters.

MK
MK
Lucifer Megacruel
Valued Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Hi Alzhy,

I am a linux enthusiast and has zero experience with enterprise class Linux hardware.So apologies in advance for pig headness if any :).

Here is what I think would help , why not modify grub configuration of local disk to provide a option to boot from SAN too ?

I have setup network booting with grub once. You need to modify the grub.conf and run the grubinstall script. This can potentially render the system unbootable , so prepare a rescue disk iso , so that can recover incase anything goes bad :).

--Lucifer
"To Denouce the Evils of Truth and Love. To cause may hem and destruction and necromancy , Lucifer is here"
Alzhy
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Lucy and Matti,

My two boot environments are to be independently bootable. Each has its own Grub config that will have no facility to boot environments from the other disk.

On X-Series beemer servers - their Boot Menu when FC-HBA BIOSes with a Boot LUN configured allows selection on which Disk to Boot - Default (Disk0) points to the SAN Boot LUN, 2ndary would be the first local (raid or local lain sas) .. etc.

On Proliants, one has to sepcificy Boot Controller Order -- if you want to boot from SAN, you need to set your FC-HBAs to be on Boot Order 1 and 2 (for multipath) .

Surely there is a way to change whatever BIOS settings from the OS - Linux or WIndows. Or is there ?

Hakuna Matata.
Alzhy
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

hpasmcli> set boot
Invalid Arguments
SET BOOT FIRST [ CDROM | FLOPPY | HDD | PXE | USBKEY ]
SET BOOT ONCE [ CDROM | FLOPPY | HDD | PXE | RBSU ]

Partially helpful - RBSU will boot to BIOS - at least that saves one POST cycle switching to a Boot Controller.

Hakuna Matata.
Michael Leu
Honored Contributor
Solution

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Maybe conrep from the SSSTK (http://www.hp.com/servers/sstoolkit) could do this?

Once upon a time I tried to explain to HP that 'SET BOOT FIRST PXE' is quite useless when you have additional PXE capable network cards installed. The only option seems to be going into the 'curses' BIOS, as not even the command line BIOS has this fine grained control... :-(
Alzhy
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Dead URL Michael.

hpasmcli is good enough right now. At least one could set it to RBSU which reboots the system to the BIOS where the Boto Controller Order can be specified.

WOuld have been uber-kool if there was a tool to:

SET BOOT ONCE FC_HBA1 #1

To specify that my FC HBA adapter #1 would provide the "C" drive that will be the default HDD boot device.

Hakuna Matata.
Michael Leu
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Hmpf, the ')' got included, here it is again:
http://www.hp.com/servers/sstoolkit
Jimmy Vance
HPE Pro

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

HP has several CLI utilities to manipulate disks and boot order. For your needs to switch between the Smart Array controller and a FC HBA, you will have to use the conrep utility to change the storage controller order in the BIOS

Conrep is available for both Windows and Linux and is part of the SmartStart Scripting Toolkit.

http://www.hp.com/servers/sstoolkit

There is a standalone version of conrep, but I'm not sure of the URL




__________________________________________________
No support by private messages. Please ask the forum!      I work for HPE

If you feel this was helpful please click the KUDOS! thumb below!   
Lucifer Megacruel
Valued Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Hi Alzhy,

At the risk of going off topic , but answering your question here.

>>Surely there is a way to change whatever >>BIOS settings from the OS - Linux or >>WIndows. Or is there ?

Short answer: possible , but very difficult unless you know the particular hardware very well :( . The x86 system starts an mode known as the real mode and you are limited to 1 MB of memory. When you are in BIOS you are typically in real mode, but GRUB actually puts into protected mode ( enable a20 , install a dummy GDT , set LSB of CR0 register to 1 ). Once the grub has started its initialization the ebx register will point to the multiboot information, you can use this info to get info like where total amount of memory installed etc . The problem is that you cannot actually execute real mode code from protected mode straight away!

x86 actually provides a segmentation and paging memory management schemes and linux acutally really do not take advantage of the segmentation mechanism ( mainly because it needs to be as portable as possible ! , not all architectures support segmentation).

I know this is'nt very helping , but it is *very* difficult to change bios settings from windows /linux if you do not know the hardware platform really well :). Also hope that something in my rambling interests you as well :)

--Lucifer
"To Denouce the Evils of Truth and Love. To cause may hem and destruction and necromancy , Lucifer is here"
Alzhy
Honored Contributor

Re: Possible to set Boot Controller Order (Proliant) from Linux Command Line?

Thanks.

I have not downloaded the SSToolkit yet but I am pretty sure there is that utility there as other X86 platforms - IBM, DELL, SUN have similar tools.

But for my needs, I found out that simply disabling the FC_HBA BIOS will give me the fix I need. So with Boot Controller Order FIXED to FC-HBAs first, P410i SAS Controller 3rd - disabling the BIOS will set the Bootable HDD to the local RAIDed Disk.

So while booted in SANBOOT, disable the FC-HBA BIOSES as follows (True only for QLOGIC Based HBAs!!!):

for FC in `scli -i all|grep "Port Name"|awk '{print $NF}'`;do
scli -n $FC EB 0
sleep 30
done

Reboot and Server will boot off the local disk.

Now to switch to SAN BOOT, just do the above - this time doing an "scli -n $FC EB 1". ANd Server will boot off the SAN Boot Lun.

Problem fixed!

Hakuna Matata.