报错log:
output/rockchip_atk_dlrk3588/build/rockchip-mali-master/meson.build:332:2: ERROR: File firmware/g610/mali_csffw.bin does not exist.
1、在本SDK目录下搜索g610和mali_csffw.bin,但是找不到。
2、在另一个没有报错的SDK下搜索:
$ find -name mali_csffw.bin
./rk3588/buildroot/output/rockchip_rk3588/target/usr/lib/firmware/mali_csffw.bin
./rk3588/buildroot/output/rockchip_rk3588/build/rockchip-mali-master/firmware/g610/mali_csffw.bin
./rk3588/buildroot/output/rockchip_rk3588/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/firmware/mali_csffw.bin
./rk3588/external/libmali/firmware/g610/mali_csffw.bin
3、进入两个SDK的external/libmali
,查看里面的文件, 发现本SDK确实缺少firmware
文件夹
rk3588-linux6.1/rk3588/external/libmali$ ls
data debian END_USER_LICENCE_AGREEMENT.txt firmware hook include lib meson.build meson_options.txt optimize_3 optimize_s overlay scripts
atk-rk3588/rk3588.repo2/external/libmali$ ls
data debian END_USER_LICENCE_AGREEMENT.txt hook include lib meson.build meson_options.txt optimize_3 optimize_s overlay scripts
4、搜索firmware
是怎么被编译的:
rk3588-linux6.1/rk3588/external/libmali$ grep -nrw firmware
grep: firmware/g610/mali_csffw.bin: 匹配到二进制文件
debian/copyright:35: "Software" means any software, firmware and data accompanying this
meson_options.txt:25:option('firmware-dir', type: 'string', value: '/lib/firmware',
meson_options.txt:26: description: 'Firmware DIR (default: /lib/firmware)')
grep: .git/index: 匹配到二进制文件
END_USER_LICENCE_AGREEMENT.txt:24:"Software" means any software, firmware and data accompanying this
meson.build:336: install_data('firmware/g610/mali_csffw.bin',
meson.build:337: install_dir : get_option('firmware-dir'))
atk-rk3588/rk3588.repo2/external/libmali$ grep -nrw firmware
debian/copyright:35: "Software" means any software, firmware and data accompanying this
END_USER_LICENCE_AGREEMENT.txt:24:"Software" means any software, firmware and data accompanying this
meson.build:332: install_data('firmware/g610/mali_csffw.bin', install_dir : '/lib/firmware')
发现二者install_data的方式不一样,没问题的SDK是直接install自己的firmware,而本SDK是install /lib/firmware
目录的,
而/lib/firmware
目录下并没有g610目录
5、原本应该可以直接下载的,但是连不上github(参考链接香橙派5部署chatglm2-6b模型-CSDN博客),下载命令如下:
cd /lib/firmware && sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin
6、直接把没问题的SDK的firmware/gc610复制到atk-rk3588/rk3588.repo2/external/libmali
或者/lib/firmware
下,编译还是报错。
7、最终,如果复制到atk-rk3588/rk3588.repo2/buildroot/output/rockchip_atk_dlrk3588/build/rockchip-mali-master
,编译就不会报错了。
cd atk-rk3588/rk3588.repo2/buildroot/output/rockchip_atk_dlrk3588/build/rockchip-mali-master
$ cp -r /home/sbwa/workspace/rk3588-linux6.1/rk3588/external/libmali/firmware/ ./