当前位置: 首页 > news >正文

linux kernel 添加版本信息

1. 平常做法

内核中配置上 CONFIG_LOCALVERSION_AUTO 就能自动带 git 或 svn 的版本号;
带来问题:厂商提供的 ko 文件使用报警告;

2. 使用 profs

2.1 修改 Makefile 文件
diff --git a/Makefile b/Makefile
index 059a6718..91f12d38 100755
--- a/Makefile
+++ b/Makefile
@@ -1122,8 +1122,15 @@ archprepare: archheaders archscripts prepare1 scripts_basicprepare0: archprepare gcc-plugins$(Q)$(MAKE) $(build)=.+GIT_HASH       := $(shell git rev-parse --short HEAD 2>/dev/null)
+BUILD_DATE     := $(shell date +%Y-%m-%d)
+
+vendor_version.h:
+	echo "#define VENDOR_GIT_HASH \"$(GIT_HASH)\"" > include/generated/vendor_version.h
+	echo "#define VENDOR_BUILD_TIME \"$(BUILD_DATE)\"" >> include/generated/vendor_version.h
+# All the preparing..
-prepare: prepare0 prepare-objtool
+prepare: prepare0 prepare-objtool vendor_version.h
2.2 编写 vendor_version.c 文件,并直接编译进 Makefile
diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile
index d4ba7e9c..45526df9 100644
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
+obj-y				+= vender_version.olkdtm-$(CONFIG_LKDTM)		+= lkdtm_core.o
diff --git a/drivers/misc/vender_version.c b/drivers/misc/vender_version.c
index e69de29b..a289be8f 100644
--- a/drivers/misc/vender_version.c
+++ b/drivers/misc/vender_version.c
@@ -0,0 +1,47 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/init.h>
+#include <linux/module.h>
+#include <linux/proc_fs.h>
+#include <linux/seq_file.h>
+
+#include <generated/vendor_version.h> // 自动生成的头文件
+
+static int vendor_version_show(struct seq_file *m, void *v)
+{
+	seq_printf(m,
+			   "build:   %s\n"
+			   "git:     %s\n",
+			   VENDOR_BUILD_TIME,
+			   VENDOR_GIT_HASH);
+	return 0;
+}
+
+static int vendor_version_open(struct inode *inode, struct file *file)
+{
+	return single_open(file, vendor_version_show, NULL);
+}
+
+static const struct file_operations vendor_version_fops = {
+	.owner = THIS_MODULE,
+	.open = vendor_version_open,
+	.read = seq_read,
+	.llseek = seq_lseek,
+	.release = single_release,
+};
+
+static int __init vendor_version_init(void)
+{
+	proc_create("vendor_version", 0444, NULL, &vendor_version_fops);
+	return 0;
+}
+
+static void __exit vendor_version_exit(void)
+{
+	remove_proc_entry("vendor_version", NULL);
+}
+
+module_init(vendor_version_init);
+module_exit(vendor_version_exit);
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Vendor Version Info");
http://www.gsyq.cn/news/81170.html

相关文章:

  • 2025年五大靠谱铝合金轮毂铸造工厂排行榜,专业铝合金轮毂铸 - myqiye
  • Oracle数据库物理备份与恢复技术深度解析
  • 2025 年 12 月江西雾化器厂家权威推荐榜:压缩式/便携式/医用/儿童/低噪音/高效能雾化器,专业制造与静音科技深度解析 - 品牌企业推荐师(官方)
  • 2025垃圾中转站数智果皮箱AI智能分选功能评测报告 - 优质品牌商家
  • 10款超强降AI工具!AI率从89%狂降到5%!亲测有效【2025最新版】
  • LNMP拆分静态资源——解决多台服务器静态资源不一致、节省服务器储存空间、便于推送至CDN进行静态资源加速
  • 2025矿用电缆制造厂家TOP5权威推荐:合作案例与售后能力 - mypinpai
  • 2025年中国餐饮服务品牌年度排名:河南永邦餐饮服务产品怎么 - 工业品牌热点
  • 2025年五大铌酸锂制造商推荐,专业铌酸锂品牌厂家与定制厂家 - 工业品牌热点
  • 2025传感器厂家实力榜:江苏益海装备科技以智能感知技术领跑,六家高潜力本土品牌核心优势深度解析 - 品牌企业推荐师(官方)
  • ACF和PACF
  • 2025年北京地接旅游公司推荐,北京国都之旅实力怎么样? - 工业推荐榜
  • 2025西安工程咨询公司TOP5权威推荐:西安方美创信行业口 - myqiye
  • 2025 PA66/家电外壳/连接器/结构件/注塑尼龙吸湿增湿箱,值得推荐的品牌供应商 - 品牌推荐大师
  • 2025起重机训练模拟器厂家推荐/叉车/装载机/推土机/挖掘机训练模拟器生产商推荐 - 品牌推荐大师1
  • 实验磨粉机生产厂家推荐:2025年实验磨粉机/实验磨哪家售后好?哪家信誉好?哪家靠谱? - 品牌推荐大师1
  • 【2025新版】植物大战僵尸融合版下载与玩法全指南:新版特色、安装教程与技巧详解 - PC修复电脑医生
  • 2025年北京地接旅游服务排行榜,北京国都之旅服务专业 - myqiye
  • 2025年靠谱的气密性检测设备厂家排行榜,新测评精选推荐 - mypinpai
  • 公路波形护栏品牌选哪家交通设施行业优质推荐 - 优质品牌商家
  • 2025年自动酿酒设备品牌排名:100斤酿酒设备什么牌子好? - mypinpai
  • 2025 AI数字伙伴服务商TOP5推荐:极客营销专业可靠 - myqiye
  • 2025年北京私人定制旅游公司排行榜,北京国都之旅服务优 - 工业品牌热点
  • 报警器哪家的质量好?哪家产品售后服务完善? - 工业推荐榜
  • Maven 全面解析:从概念到实战,包括 POM、BOM 的区别和应用
  • mac压缩解压文件 - STRIVE
  • 2025年谁主沉浮?检定器生产实力厂家一览,钢砧/回弹仪检定器/数显砂浆回弹仪/数显碳化深度尺/填土密实度检测仪检定器销售厂家口碑推荐 - 品牌推荐师
  • vxe-tree 如何将一个节点拖拽到一个没有子级的节点下
  • 2025年12月留学中介机构综合实力排行榜:五强机构深度对比与选择指南 - 品牌推荐
  • 深圳市众展供应链服务有限公司权威推荐:解决时效/查验/清关痛 - myqiye