Linux 学习(3)-- kernel版本号的修改

本文详细介绍了如何修改Linux内核的版本号,包括在`kernel/fs/proc/version.c`文件中的修改以及通过log打印utsname()->sysname, release等信息的方法。" 106752458,1416421,PHP 7.4 新特性解析:掌握这10大亮点,"['PHP', 'PHP 7.4', '编程语言', '语法特性', '开发升级']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kernel版本号修改方法如下

  1. 修改文件:

     kernel/fs/proc/version.c
     kernel/init/version.c
    
  2. 具体修改如下:

    kernel/fs/proc/version.c

static int version_proc_show(struct seq_file *m, void *v)  
{  
    seq_printf(m, linux_proc_banner,  
        utsname()->sysname,  
        utsname()->release,  
        utsname()->version);  
    return 0;  
}  


static int version_proc_open(struct inode *inode, struct file *file)  
{  
    return single_open(file, version_proc_show, NULL);  
}  


static const struct file_operations version_proc_fops = {  
    .open       = version_proc_open,  
    .read       = seq_read,  
    .llseek     = seq_lseek,  
    .release    = single_release,  
};  


static int __init proc_version_init(void)  
{  
    proc_create("version", 0, NULL, &version_proc_fops);  
    return 0;  
}  
module_init(proc_version_init);  

linux_proc_banner 通过log打印结果如下:

%s version %s (weitf@sofia-X8DAL) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) %s

utsname()->sysname 通过log打印结果如下:

Linux

utsname()->release, 通过log打印结果如下:

3.14.0

修改如下:

From 027a89b7d3c86fa185293e5130809d2ea4877289 Mon Sep 17 00:00:00 2001
From: weitf <weitf@klinktek.com>
Date: Mon, 9 Nov 2015 12:00:17 +0800
Subject: [PATCH] kernel version

---
 fs/proc/version.c |    3 ++-
 init/version.c    |    2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)
 mode change 100644 => 100755 fs/proc/version.c
 mode change 100644 => 100755 init/version.c

diff --git a/fs/proc/version.c b/fs/proc/version.c
old mode 100644
new mode 100755
index d2154eb..8fca75e
--- a/fs/proc/version.c
+++ b/fs/proc/version.c
@@ -4,12 +4,13 @@
 #include <linux/proc_fs.h>
 #include <linux/seq_file.h>
 #include <linux/utsname.h>
+#include <linux/string.h>

 static int version_proc_show(struct seq_file *m, void *v)
 {
        seq_printf(m, linux_proc_banner,
                utsname()->sysname,
-               utsname()->release,
+               /*utsname()->release*/"3.10.17",
                utsname()->version);
        return 0;
 }
diff --git a/init/version.c b/init/version.c
old mode 100644
new mode 100755
index 1a4718e..b313407
--- a/init/version.c
+++ b/init/version.c
@@ -46,5 +46,5 @@ const char linux_banner[] =

 const char linux_proc_banner[] =
        "%s version %s"
-       " (" LINUX_COMPILE_BY "@" LINUX_COMPILE_HOST ")"
+       " (" "service" "@" "i-life.us" ")"
        " (" LINUX_COMPILER ") %s\n";
-- 
1.7.9.5
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值