RUBIK Pi 3 主线 Linux 运行方法
作者:赵虹阳
下面分享下我的 Linux 主线的调试方法。
1. 烧录基础版本
烧录 RUBIK Pi 的 Debian 或 Ubuntu 系统(支持 GRUB 引导,大概的启动流程为 PBL → XBL → UEFI → GRUB → KERNEL → 桌面系统);
如果使用 QLI 版本, 需要将 efi.bin 中的 kernel 镜像替换 ,并将主线编译出的内核 ko 文件 push 到 /lib/firmware 目录下。
我选择烧录 Debian13 V1.1 镜像(镜像可访问 rubikpi.ai 下载),因为 Debian 系统默认使能了 ADB ,方便进行调试; Ubuntu 系统的操作方法和 Debian 是一样的,选择任一即可。
烧录方法请访问 rubikpi.ai 中的用户手册相关章节获取。
2. 下载内核
使用下面命令下载主线内核,这可能会花费数个小时:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
或者使用谷歌镜像,会比较快
git clone https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux.git
进行开发时,需要切换到 master-next 分支
git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
git fetch linux-next
git fetch --tags linux-next
列出 next-* 的 tag
git tag -l "next-*" | tail
选择最新的 tag 创建开发分支
git checkout -b my_local_branch next-20251222
3. 编译内核
3.1 安装交叉编译工具链
我这里使用 aarch64-linux-gnu-, aarch64-linux-gnu-gcc 是由 Linaro 公司基于 GCC 推出的的 ARM 交叉编译工具:
sudo apt install gcc-aarch64-linux-gnu
3.2 修改 defconfig
将 CONFIG_SCSI_UFS_QCOM 的配置从 m 改为 y
CONFIG_SCSI_UFS_QCOM=y