{{tag>[hardware apu pxe]}} =====PC Engines APU - update BIOS over PXE===== ====Prerequisites==== * Working PXE/tftp server. * PC Engine's APU. * Serial console. ====Configuration==== * On the PXE server, create a directory. mkdir -p /tftpboot/bios * Download the (latest) BIOS firmware: [[http://www.pcengines.ch/file/apu_tinycore.tar.bz2]] * Extract in /tftpboot/bios. * Copy **syslinux.cfg** to /tftpboot/pxelinux.cfg/default, and edit the file.SERIAL 0 115200 CONSOLE 0 default tinyCore ALLOWOPTIONS 0 TIMEOUT 600 LABEL tinyCore MENU LABEL ^tinyCore KERNEL /bios/vmlinuz console=ttyS0,115200n8 append priority=low initrd=/bios/core.gz superuser noswap nodhcp embed nozswap blacklist= ====Download BIOS image, flash BIOS==== * Request IP-Address. udhcpc -i eth0 * Download the BIOS firmware. tftp -g -r /bios/apu140405.rom pxe.server.host * Upgrade the firmware. $ flashrom -w apu140405.rom flashrom v0.9.7-r1711-APU on Linux 3.8.13-tinycore (i686) flashrom is free software, get the source code at http://www.flashrom.org Using default programmer "internal". Calibrating delay loop... OK. coreboot table found at 0xdffdf000. Found chipset "AMD SB7x0/SB8x0/SB9x0". Enabling flash write... OK. Found Macronix flash chip "MX25L1605A/MX25L1606E" (2048 kB, SPI) at physical address 0xffe00000. Reading old flash chip contents... done. Erasing and writing flash chip... Erase/write done. * Reboot the APU. reboot