BIOS Updates #
Methods to update the BIOS / UEFI on various platforms.
Lenovo Laptops from Linux #
Some modern Lenovo machines do not have an optical disc drive, yet only get Windows
installers or bootable
*.iso files, which can not be directly written to USB sticks.
Turns out inside that image there is another bootable format: an El Torito
image. You can extract that with a script called
geteltorito.pl and flash it to a USB stick.
# ./geteltorito.pl -o n10ur17w-usb.img n10ur17w.iso
Booting catalog starts at sector: 20
Manufacturer of CD: NERO BURNING ROM
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 27 and has 47104 sector(s) of 512 Bytes
Image has been written to file "n10ur17w-usb.img".
# dd if=n10ur17w-usb.img of=/dev/sdb bs=1M
23+0 records in
23+0 records out
24117248 bytes (24 MB, 23 MiB) copied, 0.354471 s, 68.0 MB/s
This information and script is taken from thinkwiki.de
Supermicro Boards via IPMI #
On boards that include the IPMI remote management feature you can just upload the firmware file in the web interface. Easy peasy.
Supermicro Boards with UEFI #
On other boards you’ll need to create a bootable USB stick with the BIOS updater. With UEFI there’s an easier way though. This is info and the script below come from the Thomas Krenn Wiki.
- create a USB stick with a FAT32 partition; it doesn’t need to be bootable but using a GPT partition table and marking the partition as “EFI System” seems to help
- extract the flash script (
flash.tar) to this partition; these files are from an X10DRI BIOS update package
- copy the downloaded firmware file for you motherboard to the partition
- reboot the server; maybe use the “Reboot with ME disable” mode to enable updates to the Management Engine
- use the boot menu to enter the “Built-in EFI Shell”
- navigate to your USB stick; that should be
- start the update with