RK3588开源GPU移植流程

一、资料

1.第三方开源内核下载地址:https://github.com/armbian/linux-rockchip

2.根文件系统下载地址:https://github.com/radxa-build/rock-5t/releases/download/rsdk-r5/rock-5t_bookworm_kde_r5.output_512.img.xz

3.kernel官网最新版内核(6.18)中才包含panthor驱动,mesa3D v24.1开始支持panthor驱动(panfrost/drm-shim/panfrost_noop.c)

二、准备

1.提取rootfs:下载完后解压img镜像文件,通过fdisk -l查看img分区,找到第三个分区开始扇区和扇区长度,通过dd命令将第三分区提取出来(如:dd if=rock-5t_bookworm_kde_r5.output_512.img of=rootfs.img bs=512 count=66142 skip=1542)。

2.修改root密码:挂载rootfs.img文件到/mnt目录,打开/mnt/etc/shadow文件更改root密码(密码需要hash算法转换,不会可以先从系统shadow文件中复制一个密码用)

3.配置内核defconfig:1)配置defconfig文件GPU驱动,关闭mali bifrost驱动并开启Panthor驱动( Device Drivers > Graphics support > Panthor (DRM support for ARM Mali CSF-based GPUs))。2)通过配置defconfig捆绑GPU固件文件到内核img内(CONFIG_EXTRA_FIRMWARE="mali_csffw.bin" CONFIG_EXTRA_FIRMWARE_DIR="drivers/gpu/arm/bifrost/")

4.配置内核设备树:关闭GPU(&gpu{status:disable};)开启panthor(&panthor{status:okey};)

三、编译内核

1.将开源内核解压到rk3588 sdk根目录并创建软连接kernel指向该目录(原SDK kernel也是指向kernel-6.1的软连接文件,删除即可)。

2.编译:./build.sh kernel

四、刷写镜像

1.由于本次移植没有编译完整镜像,需要先在HMI上刷写hmi 5.1版完整镜像文件。

2.刷写完镜像后再单独刷写通过第三方内核编译出来的boot.img和第三方img文件提取出来的三个分区镜像文件rootfs.img

五、确认驱动是否开启

1.登录系统后先创建一个普通用户(如:adduser test),将用户添加到/etc/sudoer文件内。

2.切换到普通用户内(su test)并设置好显示环境变量(export DISPLAY=:0),执行glxinfo | grep "OpenGL renderer",如能看到 Mali-G610 (Panfrost)表明开源GPU驱动已启用。

相关推荐
冬奇Lab4 小时前
一天一个开源项目(第249篇):Hallmark —— 一个拒绝“AI 味”的设计 Skill,用 48 套材质主题和浏览器 Linter 约束编程助手
人工智能·开源·资讯
用户579450770616 小时前
BaoCode,你不是读不懂 Claude Code,是终端不让你读懂
开源
SL_staff7 小时前
运维救火实战:钉钉API变更致薪资计算中断,如何用可视化逻辑引擎5分钟热修复
java·开源·全栈
weh9607 小时前
受够了同事之间的拌嘴,所以我做了一个多Agent协同平台
开源
阿哲CZ7 小时前
AI 重建 3D 的开源项目,我跑通了:它把自己的误差写进了 JSON
开源
wflynn8 小时前
GitHub 日榜趋势速报 | 2026-10-26
开源·github
JPower_mr.g9 小时前
SmartCall v1.0.9 发布:智能体知识库上线,让 AI 客服先查资料再回答
java·ide·人工智能·macos·架构·开源·xcode
SL_staff9 小时前
破除执行黑箱:用目标地图、资源热力图与健康度看板构建可下钻的执行事实链
java·开源·全栈
分布式存储与RustFS9 小时前
GPU 在空转等数据?PyTorch 训练集进 RustFS 的三种接法
云原生·开源·对象存储·分布式存储·s3·rustfs·性能基准