在 RK3588 上为 Ubuntu 24.04 扩展芯片驱动,有两种方式:
方法一:快速加载独立模块(适合常见外设)
以单个.ko文件提供的驱动(比如某些 WiFi 或 USB 网卡驱动),通常不需要重新编译内核。
比如Ubuntu上有PWM驱动,但是没有输入捕获驱动,可以写一个rk3588_capture.ko
核心步骤包括:准备交叉编译环境(在x86电脑上用aarch64-linux-gnu-工具链编译) ->修改驱动的Makefile,指定 RK3588 内核源码路径和交叉编译工具链地址 ->执行make编译生成.ko文件->将.ko拷贝到开发板,用insmod或modprobe加载。
# 在开发板上加载驱动 sudo insmod rk3588_capture.ko
要读写设备文件,rk3588_capture.ko里面必须注册字符设备:
alloc_chrdev_region();
cdev_init();
cdev_add();
class_create();
device_create();
方法二:重新编译内核(适合深度定制)
获取内核源码:从你的开发板厂商或社区项目(如
ubuntu-rockchip)获取对应 Ubuntu 24.04 内核(6.1 版本)的源码和配置。配置内核选项:在内核源码目录执行
make menuconfig,找到并启用你需要的功能(比如Device Drivers->Rockchip platform drivers下的相关驱动)。编译与替换:执行编译命令生成新的内核镜像和驱动模块,然后替换开发板上的内核文件和
/lib/modules目录。