Add GPU Firmware To BOOTKERNFW

From RCS Wiki
Revision as of 22:45, 6 May 2018 by Nashimus (talk | contribs)
Jump to navigation Jump to search

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.