找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1583

积分

0

好友

228

主题
发表于 前天 01:14 | 查看: 21| 回复: 0

在嵌入式设备上运行最新的Linux主线内核往往面临驱动支持等挑战。近期,笔者在基于瑞芯微Rockchip RK3588芯片的Radxa ROCK 5B+单板计算机上,成功完成了Linux 6.19-rc1主线内核的本地编译与运行,过程记录如下。

1. 基础系统准备

首先,需要为ROCK 5B+准备一个可启动的基础操作系统。笔者选用了一张MicroSD卡,并按照Radxa官方文档的指引,使用balenaEtcher工具将最新的Armbian镜像烧录至卡中。所使用的镜像是基于内核版本6.18的Ubuntu 24.04,可从Armbian官网获取。

烧录完成后,将SD卡插入ROCK 5B+,设备顺利启动,进入带有6.18内核的Ubuntu系统,网络等功能均正常工作。

2. 配置编译环境

我们的目标是在板卡上直接编译主线内核,因此需要先在系统中安装必要的开发工具。

sudo apt install -y git curl wget \
gcc g++ make bc bison flex libssl-dev \
libelf-dev python3 python3-pip rsync \
unzip device-tree-compiler pkg-config dwarves

接着,克隆Armbian强大的构建框架到本地,它将帮助我们自动化处理内核配置与编译的复杂流程。

git clone https://github.com/armbian/build

为了编译最新的6.19内核,需要修改Armbian构建脚本中关于内核版本的定义。编辑文件 config/sources/families/include/rockchip64_common.inc,找到 edge 分支的配置部分,将内核主次版本号从 6.18 修改为 6.19

@@ -33,7 +33,7 @@
         ;;
        edge)
-               declare -g KERNEL_MAJOR_MINOR="6.18"
+               declare -g KERNEL_MAJOR_MINOR="6.19"
                declare -g LINUXFAMILY=rockchip64
                declare -g LINUXCONFIG='linux-rockchip64-'$BRANCH
                ;;

3. 指定源码并编译内核

准备工作就绪后,即可开始编译。我们通过参数指定目标板卡、使用edge分支配置、并直接指向Linus Torvalds的Linux主线仓库进行编译。

./compile.sh BOARD=rock-5b-plus BRANCH=edge \
KERNELSOURCE='https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/' \
KERNELBRANCH='branch:master' kernel

编译过程结束后,在 output/debs 目录下会生成一系列 .deb 安装包。

4. 安装与重启

使用 dpkg -i 命令安装新编译好的内核包,然后重启系统。

sudo dpkg -i ./linux-*.deb
sudo reboot

重启后,ROCK 5B+成功引导至全新的Linux 6.19-rc1主线内核。系统功能完整,包括硬件加速在内的各项特性工作正常,甚至可以在Firefox浏览器中流畅播放在线4K视频。

5. 开发环境调优(可选)

对于开发用途,有时需要关闭一些安全模块以避免其对调试过程产生干扰。例如,可以禁用AppArmor。

sudo systemctl stop apparmor
sudo systemctl disable apparmor

总结:本次实践验证了Rockchip RK3588平台对Linux主线内核的良好支持能力。利用Armbian构建系统,开发者能够在Radxa ROCK 5B+这类ARM开发环境上相对便捷地追踪和测试最新的内核特性,这对于嵌入式Linux的内核编译与系统操作和底层开发具有重要意义。




上一篇:Linux内核arm64 DMA映射与缓存同步性能优化:批量处理实现3倍提速
下一篇:Java实战项目盘点:11个从SaaS到高并发的完整方案与架构解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 17:10 , Processed in 0.218005 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表