详细记录了在立创RK3566泰山派开发板上编译Ubuntu 22.04.5系统和Linux 6.1.75内核的过程,涵盖了内核配置、驱动调试以及根文件系统扩容等关键技术点,为开发者提供了切实可行的操作指南。
智能速览
使用最新Linux 6.1.75内核并适配Panfrost GPU驱动
解决Arch Linux高版本GCC导致的编译报错问题
配置GT928触摸屏驱动与WiFi固件路径
手动构建ubuntu-base根文件系统并优化打包
利用parameter文件参数实现rootfs分区自动扩容
精华内容
针对泰山派开发板进行系统定制时,往往会遇到环境配置和磁盘空间限制的难题,通过实战摸索总结了一套高效的编译与扩容流程。
内核与驱动适配
选用Linux 6.1.75版本内核,将原有的kernel备份后解压新内核源码。需把kernel_old中tspi开头的设备树文件复制到新目录,并注释掉核心配置文件中的vp0内容以适配屏幕。开启GPU驱动支持,配置clock-names与interrupt-names参数,同时在menuconfig中将Goodix gt9xx触摸屏驱动设为Y,确保硬件外设正常工作。
编译环境配置
针对Arch Linux环境,因自带的GCC 15版本过新会导致编译失败,需调整工具链或指定GCC 11路径。在图形支持选项中开启Panfrost驱动,并设置Ignore drm ioctl permission为N。针对AP6系列WiFi模块,需手动指定固件位置为/lib/firmware/fw_bcm43438a1.bin,避免无线网卡无法识别。
根文件系统制作
直接下载ubuntu-base-22.04-arm64.tar.gz镜像源,利用qemu-user-static工具挂载并进行基础配置。跳过复杂的Buildroot编译流程,直接制作Linux根文件系统。将制作好的root目录通过mk-image.sh脚本打包为ext4格式的镜像文件,确保文件系统类型正确,避免后续扩容时出现特性不支持的问题。
分区自动扩容方案
默认编译生成的rootfs分区仅6GB,无法满足大容量需求。直接修改parameter.txt文件,将rootfs分区参数修改为“-@起始地址,系统启动后即可自动占满剩余存储空间,无需手动执行resize2fs命令,操作更加简便安全。
通过对内核配置、驱动适配及分区方案的详细梳理,成功解决了泰山派在Arch环境下编译及系统扩容的痛点。这套方案不仅提升了开发效率,也为后续功能定制提供了坚实基础,值得开发者参考借鉴。