Add GPU Firmware To BOOTKERNFW
Using Debian (or installed linux of choice)
Make sure mtd-utils is installed
$ apt install mtd-utils
Generate Image (tmp/firmware should contain the missing firmware that is complained about when booting. E.g. "radeon/PITCAIRN_pfp.bin" or "amdgpu/polaris10_mc.bin")
$ /sbin/./mkfs.jffs2 -r tmp/firmware/ -o /boot/firmware_jffs_image.bin --pagesize=4KB
Petitboot
Reboot into petitboot shell.
Make sure you can see BOOTKRNFW (should return: mtd5: 000e0000 00010000 "BOOTKERNFW"):
$ cat /proc/mtd | grep BOOTKERNFW
Find flash_erase (mine was in /var/petitboot/mnt/dev/nvme0n1p2/usr/sbin/):
$ find / -name flash_erase
Erase /dev/mtd5:
$ /var/petitboot/mnt/dev/nvme0n1p2/usr/sbin/./flash_erase /dev/mtd5 0 0
Flash /dev/mtd5:
$ dd if=/boot/firmware_jffs_image.bin of=/dev/mtd5 bs=64k
Reboot back into petitboot shell and check to see if the firmware made it as expected:
$ ls /lib/firmware/
Note: If you are still getting an error message about not being to find vga bios, it may be because your gpu is being initialized before /lib/firmware is mounted.
You can check this by running dmesg from petitboot. E.g. My gpu was trying to initialize around 6.5 seconds and the mtd wasn't actually mounted until 7.25...
I was able to successfully load the firmware after after /dev/mtd5 was mounted by running "rmmod amdgpu && modprobe amdgpu" from petitboot.
I'm not sure if you will be able to do that or if you will need "rmmod amdgpu-pro && modprobe amdgpu-pro" for the wx series cards.