如何查看:Buildroot所使用Linux的版本号、gcc交叉编译工具所使用的Linux的版本号、开发板上运行的Linux系统的版本号

news2025/2/7 13:34:33

定义编号①②③的含义

将“Buildroot所使用Linux的版本号”编号为①
将“gcc交叉编译工具所使用的Linux的版本号”编号为②
将“开发板上运行的Linux系统的版本号”编号为③

查看①和②的共同方法(通过sysroot查看)

由于此二者都有目录sysroot,而通过目录sysroot,可以找到对应的Linux版本号,所以它们有共同的方法。
关于sysroot的详细介绍,见博文 https://blog.csdn.net/wenhao_ir/article/details/145468785

通过目录sysroot查看对应的Linux版本号的方法如下:

进入①和②各自的sysroot目录:

cd /home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/host/arm-buildroot-linux-gnueabihf/sysroot
cd /home/book/100ask_imx6ull-sdk/ToolChain/arm-buildroot-linux-gnueabihf_sdk-buildroot/arm-buildroot-linux-gnueabihf/sysroot

然后运行下面的命令:

cat usr/include/linux/version.h | grep LINUX_VERSION_CODE

①的运行结果如下:

#define LINUX_VERSION_CODE 264536

在这里插入图片描述
②的运行结果如下
在这里插入图片描述
可见,数字是相同的,都是264536,那么怎么样根据这个数字换算出真正的版本号呢?

用下面的Python代码即可:

def decode_linux_version(version_code):
    version = (version_code >> 16) & 0xFF   # 主版本号 (VERSION)
    patchlevel = (version_code >> 8) & 0xFF # 次版本号 (PATCHLEVEL)
    sublevel = version_code & 0xFF          # 修订号 (SUBLEVEL)
    return f"{version}.{patchlevel}.{sublevel}"

# 示例:计算 264536 对应的 Linux 版本号
linux_version_code = 264536
linux_version = decode_linux_version(linux_version_code)
print(f"Linux 版本号: {linux_version}")

# input('Press Enter to exit...')

