当前位置: 首页 > 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.jsqmd.com/news/70616/

相关文章:

  • 2025年五拧石笼网定制厂家推荐榜单:生态石笼网‌/防洪石笼网‌/加筋格宾网源头厂家精选 - 品牌推荐官
  • 2025年土壤/便携式/农业/水质/保健品/中药材/化妆品/手持式重金属分析仪厂家推荐/源头厂家top盘点 - 品牌推荐大师1
  • 2025年五大靠谱的铌酸锂厂家排行榜,口碑好的铌酸锂服务商厂 - 工业推荐榜
  • 2025年五大靠谱铝合金轮毂铸造工厂排行榜,专业铝合金轮毂铸 - myqiye
  • 2025年五大靠谱铝合金轮毂铸造工厂排行榜,专业铝合金轮毂铸 - myqiye
  • 2025年12月河南美术高考培训机构综合实力推荐 - 深度智识库
  • 2025宝宝学坐椅制造厂TOP5权威推荐:甄选儿童坐椅生产商 - 工业品牌热点
  • 地方产投集团数字化平台建设实战:从内控管理到决策赋能(璞华公开课第5期活动回顾)
  • Vue浅响应式如何解除深层响应式的性能问题?适用场景有哪些?
  • Oracle数据库物理备份与恢复技术深度解析
  • 2025年12月弱电安防系统,入侵报警安防系统,出入口安防系统厂商推荐,实测稳定性与兼容性!​ - 品牌鉴赏师
  • 在Mac下使用Draw Things跑Z-Image-Turbo文生图
  • 2025 年 12 月江西雾化器厂家权威推荐榜:压缩式/便携式/医用/儿童/低噪音/高效能雾化器,专业制造与静音科技深度解析 - 品牌企业推荐师(官方)
  • 2025年整平机供货商权威推荐榜单:大型激光整平机/小型激光整平机/混泥土摊铺整平机直销厂家精选 - 品牌推荐官
  • 2025年上海长宁区口腔机构实力榜:长宁区种植牙、长宁区牙齿矫正、长宁区根管治疗、长宁区牙齿贴面、长宁区无痛补牙、长宁区无痛拔牙、领域四家机构凭技术与口碑出圈 - 海棠依旧大
  • 【JUnit实战3_32】第二十章:用 JUnit 5 进行测试驱动创建(TDD)(上)——将非 TDD 项目改造为 TDD 项目
  • 2025高速护栏优质品牌评测报告-全维度采购参考 - 优质品牌商家
  • 2025 年 12 月江西一次性气管插管厂家权威推荐榜:涵盖成人/儿童/带囊/无菌/急救/麻醉等全场景医用导管精选 - 品牌企业推荐师(官方)
  • 社区管理行业地埋站品牌选哪家2025年优质品牌推荐 - 优质品牌商家
  • 交通设施行业公路波形护栏优质公司推荐指南场景适配选择 - 优质品牌商家
  • 2025垃圾中转站数智果皮箱AI智能分选功能评测报告 - 优质品牌商家
  • 2025高速公路护栏品牌评测报告 - 优质品牌商家
  • 晶体炉装置制造厂哪家售后好?晶体炉装置加工厂哪家更值得选? - 工业品牌热点
  • 客服团队崩溃边缘?这款开源AI神器让售后效率提升300%
  • web格式化
  • 2025年土壤/水质/化妆品重金属分析仪源头厂家推荐/工厂质检实验室仪器源头厂家/工业巡检无人车源头厂家/运输无人车源头厂家 - 品牌推荐大师1
  • 吴恩达发布论文自动审阅器,ICLR评审接近人类水平
  • 10款超强降AI工具!AI率从89%狂降到5%!亲测有效【2025最新版】
  • 佛山家具厂实测:口碑背后的真实服务水平究竟如何? - 真知灼见33
  • sglang v0.5.5.post3 框架图