Mar*_*ter 6 firmware linux-kernel
我正在 Debian Stretch 上编译我自己的内核 (4.4.x),并且我想将我的 radeon 显卡的固件包含在内核中,这样就不需要从用户空间加载。
CONFIG_FIRMWARE_IN_KERNEL
CONFIG_EXTRA_FIRMWARE
Run Code Online (Sandbox Code Playgroud)
我已将固件文件安装到/lib/firmware/
apt-get install firmware-amd-graphics
Run Code Online (Sandbox Code Playgroud)
如何找出我的特定图形卡需要包含哪些固件文件?
VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Oland GL [FirePro W2100]
Run Code Online (Sandbox Code Playgroud)
我假设我需要以下一些固件文件:
/lib/firmware/radeon/oland_*.bin
Run Code Online (Sandbox Code Playgroud)
但哪些?
一般来说,找出特定硬件/驱动程序需要哪些固件文件的过程是什么?
Gentoo wiki radeon 文章描述了如何将固件包含到内核二进制文件中。本文还包括一个表格,列出了每个 GPU 型号所需的固件二进制文件。对于您的FirePro W2100(Oland 芯片组),下表列出了以下固件二进制文件:
radeon/oland_ce.bin radeon/oland_mc.bin radeon/oland_me.bin
radeon/oland_pfp.bin radeon/oland_rlc.bin radeon/oland_smc.bin
radeon/TAHITI_uvd.bin
Run Code Online (Sandbox Code Playgroud)
dmesg| grep "direct-loading firmware"检查系统上使用的内核日志应该会告诉您自动加载了哪些固件:
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/OLAND_pfp.bin
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/OLAND_me.bin
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/OLAND_ce.bin
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/OLAND_rlc.bin
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/OLAND_mc2.bin
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/OLAND_smc.bin
radeon 0000:01:00.0: firmware: direct-loading firmware radeon/TAHITI_uvd.bin
Run Code Online (Sandbox Code Playgroud)
我想这个方法是用来收集 gentoo wiki 中的表所用的数据的。
构建期间要包含在内核映像中的固件是使用CONFIG_EXTRA_FIRMWARE选项配置的。构建系统查找额外固件的目录是使用CONFIG_EXTRA_FIRMWARE_DIR选项配置的。
如何包含固件二进制文件,步骤如下:
您需要将 radon 驱动程序(和直接渲染管理器)直接构建到内核中,而不是作为模块。需要从文件系统加载模块。
配置CONFIG_EXTRA_FIRMWARE_DIR为/lib/firmware,位置分布将二进制映像安装到。这样您就不需要复制固件二进制文件。
列出 中的固件文件CONFIG_EXTRA_FIRMWARE,多个文件用空格分隔。
使用菜单配置:
直接将 radeon 驱动程序构建到内核。
Device Drivers --->
Graphics support --->
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> AMD GPU
Run Code Online (Sandbox Code Playgroud)包括固件
Device Drivers --->
Generic Driver Options --->
[*] Include in-kernel firmware blobs in kernel binary
(radeon/... radeon/...)
(/lib/firmware) Firmware blobs root directory
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
5468 次 |
| 最近记录: |