编译firmware到内核镜像中
很多驱动会给设备加载firmware,firmware一般会在文件系统中去获取,如果需要在加载文件系统之前加载这样的驱动,则需要将对应的firmware一起编译进内核。
配置CONFIG_EXTRA_FIRMWARE="subdir/xxx_fw.bin" (menuconfig: device driver-> Generic Driver Options-> Firmware loader )
CONFIG_FIRMWARE_IN_KERNEL=y
CONFIG_EXTRA_FIRMWARE_DIR="firmware" // this means $(source_dir)/firmware
CONFIG_EXTRA_FIRMWARE="fw_sst_0f28.bin"
注意默认的CONFIG_EXTRA_FIRMWARE_DIR=/lib/firmware/,这个路径不是kernel源码路径的lib而是编译主机本地根目录的lib
clean 后重新编译,如果找不到指定的fw文件,内核编译时会报错
例如:
No rule to make target '/lib/firmware/rtw88/rtw8822c_fw.bin'