HP bietet die Möglichkeit ein BIOS Update über das LAN durchzuführen. Selbstverständlich kann das ganze über die HP Webseite durchgeführt werden, oder es kann ein eigenes Repositorty im intern LAN betrieben werden. Ich möchte hier kurz erläutern wie ein solches Repositority im eigenen Netz eingerichtet werden kann.

Unterstützte Modelle

Folgende Modelle werden seitens HP unterstützt:

  • HP EliteBook 800 G1 series
  • HP ProBook 600 G1 series
  • HP ProBook 400 G0 und G1 series
  • HP ElitePad 900 G1
  • HP EliteDesk 800 G1 series
  • HP EliteOne 800 G1 series
  • HP ProDesk 600 G1 series
  • HP ProOne 600 G1 series
  • HP ZBook 17 Mobile Workstation
  • HP ZBook 15 Mobile Workstation
  • HP ZBook 14 Mobile Workstation

Vorbereitungen

Um ein solches Repositority anlegen zu können müssen einige Dinge vorbereitet werden, bevor wir zum eigentlich Teil kommen.

Webserver

Um ein BIOS Update über das Netzwerk durchführen zu können benötigen wir einen Webserver, hierbei ist es egal ob es sich um einen IIS, einen Apache2 oder ein anderer Webserver betrieben wird. Das ganze muss lediglich über HTTP bzw. FTP erreichbar sein. In meinem Fall verwende ich hierfür ein Apache2 Webserver.

Zusätzlich richte ich noch einen DNS Eintrag hierfür ein.

Anmerkung: Wird ein Apache2 Webserver verwendet muss auf die Groß- Kleinschreibung geachtet werden.

Verzeichnisstruktur sowie Katalog

Damit HP überhaupt weiß ob ein Update vorhanden ist muss zwingend ein Katalog (*.xml) sowie eine definierte Verzeichnisstruktur vorhanden sein.

Nun aber zu den Details:

Aufbau

Wie bereits erwähnt habe ich einen eigenen DNS Eintrag erstellt, welcher später im BIOS hinterlegt wird. In meinem Fall nennt sich das ganze biosupd.domain.tld. HP empfiehlt die BIOS Files (*.bin) sowie den Katalog (*.xml) in einem weiteren Unterverzeichnis abzulegen. Somit ergibt sich schlussendlich folgende URL http://biosupd.domain.tld/bios

HP EliteDesk 800 G1

In meinem Beispiel baue ich ein Repo für den HP EliteDesk 800 G1. Als erstes müssen wir die SysID herausfinden. Diese findet sich im BIOS (System Info). Bei diesem Typ handelt es sich um die ID 18E5.

Somit legen wir unterhalb des Bios Verzeichnisses ein weiteres Verzeichnis 18E5 sowie eine 18E5.xml an

mkdir 18E5
touch 18E5.xml

Aufbau der XML Datei

Das Schema der XML Datei sieht folgendermaßen aus:

<?xml version="1.0" encoding="utf-8"?>
<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
>
<xs:element name="BIOS">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="SysId" type="xs:hexBinary" />
<xs:element minOccurs="1" maxOccurs="100" name="Rel">
<xs:complexType>
<xs:attribute name="Ver" type="xs:string" />
<xs:attribute name="Date" type="xs:date" />
<xs:attribute name="Bin" type ="xs:string" />
<xs:attribute name="RB" type ="xs:boolean" />
<xs:attribute name="L" type ="xs:string" />
<xs:attribute name="DP" type="xs:string" />
<xs:attribute name="TXT" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

Die Attribute haben folgende Bedeutung:

  • Rel: BIOS Release
  • Ver: BIOS Version
  • Bin: Pfad zum eigenlichten BIOS File (*.bin)
  • RB: Rollback erlaubt 1 = ja 0 = nein
  • L: Handelt es sich um ein wichtiges BIOS Update 1 = ja 0 = nein
  • DP: Abhängigkeiten zu einer anderen BIOS Version
  • TXT: Nachricht der IT Abteilung

Inhalt der 18E5.xml

In meinem Fall habe ich folgendes Eingetragen.

<?xml version="1.0" encoding="utf-8"?>
<BIOS>
 <SysId>18E5</SysId>
 <Rel Ver="02.75" Date="2018-04-05" Bin="L01_0275.bin" RB="0" L="1" />
</BIOS>

Zusätzlich muss natürlich noch das L01_0275.bin File im selben Verzeichnis liegen. Somit ergibt sich folgende Verzeichnisstruktur:

- bios
-- 18E5
--- 18E5.xml
--- L01_0275.bin

BIOS Einstellungen

Im BIOS kann nun unter Advanced der Menüpunkt Update BIOS Via Network ausgewählt werden. Im sich öffnenden Dialog muss nun anstelle von HP auf Custom gestellt werden. Anschließend kann bei der URL die URL (in meinem Fall http://biosupd.domian.tld/bios) eingetragen werden.

Nach dem speichern (F10) kann über File / Flash ROM das Update durchgeführt werden.