3

I have AMD radeon gpu which needs to load many firmware files.

My system boots from initrd (initial ram disk), and I am now confused at what stage in the boot process, the firmware files need to be loaded. Also, the kernel driver amdgpu is compiled in "statically" (not a s loadable module).

I have tried copying all required firmware files on the initial ram disk, but kernel either cannot find them, or needs to load them before the filesystem is available. In any way, it reports:

faild to load firmware file amdgpu/polaris10_mc.bin

The only way that works is actually including the firmware files inside the kernel (CONFIG_FIRMWARE_IN_KERNEL):

[*]   Include in-kernel firmware blobs in kernel binary

I would prefer to have the firmware files loaded from disk, as is standard way to do it.

Why does kernel not load firmware files from my initial ram disk ?

Does it make any difference, whether the GPU driver is compiled as loadable module, or "statically ?

Martin Vegter
  • 69
  • 66
  • 195
  • 326
  • What directory did you copy your firmware to in your initramfs? The kernel does support this scenario, even with built-in drivers... – Stephen Kitt Dec 12 '19 at 14:32
  • @Stephen Kitt - I copied the whole directory with firmware files to `/lib/firmware/`. So I have the files in `/lib/firmware/amdgpu/` – Martin Vegter Dec 12 '19 at 16:53
  • Did you figure this out yet? I just moved my boot/system to an nvme and I now run into the same thing. Looking at dmesg, the order of discovery is sata, gpu, nvme. So, I see why the problem. But, lsinitramfs shows the firmware files are already included under /usr/lib/firmware/radeon. This is a stock Debian 10 system. – fuzzy7k Mar 19 '21 at 16:26

0 Answers0