Changing the BIOS boot order in linux
tjrc at sanger.ac.uk
Wed Aug 5 14:11:24 CEST 2009
On 21 Jul 2009, at 1:51 pm, Joel Merrick wrote:
>> There might be a dirty way:
>> Write a FAI script or a hook for the final part of the installation.
>> This script changes the pxe configuration in such a way that the node
>> does not boot locally but it boots a DOS image.
>> This DOS image contains tools for setting the NVRAM and CMOS.
>> Create a
>> CMOS-image which has the right boot order. After the next reboot the
>> nodes boots from a local disk.
> This is intriguing, I take it you can use this method for BOIS updates
> too (on hardware that it'll work with of course..)
Yep, used to do that on RLX blade servers all the time circa 2002,
since they had no removable media at all, and the only way the
firmware could be updated was to PXE boot a DOS floppy. It was
actually built into the RLX Control Tower software; its OS deployment
method also used a PXE booted DOS boot floppy to SMB mount the Control
Tower server's exported filesystems, which contained OS images which
could be unpacked onto the disks of the machine. The process was
fairly analogous to the way FAI works today, but much less
customisable. SMB was used rather than NFS to make deploying Windows
onto the blades easier (not that I heard of many RLX customers that
were using Windows).
Even though RLX is long since a defunct company, Control Tower still
exists as a product, only now it's owned by HP and goes by the name of
Insight Control Linux Edition, which some of you may have seen. It's
had some fairly substantial rewriting since the days of Control Tower
3 on the original RLX blade products, though.
Back to the question at hand, updating BIOS settings is frequently a
hardware specific issue, and difficult to automate. It's one of the
principal reasons why I'm a fan of blade server architectures. For
example, on our HP c-Class blades, to PXE boot (and hence hand to FAI)
a chassis of machines, I just log into the chassis onboard
administrator using ssh, and then type:
set server boot once pxe all
reboot server all
Obviously if I only want to do a subset of blades, I can change "all"
to be whichever blades I want to reboot. Simple as that. No messing
about with PXE boot floppies and all that nonsense.
The Wellcome Trust Sanger Institute is operated by Genome Research
Limited, a charity registered in England with number 1021457 and a
company registered in England with number 2742969, whose registered
office is 215 Euston Road, London, NW1 2BE.
More information about the linux-fai