LubanCat RK3588 实时内核移植第一步:先确认硬件与系统版本

摘要:在开始 RT-Linux 移植前,建立硬件、rootfs、设备树、SDK 和内核版本基线,避免把旧教程直接套用到新内核。

写在前面

实时内核移植最容易犯的错误,是拿着旧版本教程直接执行命令。教程可能基于 5.10 内核,而当前设备运行的是 6.1;即使板卡名称相同,内核配置、设备树、启动分区和驱动接口也可能不同。

本文先建立一份"版本基线",后续所有编译和安装操作都以这份基线为准。

本次实测:LubanCat-5IOB(RK3588)从 6.1.84 迁移到 6.1.99-rt36-rk3588 #12。其他板卡不能直接复用本文的 DTB 和启动文件。

一、区分三个工作环境

移植过程通常同时涉及三个环境:

  • 开发主机 :运行 LubanCat SDK、交叉编译器和 build.sh。
  • 目标设备:安装新内核、加载模块并进行运行验证。
  • 串口终端:连接目标设备调试串口,用于网络不可用时查看 U-Boot 和内核日志。

build.sh 在开发主机执行,uname、modprobe 和 ip 等验证命令在目标设备执行。串口工具运行在开发主机,但显示的是目标设备的控制台。

二、目标设备基线检查

在目标板执行:

bash 复制代码
uname -a
cat /proc/cmdline
findmnt /
cat /etc/os-release

重点记录四项:

  1. 当前内核版本,例如 6.1.84;
  2. 根分区来源和文件系统;
  3. 启动参数中的 root=LABEL=... 或 root=PARTUUID=...;
  4. 发行版和架构,通常为 Ubuntu/Debian arm64。

还应记录板卡型号和设备树:

bash 复制代码
tr -d '\0' < /proc/device-tree/model
printf '\n'
tr '\0' '\n' < /proc/device-tree/compatible

model 和 compatible 能确认设备树描述的板卡身份,但不能直接告诉你 U-Boot 实际加载了哪个 .dtb 文件;后者还要结合 /boot 配置和串口启动日志判断。

三、开发主机 SDK 检查

bash 复制代码
SDK="$HOME/lubancat/LubanCat_SDK"
cd "$SDK"
./build.sh rk3588:LubanCat_rk3588_ubuntu_linux6.1_gnome_defconfig
./build.sh help | sed -n '/available defconfigs:/,/olddefconfig/p'

如果输出中出现 Using preferred kernel version(6.1),说明 SDK 已选择 6.1 内核。不要使用不存在的旧 defconfig,例如直接执行不带芯片前缀的配置名,可能得到 No such defconfig。

这里的 ubuntu、gnome 是 SDK 构建配置的一部分。只执行 kerneldeb 不会把目标板现有用户空间改成另一个 Ubuntu 版本,因此目标系统版本仍应以 cat /etc/os-release 为准。

四、为什么这一步不能省略

内核模块必须同时匹配内核版本、架构、配置和 vermagic。设备树还决定网卡、显示、CAN 控制器等硬件是否被描述。先固定版本,才能判断后续问题究竟来自编译、安装、启动还是驱动。

小结

移植的第一项成果不是生成一个文件,而是形成一份可追溯的版本基线。建议把 uname -a、/proc/cmdline、SDK manifest 和板卡型号保存到专栏配套资料中。

下一篇将使用 picocom 建立串口恢复通道,确保新内核无法联网时仍能观察和修复系统。

相关推荐
yunwei375 小时前
eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
linux·后端·性能优化
张宇Joaquin6 小时前
自研SP600系列网卡驱动跟麒麟V10 SP3 2403配套关系
linux·运维·网络
艾iYYY6 小时前
【无标题】
linux·开发语言·网络·操作系统
mklpo1477 小时前
在 安卓手机 上通过termux运行 gentoo 和 宝塔面板。2026.10.19
linux·运维·服务器
xatu7 小时前
ubuntu容器在redhat系统下使用大模型API问题
linux·运维·ubuntu
水饺编程8 小时前
第2章:Linux 基础,rm 命令
linux·c语言·汇编
雪落漂泊9 小时前
Linux基础开发工具(三)gcc/g++与make/makefile篇
linux·运维·服务器
爱吃辣椒的小豆豆9 小时前
Linux-sshd-实战-白名单与跳板机
linux·运维·服务器
气质、小青年!9 小时前
进程1学习
linux·学习
blueSatchel9 小时前
framebuffer注册源码解读
linux·嵌入式