7. 升级包

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

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

7.1. 自动升级

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

7.1.1. 注意事项

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

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

最新镜像默认关闭内核自动更新

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

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

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

7.1.2. 一键更新

1
2
3
4
5
6
7
8
#先更新软件源
sudo apt update

#自动更新内核
sudo apt upgrade

#安装完成,重启即可
sudo reboot

7.1.3. 手动更新

1
2
3
4
5
#先更新软件源
sudo apt update

#搜索软件源里的内核镜像包
sudo apt search 4.19.232
未找到图片

可以看到我们的软件源里有两种linux内核的更新包,一种是正常内核,另一种是RT-Linux内核

1
2
3
4
5
6
7
#安装正常内核
sudo apt install linux-image-4.19.232 linux-headers-4.19.232

#安装完成,重启即可
sudo reboot

#安装RT-Linux内核的方法和正常linux内核的安装方法不一样,有需要可以跳转到RT-Linux的章节进行安装

7.2. 手动安装升级包

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

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

升级包一共有四个,不同版本的升级包名字会不一样,如下所示

1
2
3
4
5
6
7
8
9
cat@lubancat:~$ ls *.deb
linux-headers-4.19.232_4.19.232-1_arm64.deb    linux-image-4.19.232_4.19.232-1_arm64.deb
linux-image-4.19.232-dbg_4.19.232-1_arm64.deb  linux-libc-dev_4.19.232-1_arm64.deb
cat@lubancat:~$

#安装方法
sudo dpkg -i *.deb

#安装后重启即可

7.3. 升级包分析

  • linux-headers-4.19.232_4.19.232-1_arm64.deb

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

  • linux-libc-dev_4.19.232-1_arm64.deb

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

  • linux-image-4.19.232-dbg_4.19.232-1_arm64.deb

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

  • linux-image-4.19.232_4.19.232-1_arm64.deb

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

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

1
sudo dpkg-deb -c xxx.deb