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