【树莓派内核版本降级】笔记
文章目录
- 【树莓派内核版本降级】笔记
- 一、起因
- 二、降级流程
- 1.降级失败经验(使用一体化的降级命令)
- 2.手动下载固件(降级成功)
一、起因
- 我在学习树莓派内核开发以及驱动开发的时候,树莓派在此期间重刷过,导致我虚拟机上的内核源码交叉编译出来的驱动,在新刷过的树莓派上无法运行,后面才发现是重刷过一遍其他镜像,导致ubuntu上的内核源码版本和当前树莓派的内核版本对应不上
那么,此时就有两种解决办法
- 其一,树莓派刷对应内核源码版本的系统镜像(现在还好,但工作中可能重刷后,需要重新配置环境,安装各种依赖,过程繁琐,耗时不可估计)
- 其二,树莓派内核版本进行降级,来适配虚拟机上的内核源码版本(本笔记打算试试)
二、降级流程
1.降级失败经验(使用一体化的降级命令)
参考某位大佬的自诉:
- 一番搜索后,找到了 rpi-update 指令,然后又翻到了最后一个 4.19 内核 4.19.118+ 对应到 hash 码,目测很简单,估计分分钟就能解决,窃喜。(打脸开始…)
- 大佬的参考博文
一体化的降级命令如下:
sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2
但运行后,会发现报错:
pi@raspberrypi:~ $ sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
!!! Failed to download update for rpi-update!
!!! Make sure you have ca-certificates installed and that the time is set correctly
报错显示说:证书或者时间有问题,于是尝试更新证书,更新时间
- 更新时间参考博文
sudo apt-get install ca-certificates
sudo ntpdate -u ntp.ubuntu.com
然而,更新完后,再次运行降级命令,发现还是报之前的错误,不管怎么解决都是报那个错误
pi@raspberrypi:~ $ sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2
*** Raspberry Pi firmware updater by Hexxeh, enhanced by AndrewS and Dom
*** Performing self-update
!!! Failed to download update for rpi-update!
!!! Make sure you have ca-certificates installed and that the time is set correctly
2.手动下载固件(降级成功)
下载是否成功有点看运气,我这边是电脑挂着梯子,速度还行,也不中断
- 实在不行可以考虑去GitHub下载下来再上传到树莓派
wget https://github.com/Hexxeh/rpi-firmware/archive/e1050e94821a70b2e4c72b318d6c6c968552e9a2.tar.gz
下载完后,把它进行解压,然后进入超级用户,移动到.rpi-firmware
文件夹下
tar -xzf e1050e94821a70b2e4c72b318d6c6c968552e9a2.tar.gz
sudo su
#root@raspberrypi:/home/pi#
sudo mv rpi-firmware-e1050e94821a70b2e4c72b318d6c6c968552e9a2 /root/.rpi-firmware/
最后,在超级用户下,运行降级命令,结果如下图则说明降级成功(虽说现在版本还是6.1.21-v7+)
UPDATE_SELF=0 SKIP_DOWNLOAD=1 rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2
输入sudo reboot
命令进行重启,重启后再次查看内核版本,发现已经降级成功,版本号为4.19.118-v7+