首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 25-03-05 03:02
  • 4280
  • 12657
blog.csdn.net

定义编号①②③的含义

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

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

由于此二者都有目录sysroot,而通过目录sysroot,可以找到对应的Linux版本号,所以它们有共同的方法。
关于sysroot的详细介绍,见博文 http://iyenn.com/rec/1709248.html

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

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

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

然后运行下面的命令:

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

①的运行结果如下:

#define LINUX_VERSION_CODE 264536
  • 1

在这里插入图片描述
②的运行结果如下
在这里插入图片描述
可见,数字是相同的,都是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...')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

找一个在线运行代码的网站(比如 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
  • 1

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

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

命令行进入目录:

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

然后执行下面这条命令:

cat Makefile | head -n 5
  • 1

这条命令的意思是显示文件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
  • 1

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

昊虹嵌入式技术交流群
QQ群名片
注:本文转载自blog.csdn.net的昊虹AI笔记的文章"https://blog.csdn.net/wenhao_ir/article/details/145475132"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2025 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top