找一个在线运行代码的网站(比如 https://www.bejson.com/runcode/python3/)然后运行得到的结果为:
在这里插入图片描述
所以版本为号为4.9.88。

当然如果自己的系统上装了Python解释器的话也可以保存上面的代码为py文件,然后运行,运行结果如下:
在这里插入图片描述
如果要手算的话就先把264536换算成二进制,然后利用Notepad++的右下角能看到选了多少个数字,删除对应的低位去计算。

查看①的另一种方法

查看 Buildroot 已经解压出的 Linux 源码:
Ubuntu中打开下面这个目录:

/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/build

然后查看linux开头的目录,找到Linux源码所在的目录:
在这里插入图片描述

/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/build/linux-origin_master

命令行进入目录:

cd /home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/build/linux-origin_master

然后执行下面这条命令:

cat Makefile | head -n 5

这条命令的意思是显示文件Makefile的前5行。
运行结果如下:
在这里插入图片描述
这表示Linux的版本号为4.9.88

当然,你也可以直接打开目录/home/book/100ask_imx6ull-sdk/Buildroot_2020.02.x/output/build/linux-origin_master下的Makefile文件查看:
在这里插入图片描述
这也说明Linux的版本号为4.9.88。

查看③的方法

直接在开发板运行着的Linux系统的终端中运行下面的命令即可:

uname -r

在这里插入图片描述
这就说明开发板运行着的Linux系统的内核源码为4.9.88。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2294314.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html转PDF文件最完美的方案(wkhtmltopdf)

目录 需求 一、方案调研 二、wkhtmltopdf使用 如何使用 文档简要说明 三、后端服务 四、前端服务 往期回顾 需求 最近在做报表类的统计项目,其中有很多指标需要汇总,网页内容有大量的echart图表,做成一个网页去浏览,同时…

deepseek本地部署

DeepSeek本地部署详细指南 DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,这里记录自己DeepSeek本地部署流程。 主机环境 cpu:amd 7500Fgpu:406…

【Reading Notes】Favorite Articles from 2025

文章目录 1、January2、February3、March4、April5、May6、June7、July8、August9、September10、October11、November12、December 1、January 极越之后,中国车市只会倒下更多人(2025年01月01日) 在这波枪林弹雨中,合资品牌中最…

配置@别名路径,把@/ 解析为 src/

路径解析配置 webpack 安装 craco npm i -D craco/craco 项目根目录下创建文件 craco.config.js ,内容如下 const path require(path) module.exports {webpack: {// 配置别名alias: {// 约定: 使用 表示src文件所在路径: path.resolve(__dirname,src)…

AJAX笔记原理篇

黑马程序员视频地址: AJAX-Day03-01.XMLHttpRequest_基本使用https://www.bilibili.com/video/BV1MN411y7pw?vd_source0a2d366696f87e241adc64419bf12cab&spm_id_from333.788.videopod.episodes&p33https://www.bilibili.com/video/BV1MN411y7pw?vd_sour…

康谋方案 | BEV感知技术:多相机数据采集与高精度时间同步方案

随着自动驾驶技术的快速发展,车辆准确感知周围环境的能力变得至关重要。BEV(Birds-Eye-View,鸟瞰图)感知技术,以其独特的视角和强大的数据处理能力,正成为自动驾驶领域的一大研究热点。 一、BEV感知技术概…

更换IP属地会影响网络连接速度吗

在数字化时代,网络连接速度对于个人用户和企业来说都至关重要。无论是日常浏览网页、观看视频,还是进行在线办公、游戏娱乐,网络速度都直接影响着我们的体验。而IP属地,作为网络连接中的一个重要元素,其变动是否会引发…

深入探索 C++17 特征变量模板 (xxx_v)

文章目录 一、C++类型特征的前世今生二、C++17特征变量模板闪亮登场三、常见特征变量模板的实际应用(一)基本类型判断(二)指针与引用判断四、在模板元编程中的关键作用五、总结与展望在C++的持续演进中,C++17带来了许多令人眼前一亮的特性,其中特征变量模板(xxx_v)以其…

无用知识研究:std::initializer_list的秘密

先说结论,用std::initializer_list初始化vector,内部逻辑是先生成了一个临时数组,进行了拷贝构造,然后用这个数组的起终指针初始化initializer_list。然后再用initializer_list对vector进行初始化,这个动作又触发了拷贝…

web安全:任意文件下载漏洞

背景: 点击对应名字,下载对应图片。但服务器还存在其他文件,只是前端没有展示出来。通过模拟路径下载,可以获取到意想不到的数据。 看点击代码: 如果模拟没有前端的图片,也会发现下载了 所以这个叫任…

oracle:索引(B树索引,位图索引,分区索引,主键索引,唯一索引,联合索引/组合索引,函数索引)

索引通过存储列的排序值来加快对表中数据的访问速度,帮助数据库系统快速定位到所需数据,避免全表扫描 B树索引(B-Tree Index) B树索引是一种平衡树结构,适合处理范围查询和精确查找。它的设计目标是保持数据有序,并支持高效的插入…

【CPP】CPP经典面试题

文章目录 引言1. C 基础1.1 C 中的 const 关键字1.2 C 中的 static 关键字 2. 内存管理2.1 C 中的 new 和 delete2.2 内存泄漏 3. 面向对象编程3.1 继承和多态3.2 多重继承 4. 模板和泛型编程4.1 函数模板4.2 类模板 5. STL 和标准库5.1 容器5.2 迭代器 6. 高级特性6.1 移动语义…

C++11详解(三) -- 可变参数模版和lambda

文章目录 1.可变模版参数1.1 基本语法及其原理1.2 包扩展1.3 empalce系列接口1.3.1 push_back和emplace_back1.3.2 emplace_back在list中的使用(模拟实现) 2. lambda2.1 lambda表达式语法 1.可变模版参数 1.1 基本语法及其原理 1. C11支持可变参数模版&…

网站打开提示不安全

当网站打开时显示“不安全”提示(通常表现为浏览器地址栏中出现“不安全”字样或红色警告图标),这意味着网站未使用有效的SSL证书或HTTPS协议,导致浏览器认为连接不安全。以下是解决这一问题的详细步骤: 一. 原因分析 …

OpenCV:特征检测总结

目录 一、什么是特征检测? 二、OpenCV 中的常见特征检测方法 1. Harris 角点检测 2. Shi-Tomasi 角点检测 3. Canny 边缘检测 4. SIFT(尺度不变特征变换) 5. ORB 三、特征检测的应用场景 1. 图像匹配 2. 运动检测 3. 自动驾驶 4.…

python学opencv|读取图像(五十七)使用cv2.bilateralFilter()函数实现图像像素双边滤波处理

【1】引言 前序学习过程中,已经掌握了对图像的基本滤波操作技巧,具体的图像滤波方式包括均值滤波、中值滤波和高斯滤波,相关文章链接有: python学opencv|读取图像(五十四)使用cv2.blur()函数实现图像像素…

【SQL技术】不同数据库引擎 SQL 优化方案剖析

一、引言 在数据处理和分析的世界里,SQL 是不可或缺的工具。不同的数据库系统,如 MySQL、PostgreSQL(PG)、Doris 和 Hive,在架构和性能特点上存在差异,因此针对它们的 SQL 优化策略也各有不同。这些数据库中…

链式结构二叉树(递归暴力美学)

文章目录 1. 链式结构二叉树1.1 二叉树创建 2. 前中后序遍历2.1 遍历规则2.2 代码实现图文理解 3. 结点个数以及高度等二叉树结点个数正确做法: 4. 层序遍历5. 判断是否完全二叉树 1. 链式结构二叉树 完成了顺序结构二叉树的代码实现,可以知道其底层结构…

技术文档管理最佳实践:高效、专业、可持续

文章目录 技术文档管理最佳实践:高效、专业、可持续1. 技术文档的核心价值1.1 降低知识流失风险1.2 提升开发效率1.3 增强团队协作1.4 规范技术资产管理 2. 技术文档分类与规范2.1 代码相关文档2.2 过程与运维文档2.3 知识与培训文档 3. 工具选型:自动化…

56. Uboot移植实验

一、NXP官方Uboot编译与测试 1、将NXP提供的uboot拷贝到ubuntu中。 一个开发板也好运行uboot,DDR或者叫DRAM,串口,SD、EMMC、NAND。板子能工作。 测似结果: 1、uboot能正常启动 2、LCD驱动要根据所使用的屏幕修改。 3、NET初始…