Ein Kunde von mir besitzt einen Lenovo TS130 Server, der regelmäßig aus unerklärlichen Gründen abnippelt.
Also mal Zeit für ein Bios-Update.
Jetzt gibt es auf der Lenovo-Seite in der Tat ein 64bit Binary für RedHat.
Wichtig ist zu wissen, dass ein Kernel-Modul nötig ist zum Flashen, welches erst erstellt werden muss.
Hierzu sind jedoch die aktuellen kernel-headers nötig.
# apt-get install linux-headers-`uname -r`
Im Anschluss kann das Modul kompiliert werden mit:
root@srv1:/opt/BIOSLinux64# ./afulnx_26_64 /MAKEDRV
+—————————————————————————+
| AMI Firmware Update Utility(APTIO) v2.39 |
| Copyright (C)2011 American Megatrends Inc. All Rights Reserved. |
+—————————————————————————+
– Program initializing ..
– Make AFULNX driver …. ok
– Program ended normally.
Abschließend startet man den Flash-Vorgang mit:
root@srv1:/opt/BIOSLinux64# ./flash.sh
Your current BIOS is 9HKTXXA, so after flash complete, the BIOS will be updated successfully.
./afulnx_26_64 IMAGE9H.ROM /P /R
+—————————————————————————+
| AMI Firmware Update Utility(APTIO) v2.39 |
| Copyright (C)2011 American Megatrends Inc. All Rights Reserved. |
+—————————————————————————+
Reading file ………. done
FFS checksums ……… ok
Reading flash ……… done
Erasing flash ……… done
Writing flash ……… done
Broadcast Message from root@srv1
(somewhere) at 11:39 …
Warning communications lost with UPS srv1
Verifying flash ……. done
Congratulations, your BIOS is updated successfully! System will auto reboot to complete update!
Broadcast Message from root@srv1
(somewhere) at 11:39 …
Communications restored with UPS srv1
Broadcast message from root@srv1 (pts/0) (Wed Apr 23 11:39:56 2014):
The system is going down for reboot NOW!
Tadaa – ganz ohne Windows oder Dos-Bootdiskette.
Vorher:
root@srv1:/opt/BIOSLinux64# dmidecode -s bios-version
9HKT38AUS
Nachher:
root@srv1:/opt/BIOSLinux64# dmidecode -s bios-version
9HKT55AUS