有没有办法找到当前的固件版本号?正在运行的版本还是当前在/boot中安装的版本?

uname -a仅显示内核版本,而不显示GPU“二进制blob”。


相关信息:如何如何更新软件和固件?


#1 楼

您可以通过在命令行中输入以下内容来检查GPU的固件版本:

sudo /opt/vc/bin/vcgencmd version


评论


真正的问题是为什么他们要把它放在如此晦涩的地方?

–亚历山大·张伯伦
2012年8月7日在8:12

@AlexChamberlain,这是由于linux操作系统的体系结构。 / opt文件夹包含可选软件包,因此必须在其中安装vcgencmd软件包

– Suhaib
13年5月17日在1:31



但是固件版本似乎与发行说明不符。这是为什么?

– Seamus
20 Jun 9'在4:46

@seamus不知道您可能需要问基金会,它怎么不追踪?

–史蒂夫·罗比拉德
20年9月9日在9:36

根据这个问题-也要在评论前亲自确认。

– Seamus
20年9月9日在10:13

#2 楼

史蒂夫的答案是正确的,但是这里有一些可能令人感兴趣的更多细节。

固件版本似乎由两个信息标识:


发布/提交日期
160位哈希值(AFAIK ,用于计算哈希的算法尚未发布)。

此信息有两个来源:


从命令行:sudo /opt/vc/bin/vcgencmd version
from RPi网站:发行说明

但是,正如这里至少有一位鹰眼的贡献者指出的那样,vcgencmd version命令中的160位哈希值与发行说明不匹配。这些哈希值在任何给定的发布日期不匹配的原因是,哈希值是在不同的文件集上计算的。

组织(可能还有他们的供应商/分包商)为Raspberry维护两个存储库Pi固件。其中一个存储库包含RPi固件的源代码,另一个存储库包含固件的编译/二进制版本。固件源代码存储库尚未发布(即它是“封闭源代码”);编译/二进制固件位于该GitHub存储库中。

最后要回答这个问题:


如果您想知道RPi上的固件版本,请使用sudo /opt/vc/bin/vcgencmd version;即史蒂夫的答案。
如果您想了解固件的最新版本,请查看发行说明
,但是请知道,这两个源中的160位哈希值将永远不匹配。这些来源之间唯一有效的比较是日期。


#3 楼

一个简单的脚本,用于打印HOSTNAME,日期,固件日期
MilliwaysPi4    2020-12-12  Nov 30 2020 22:12:08

#! /bin/sh
if [ -e /opt/vc/bin/vcgencmd ]; then
    VERS=$(/opt/vc/bin/vcgencmd version  | grep ":")
fi
echo `hostname`'\t'`date -I`'\t'$VERS