4. 内核编译与烧录:获取源码、配置、编译、生成boot.img、烧录

说实话,内核编译这块,是很多刚入行朋友的第一道坎。

我记得自己第一次编译RV1126内核时,光配置就折腾了大半天。不是缺工具链,就是少依赖库。后来摸清了套路,发现其实就那么几步。今天我把这些经验掰开揉碎了讲给你听。

4.1 获取内核源码

瑞芯微官方提供了完整的内核源码。我习惯用Git来管理,方便后续版本切换。

git clone https://github.com/rockchip-linux/kernel.git
cd kernel
git checkout rv1126-linux

嗯,这里要注意:分支一定要选对。RV1126有专门的分支,别下错了。

我的习惯:下载完后,先看一眼根目录下的Makefile,确认版本号。我遇到过有人下了RK3399的内核来编译RV1126,折腾半天才发现不对。

4.2 配置内核(menuconfig)

内核配置说白了就是告诉编译器:哪些功能要,哪些不要。

RV1126官方提供了默认配置,在 arch/arm64/configs/ 目录下。我一般这样操作:

export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make rv1126_defconfig
make menuconfig

menuconfig界面是图形化的,用方向键导航,空格键选择。我个人建议新手先别乱改,用默认配置编译一次,跑通了再说。

核心思路:先跑通,再优化。别一上来就想裁剪内核,容易翻车。

为什么会这样?因为默认配置是官方验证过的,硬件外设基本都能工作。你改了某个驱动选项,可能系统就起不来了。到时候排查问题,你都不知道是配置问题还是硬件问题。

4.3 编译内核

配置搞定后,就是编译了。命令很简单:

make -j4

-j4 表示用4个线程并行编译。我建议根据你电脑的CPU核心数来设,比如8核就 -j8。

编译时间取决于你的机器性能。我自己的笔记本大概要5-8分钟。如果改了驱动模块,可能更快一些。

避坑指南:我曾经因为磁盘空间不足,编译到一半报错。内核编译会产生大量中间文件,建议预留至少10GB空间。

编译完成后,你会看到 arch/arm64/boot/Image 这个文件。这就是内核本体。

4.4 生成boot.img

光有内核Image还不够。RV1126启动时需要boot.img,它包含了内核、设备树、ramdisk等。

瑞芯微提供了打包工具 mkbootimg。我一般这样用:

mkbootimg \
  --kernel arch/arm64/boot/Image \
  --dtb arch/arm64/boot/dts/rockchip/rv1126-evb.dtb \
  --ramdisk ramdisk.img \
  --base 0x00200000 \
  --pagesize 2048 \
  -o boot.img

参数说明:

参数 说明
--kernel 编译好的内核镜像
--dtb 设备树文件,对应你的板子型号
--ramdisk 根文件系统镜像
--base 内存基地址,RV1126固定为0x00200000
--pagesize 页大小,RV1126用2048
小技巧:如果你没有ramdisk,可以用一个空的。但建议还是准备一个最小的根文件系统,方便调试。

4.5 烧录到开发板

烧录这一步,说白了就是把boot.img写到开发板的存储里。RV1126支持多种烧录方式,我常用的是USB烧录。

首先,让开发板进入烧录模式:

  1. 按住板子上的 RECOVERY 键
  2. 按住 RESET 键
  3. 松开 RESET 键
  4. 等待2秒后松开 RECOVERY 键

然后,用瑞芯微的烧录工具 rkdeveloptool:

sudo rkdeveloptool db rv1126_loader.bin
sudo rkdeveloptool wl 0x00004000 boot.img
sudo rkdeveloptool rd

这三条命令的意思:

  • db:下载引导程序到内存
  • wl:写入boot.img到指定分区地址
  • rd:重启开发板
注意:分区地址0x00004000是RV1126的boot分区起始地址。不同板子可能不一样,建议先查一下分区表。

烧录完成后,开发板会自动重启。如果一切正常,你会看到串口输出内核启动日志。

4.6 整体流程回顾

我把整个流程画了张图,方便你理解:

内核编译与烧录流程 获取内核源码 menuconfig配置 选择功能模块 make编译 生成Image 生成boot.img 打包内核+dtb 烧录到开发板 USB烧录模式 重启验证 查看串口日志 关键点:先跑通默认配置 → 再按需裁剪 → 最后烧录验证 💡 建议:第一次编译不要修改任何配置,确保流程走通

这张图把整个流程串起来了。你想想看,从获取源码到最终跑起来,其实就这六步。每一步都有对应的命令和工具,按顺序来就行。

我的经验:第一次编译时,别追求完美。先让系统跑起来,看到串口输出"Welcome to Linux"再说。后面再慢慢优化、裁剪。

嗯,内核编译这块内容就这些。说白了就是:拿源码、配配置、点编译、打包、烧录。每一步都有坑,但踩过一次就记住了。


可可精品资料库