Is it possible to change BIOS settings from Linux?
I'm trying to write a script to enable IPMI on a ton of machines without having to hook up a KVM to them one by one. Is it possible to change the BIOS settings from Linux? OS is SL6.
I understand that each machine will likely need to be power cycled, but I can do that programmatically of course.
In general, no. There is no standard for how settings are stored, or even what settings there are. This information is proprietary to each individual bios.
Use:
... to Read
- dmidecode (tool for dumping a computer's DMI (some say SMBIOS))
... to write
http://flashrom.org (tool for identifying, reading, writing, verifying and erasing flash chips....)
http://www.coreboot.org (is a Free Software project aimed at replacing the proprietary BIOS (firmware) found in most computers.)
On HPE servers you can change settings using utility called conrep
. It's part of the hp-scripting-tools
RPM. The usage is described here:
h20566.www2.hpe.com/hpsc/doc/public/display?sp4ts.oid=5249594&docLocale=en_US&docId=emr_na-c05182235
It's quite simple. With -s
(save) parameter you say it to save the configuration, like:
conrep -s -f BL460Gen8.dat
And with -l
(load) parameter you say it to load the configuration:
conrep -l -f BL460Gen8.dat
The dat file is actually XML code. So if you want for example enable/disable hyperthreading settings, find respective line and modify the value. See the example for G6 and newer generations:
<Section name="Intel_Hyperthreading" helptext="Toggles hyperthreading on Intel based G6 and greater systems">Enabled</Section>