orangepi5pro更新Linux内核版本

这是我orangepi5pro开发板目前的信息,可以看出我当前的内核版本为6.1.43,接下来我要将它换成5.10.160版本的内核

第一步:获取LinuxSDK源码,并编译内核(在虚拟机里的ubuntu里操作)

拉取LinuxSDK源码:
git clone https://github.com/orangepi-xunlong/orangepi-build.git -b next
如果像上面这样无法通过git clone顺利下载,你可以直接访问这个网站  GitHub - orangepi-xunlong/orangepi-build: Orange Pi build for H2+, H3, H5, H6, H616, RK3328, RK3399 and RK3588(s) 直接下载该项目的压缩包,然后把压缩包放到ubuntu中解压,和git clone的效果一样
 
获取到源码包之后,进入到 orangepi-build目录(SDK根目录),里面会看到下面这些文件:
a. build.sh : 编译启动脚本
b. external : 包含编译镜像需要用的配置文件、特定的脚本以及部分程序的源
码等
c. LICENSE : GPL 2 许可证文件
d. README.md : orangepi-build 说明文件
e. scripts : 编译 linux 镜像的通用脚本
你会发现该SDK目录下并没有包含 u-boot linux 内核的源码,也没有编译 u-boot linux
内核需要用到交叉编译工具链,这是正常的,因为这些东西都存放在其它单独的
github 仓库或者某些服务器上了(下文会详述其地址)。 orangepi-build 在脚本和
配置文件中会指定 u-boot linux 内核和交叉编译工具链的地址,运行 orangepi-build
时,当其发现本地没有这些东西,会自动去相应的地方下载的,下载完之后,你会发现orangepi-build目录下多了kernel,externel,output,toolchains,u-boot这些目录。
kernel目录存放 linux 内核的源码,里面名为 orange-pi-5.10-rk35xx 的文件夹存放的就是 RK3588/RK3588S 系列开发板 legacy 分支的内核源码
u-boot 目录 存放 u-boot 的源码,里面名为 v2017.09-rk3588 的文件夹存放的就
RK3588/RK3588S 系列开发板 legacy 分支的 u-boot 源码
output 目录 存放编译生成的 u-boot linux deb 包、编译日志以及编译生成的
镜像等文件
toolchains : 存放交叉编译工具链
userpatches 目录 存放编译脚本需要用到的配置文件
如果做好了上面的准备,那么就可以进行编译了

编译内核命令:sudo ./build.sh BOARD=orangepi5pro BRANCH=legacy BUILD_OPT=kernel KERNEL_CONFIGURE=no

编译u-boot命令: sudo ./build.sh BOARD=orangepi5pro BRANCH=legacy BUILD_OPT=kernel KERNEL_CONFIGURE=no
内核编译后生成的结果如下,存放在 orangepi-build/output/debs目录下
a. linux-dtb-legacy-rockchip-rk3588_1.0.2_arm64.deb 包含内核使用的 dtb 文件
b. linux-headers-legacy-rockchip-rk3588_1.0.2_arm64.deb 包含内核头文件
c. linux-image-legacy-rockchip-rk3588_1.0.2_arm64.deb 包含内核镜像和内核模块
第二步:验证编译结果,并将编译生成的内核镜像.deb包传到开发板系统中 (在虚拟机里的ubuntu里操作)
如果你想验证你编译结果的这个内核镜像是不是基于Linux5.1.xxx内核版本,你可以执行
dpkg -x linux-image-legacy-rockchip-rk3588_1.0.2_arm64.deb .将该deb包解开,解包后会生成boot  etc  lib  usr这四个目录,然后进入到/boot目录下查看是否包含5.1.xxx的文件,像下面这样:
现在已经编译完了内核,并且验证过版本为我们想要升级的版本,那么接下来需要将 linux-image-legacy-rockchip-rk3588_1.0.2_arm64.deb这个文件传到开发板里,你可以用scp,tftp,nfs,adb,samba等方式传输过去(具体方法不再演示),这里我用的是samba
第三步:卸载并清除现有的内核镜像安装包,并安装刚才编译生成的内核镜像安装包(在开发板的ubuntu系统里操作)
然后进入到开发板的ubuntu系统中,先找到当前系统里的deb格式的内核镜像,将其卸载并清除
然后再使用 dpkg -i linux-image-legacy-rockchip-rk3588_1.0.2_arm64.deb命令安装刚才传过来的刚编译好的内核镜像deb包
然后重启板子,再次查询,结果如下
此时就完成了内核版本的更新!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值