====== PC Engines APU2 - update BIOS via USB ====== * .https://pcengines.ch/apu2.htm ===== Create bootable USB stick ===== * Format a USB stick or SD card with a FAT file system sudo fdisk /dev/sdb o # new disk n # new part t 0b # or b, W95 FAT a # make bootable w # Make change Replug or rescan disks sudo mkfs -t vfat /dev/sdb1 * Then make it bootable with syslinux (already available in linux system). sudo dd conv=notrunc bs=440 count=1 if=/usr/share/syslinux/mbr.bin of=/dev/sdb * Download TinyCore image. * Write image to USB flash drive. Image can be downloaded from https://pcengines.ch/howto.htm#TinyCoreLinux. Check /data/bigstore if the file is still there. Copy files from the zip to USB doesn't boot for me. Copying file from https://www.pcengines.ch/tinycore.htm boots but flashrom version there is too old to recognize apu2 bios (tinycore vertion too). zcat apu2-tinycore6.4.img.gz | sudo dd of=/dev/sda bs=1M conv=fsync status=progress * Mount the USB flash drive. * Download latest bios from https://pcengines.github.io/#mr-17 and copy to USB root, which will be mounted on apu2 at /media/SYSLINUX/. * Boot APU2 (press F10 and select USB flash drive). SeaBIOS (version rel-1.11.0.5-0-gd34c797) Press F10 key now for boot menu, N for PXE boot Select boot device: 1. AHCI/0: KINGSTON SMS200S330G ATA-8 Hard-Disk (28626 MiBytes) 2. USB MSC Drive SanDisk Ultra 1.00 3. iPXE 4. Payload [setup] 5. Payload [memtest] Booting from Hard Disk... SYSLINUX 6.03 EDD 20150820 Copyright (C) 1994-2014 H. Peter Anvin et al SYSLINUX 6.03 20150820 Copyright (C) 1994-2014 H. Peter Anvin et al Loading vmlinuz...Loading vmlinuz... ook k Loading core.gz..Loading core.gz....ook ____ ____ _____ _ | _ \ / ___| | ____|_ __ __ _(_)_ __ ___ ___ | |_) | | | _| | '_ \ / _` | | '_ \ / _ \/ __| | __/| |___ | |___| | | | (_| | | | | | __/\__ \ |_| \____| |_____|_| |_|\__, |_|_| |_|\___||___/ |___/ TinyCore 6.4 www.tinycorelinux.com login[525]: root login on 'ttyS0' searching for home directory ... FAT partition not mounted yet, retrying since 0 sscsi 4:0:0:0: Direct-Access SanDisk Ultra 6 sd 4:0:0:0: Attached scsi generic sg1 type 0 sd 4:0:0:0: [sdb] 60063744 512-byte logical blocks: (30.7 GB/28.6 GiB) sd 4:0:0:0: [sdb] Write Protect is off sd 4:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA sdb: sdb1 sd 4:0:0:0: [sdb] Attached SCSI removable disk FAT partition not mounted yet, retrying since 1 sFAT-fs (sdb1): Volume was not properly unmounte. random: nonblocking pool is initialized FAT partition not mounted yet, retrying since 14 sSorry, FAT partition not found. -sh: /root/takemehome.sh: line 22: fail_beep: not found -sh: /root/takemehome.sh: ./autostart.sh: not found root@box:~# * Start update. Flash may complains about mismatching rom id and suggest to force update. root@box:~# flashrom -p internal -w /media/SYSLINUX/apu2_v4.11.0.1.rom flashrom v0.9.8-r1888 on Linux 3.16.6-tinycore (i686) flashrom is free software, get the source code at http://www.flashrom.org Calibrating delay loop... delay loop is unreliable, trying to continue OK. coreboot table found at 0xcfed2000. Found chipset "AMD FCH". Enabling flash write... OK. Found Winbond flash chip "W25Q64.V" (8192 kB, SPI) mapped at physical address 0xff800000. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. Verifying flash... VERIFIED. root@box:~# * Reboot