8. 升级包#

为了保证系统的稳定运行,我们会定期发布内核的升级包, 我们可以在百度云或者git仓库里下载我们的内核升级包, 升级包的更新内容会记录到更新记录文件内, 有需要可以根据更新内容更新自己的系统。

升级包升级只会替换与内核相关的文件,对于保存在非内核相关的文件夹, 是不会进行修改的,因此,可以在我们运行的系统中安装升级包,安装完重启即可升级,我们的文件也不会消失。

8.1. 自动升级#

我们会将升级包同步放到野火的网站上,我们可以直接使用以下命令升级。

8.1.1. 注意事项#

  • 更新内核包后,uEnv.txt文件会恢复成原始状态,需要再次配置

  • 如果不想要使用 sudo apt upgrade 更新内核可以进行以下操作

1#关闭内核自动更新
2sudo apt-mark hold linux-image-6.1.99-rk3576 linux-headers-6.1.99-rk3576

如果想要解除上面的操作,可以

1#打开内核自动更新
2sudo apt-mark unhold linux-image-6.1.99-rk3576 linux-headers-6.1.99-rk3576

备注

默认为关闭自动更新,即不能通过upgrade更新内核。

8.1.2. 手动更新#

1#先更新软件源
2sudo apt update
3
4#搜索软件源里的内核镜像包
5sudo apt search 6.1.99
  • 可以看到我们的软件源里有linux内核的更新包

1#安装正常内核
2sudo apt install linux-headers-6.1.99-rk3576 linux-image-6.1.99-rk3576
3
4#安装完成,重启即可
5sudo reboot

8.2. 手动安装升级包#

如果是自己编译内核,可以通过在sdk上编译出来的deb包自行安装

通过文件传输的方式,传输到板卡上。

升级包一共有4个,但只需安装其中2个,不同版本的升级包名字会不一样,如下所示

1#内核deb包传到板卡
2cat@lubancat:~$ ls *.deb
3linux-headers-6.1.99-rk3576_6.1.99-rk3576-1_arm64.deb linux-image-6.1.99-rk3576_6.1.99-rk3576-1_arm64.deb
4
5#安装方法
6sudo dpkg -i *.deb
7
8#安装后重启即可
9sudo reboot

8.3. 升级包分析#

  • linux-headers-6.1.99-rk3576_6.1.99-rk3576-1_arm64.deb

该包为内核的源代码,安装后,会把内核的源代码复制到/usr/src/linux-headers-6.1.99-rk3576中。

  • linux-image-6.1.99-rk3576_6.1.99-rk3576-1_arm64.deb

该包包含了内核,驱动,设备树相关,升级脚本

  • linux-libc-dev_6.1.99-rk3576-1_arm64.deb

该包为libc的一些头文件(可不安装)

  • linux-image-6.1.99-rk3576-dbg_6.1.99-rk3576-1_arm64.deb

该包为内核debug所要用到的内核以及驱动,主要用于系统出错和崩溃时,debug使用(可不安装)

这里只是简单的描述了各种升级包的作用,具体关于包的分析就依靠读者去探索,这里提供读取deb包命令。

1sudo dpkg-deb -c xxx.deb