coreboot Upgrade Tag

coreboot ist das BIOS der APU’s. Ein wirklich schwierige Angelegenheit ist es nicht, aber halt eine nervige Pflicht.

Aufgespielt wird es üblicherweise mit einem TinyCore Linux. Ein USB oder SDCard Live System das bereits mit dem Flash Programm.
Man findet es bei pcengines in der HowTo Collection.
Zur Anweisung für Windows kann ich nichts sagen. Die für Linux und Mac ist Mist.
Ich wollte heute Morgen mal ausprobieren TinyCore6.4_2017.tar.bz2 nach den Angaben auf der Seite zum laufen zu bringen. Erstmal via Raspberry Pi um da fest zu stellen das es Syslinux weder auf dem System noch in den Repo’s gibt.
Als ich dann endlich ein Linux System (ein Xubuntu auf einem GPD Pocket) mit syslinux am laufen hatte, und es auch ohne Auffälligkeiten auf den USBStick anwenden konnte… sagte mir die erste APU immer es befände sich kein System auf dem Datenträger.
Also doch apu2-tinycore6.4.img.gz verwendet. Dabei handelt es sich allerdings um ein bootbares Image das nicht auf den bootbaren USB Stick kopiert wird (wie auf der Websteite beschrieben), sondern per dd den gesamten Inhalt (oder zumindest den MBR und 512MB) des USB Stick überschreibt.
Das Coreboot findet man ebenfalls in der HowTo Collection, dort allerdings nur als Link zu Github.
Dort die Binaries der aktuellen Version heruntergeladen und entpackt auf dem USBStick mit Coreboot abgelegt.
Wenn man das TinyCoreLinux mit sudo dd if=apu2-tinycore6.4.img of=/dev/sda bs=1024k aufgespielt hat klappt auf einmal auch das mit dem booten…
Das es die Filesysteme angeblich nicht findet und deshalb 2 der scripte nicht startet, kann getrost ignoriert werden.
Der flashvorgang selbst wird mit:
flashrom -w /media/SYSLINUX/apu4_v4.8.0.2.rom -p internal:boardmismatch=force
angestossen.
Ohne den :boardmismatch=force Anhang kam merkwuerdigerweise sowohl bei APU4 als auch bei APU2 (mit dem zugehoerigen .rom) ein:
This coreboot image (PC Engines:apu4) does not appear to
be correct for the detected mainboard (PC Engines:PC Engines apu4).

Vielleicht lag es daran, dass die Versionen teilweise doch ein wenig weit von den installierten Versionen abwich.
Anyway.
Die APU4’s befanden sich auf der Version 4.6.4:
Bei dieser Version sah das Menü so aus:

PC Engines apu4
coreboot build 20171130
BIOS version v4.6.4
4080 MB ECC DRAM
 
SeaBIOS (version rel-1.11.0.1-0-g90da88d)
 
Press F10 key now for boot menu
 
Select boot device:
 
1. ata0-0: KINGSTON SUV500MS120G ATA-11 Hard-Disk (111 GiBytes)
2. USB MSC Drive General UDisk 5.00
3. SD card SD    15079MiB
4. Payload [memtest]
5. Payload [setup]

Nach dem Upgrade auf Version 4.8.0.2:

PC Engines apu4
coreboot build 20180705
BIOS version v4.8.0.2
4080 MB ECC DRAM
SeaBIOS (version rel-1.11.0.5-0-gd34c797)
 
Press F10 key now for boot menu
 
Select boot device:
 
1. USB MSC Drive General UDisk 5.00
2. SD card SD    15079MiB
3. AHCI/0: KINGSTON SUV500MS120G ATA-11 Hard-Disk (111 GiBytes)
4. Payload [setup]
5. Payload [memtest]

Man beachte, dass (wie zu erwarten) sich die Bootreihenfolge verändert und Payload [setup] mit
Payload [memtest] (etwas unerwartet) die Plätze getauscht hat.

Ich hab die Ausgabe der seriellen Konsole auch auf Pastebin hinterlassen
Und eine kurze Aufnahme (nach dem Boot von TinyCoreLinux) auf

Dieser Beitrag wurde unter APU.2C4, APU4b4, Hardware veröffentlicht. Setze ein Lesezeichen auf den Permalink.