PC Engines APU2 coreboot / BIOS aktualisieren

Wer meinen englischsprachigen Blog liest, weiß, dass ich eine APU2C4 besitze und darauf pfSense als Router verwende.

Gestern habe ich festgestellt, dass darauf eine relativ alte Version von coreboot installiert war und habe daraufhin das BIOS aktualisiert. In diesem Artikel möchte ich möglichst generisch erklären, wie man die Firmware eines dieser PC Engines Boards richtig aktualisiert.

Herunterladen der aktuellen Rom

Unter https://pcengines.github.io/ kann man die aktuelle Firmware für die Boards (APU1 – APU5) herunterladen. Auf der Seite steht auch, was sich geändert hat und welche Probleme es aktuell bei welchen Boards gibt.

Nach einem Download der Binary sollte man den SHA256 Wert checken und kann dann den Upload der File zur APU starten.

Wenn man eine pfSense hat, sollte man die Binary auf seinen Rechner herunterladen und dann unter Windows z.B. mit Powershell den SHA256-Wert checken:

CertUtil -hashfile apu2_v4.11.0.6.rom SHA256

Unter Linux kann der Download und sha256 Überprüfung z.B. so ausgeführt werden:

wget https://3mdeb.com/open-source-firmware/pcengines/apu2/apu2_v4.11.0.6.rom
sha256sum apu2_v4.11.0.6.rom

Den Hashwert kann man dann mit dem Hash von der Download-Seite vergleichen. Er sollte übereinstimmen.

Upload der Rom-File unter pfSense

Hat man den beschriebenen Linux-Weg ausgeführt, hat man jetzt wahrscheinlich die File schon direkt auf die APU heruntergeladen. Über den pfSense Weg muss man die Datei jetzt aber erst auf das Gerät hochladen.

Das kann man über die Weboberfläche von pfSense mit dem Menüpunkt „Diagnostics“, „Command Prompt“ und dann „Upload File“ machen.

Flashen des neuen BIOS / coreboot

Dieser Schritt ist nun wieder weitgehend gleich – egal, ob man eine pfSense oder Linux verwendet.

Zuerst installiert man mit seinem Paketmanager „flashrom“. Unter pfSense kann man über „Diagnostics“, „Command Prompt“ und dann „Execute Shell Command“ die Befehle auch alle in der Web-UI eingeben.

Unter pfSense verwendet man dazu den folgenden Befehl und klickt danach auf „Execute“

pkg install -y flashrom

Anschließend führt man das eigentliche Flashen aus:

flashrom -w /tmp/apu2_v4.11.0.6.rom -p internal:boardmismatch=force

Wenn der Flash am Ende „VERIFIED“ wurde, passt alles und man sollte das System Neustarten. Den Reboot kann man unter pfSense über den Menüpunkt „Diagnostics“ und dann „Reboot“ durchführen.

Weil dieser Prozess meiner Meinung nach automatisiert werden könnte und ich schon viele Programme erstellt habe, die ähnliche Prozesse automatisieren, überlege ich hier auch ein Programm für automatische coreboot Updates auf PC Engines APUs zu erstellen…

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.