Just want to share that this worked very well for me on my APU2 (great low power option - 5-6W idle with attached Zigbee controller and a lot of integrations- for running Home Assistant!) in May 2025.
Basic process was follow the Github instructions above (GitHub - pcengines/pce-fw-builder: PC Engines firmware builder based on coreboot-sdk) on your main Linux box and build a coreboot.rom with tianocore payload- the tricky part in the Github instructions was #8. Basically, you want to make your menu look just like the one in the picture- you pick the Tianocore payload on the first option (it replaces what’s there), you deselect the PXE option, go to the secondary Paylods option and disable everything, and the tricky one for me was you select the option with the commit SHA, and literally just paste this string in there: " origin/coreboot-4.7.x-uefi" and in the end your menu will look just like the one in the picture. Save, leave, run the last part of the build, and as they say in the instructions, the output is in release/coreboot/build and it will be called ‘coreboot.rom’.
You now want to look at this page at how they build a Debian standard live USB and access it from the APU and log in. : install flashboot per APU bios upgrade instructions
On that page it also dells you how to flash a rom from Debian. You need to figure out how to get the file on there (I have network samba share and just pulled it into the live Debian env), and ran the flasher. At the end of the instructions on PcEngines, it tells you what to do if there is an error running the flasher command (I ran into this and their instructions worked great).
Next you basically follow these instructions in your Debian live env after restarting: Generic x86-64 - Home Assistant
But instead of using the GUI, you’re going to run something like:
sudo dd if=haos_generic-x86-64.img of=/dev/sda bs=4M status=progress conv=fdatasync
Make sure to use the right file name and directories.
Then you’re going to want to make a couple modifications to the cmdline.txt so you can actually see terminal output as someone mentioned above, so while you’re in the Debian env still, you need to run:
sudo mkdir -p /mnt/hass
sudo mount /dev/sda1 /mnt/hass
And then navigate to /mnt/hass/cmdline.txt (it’s somewhere in there!) and replace the one line string in there with console=ttyS0,115200.
Now run ‘sudo umount /mnt/hass’ and restart and unplug your drive and… everything should work great ![]()
I’ve seen some commands above to edit grub files and boot orders and such but I didn’t really find that I needed to do this- but maybe this will be an issue after there is a major upgrade? If anyone above can comment on this and hand hold me through how and where to make this modification, that would be great.