Von Zeit zu Zeit stehe ich vor dem Problem, daß eine Firmware auf einem Server eine bestimmte Version benötigt, um in einen supportet Status zu kommen und die Firmware von der HP-Supportwebseite im .scexe format zum Download bereit steht. Dieses Format ist allerdings nur von Linux lesbar. Ein Beispiel diesbezüglich ist die StoreVirtual von HP. Hier werden bestimmte Firmwarestände supportet, die aber nicht alle unbedingt auf einem SPP (Support Pack for Proliants) zu finden sind. Die Support-Matrix kann über HP SPOCK eingesehen werden.
Manche Firmware kann zwar über die CMC (Centralized Managment Console) installiert werden oder aber über einen USB-Stick, der direkt an den Server angeschlossen wird. Wenn der Server aber nicht im Zugriff ist (entfernter Standort), wird diese Methode schwierig. Oder es müssen unterschiedliche SPP geladen werden.
Hier habe ich gute Erfahrungen gemacht, mit dem booten einer Linux-Live CD und den benötigten Firmwarestand darüber zu installieren.
Ich möchte aber ausdrücklich darauf hinweisen, daß diese Methode nicht supportet ist.
Als erstes benötigen wir die Grml-Linux Live CD (Griml-Linux basiert auf Debian). Diese kann hier entsprechend downgeloaded werden (32Bit oder 64Bit):
https://grml.org/
Als nächstes benötigen wir noch das Firmwarefile. Hier bitte das entsprechende File für Linux auswählen (xxx.scexe)
Das Grml-ISO-File über die ILO des Servers mounten und den Server booten.
Über die "Boot options" Grml-Linux in den RAM booten. So wird sichergestellt, daß keine Daten auf die HD's des Servers geschrieben werden.
In der CLI angekommen, können die Befehle abgesetzt werden.
# Keyboardlayout auf deutsch/englisch einstellen:
grml-lang de
grml-lang us
# Netzwerk konfigurieren:
grml-network
# Netzwerkkarte direkt konfigurieren:netcardconfig
# Netzwerkkarte (z.B. eth1) mit vlan100 konfigurieren:
modprobe 8021q (Load 802.1Q Module)
vconfig add eth1 100 (Create vlan 100 on eth1 device)
ifconfig eth1.100 192.168.66.15/24 (Set IP + Mask)
ifconfig eth1.100 (eth1 abfragen)
route add default gw 192.168.66.254 (Gateway angeben. Dies wird über das Routing angegeben)
route (RoutingTable abfragen)
!!!! Gateway anpingen damit der ARP-Eintrag im Switch gesetzt wird !!!!
# Für root ein Password festlegen (z.B. toor)
passwd root
# Für ssh ein Password festlegen (z.B. toor)
ssh=toor
# SSH-Server start/stop/status
service ssh start / stop / status
Nun das Firmware-File (xxx.scexe) mit z.B. Filezilla via sftp auf den Grml-Linux Rechner hochladen (z.B. in den Ordner tmp)
# Rechte vergeben auf das hochgeladene File (z.B. test.scexe)
chmod 744 test.scexe
# Installation starten
./test.scex
Wenn folgende Fehlermeldung ausgegeben wird:
root@host:~#./CP021971.scexe
./test.scexe: 153: ./test.scexe: pushd: not found
./test.scexe: 158: ./test.scexe: popd: not found
./ccissflash: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
Folgende Pakete nachinstallieren:
# eventuell muß noch ein Proxy angegeben werden, da die Pakete aus dem Internet bezogen werden:
export http_proxy=http://<IP_von_Proxy>:<Port>
root@host:~# dpkg --add-architecture i386
root@host:~# apt-get update
root@host:~# apt-get install libstdc++6:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
gcc-4.8-base:i386 gcc-4.9-base:i386 libc6:i386 libgcc1:i386
[...]
Jetzt nochmal das Firmware-Update starten:
./test.scexe
Als letzten Schritt den Server neu booten.