那么如何去除Linux Kernel版本号后面的加号?可以参考以下方法。

内核版本号是根据Makefile里提供的数字生成的。打开Makefile,文件开始可以看到:

1 VERSION = 3

2 PATCHLEVEL = 10

3 SUBLEVEL = 28

4 EXTRAVERSION =

5 NAME = TOSSUG Baby Fish

和内核版本号生成相关的文件是 scripts/setlocalversion, 其中有如下的部分脚本:

# scm version string if not at a tagged commit

if test “$CONFIG_LOCALVERSION_AUTO” = “y”; then

# full scm version string

res=“$res$(scm_version)”

else

# append a plus sign if the repository is not in a clean

# annotated or signed tagged state (as git describe only

# looks at signed or annotated tags - git tag -a/-s) and

# LOCALVERSION= is not specified

if test “${LOCALVERSION+set}” != “set”; then

scm=$(scm_version --short)

res=“$res${scm:++}”

fi

fi

如果

CONFIG_LOCALVERSION_AUTO

没有被配置, LOCALVERSION 也没有数值, 那么,根据上面的脚本,+号就不会被添加了。

实际在编译代码的时候,可以执行:

LOCALVERSION= make

另外,在文件scripts/setlocalversion里面,有一句:

if test -d .git && head=`git rev-parse --verify --short HEAD 2》/dev/null`;

git rev-parse 是为了取出最近的 commit的id:

$ git rev-parse --verify --short HEAD

e77fcc1

charles@taotao:~/code/linux-3.10.28$ git rev-parse --verify HEAD

e77fcc1e9be7a0ab373f96d5b9d58e1136c8c4b0

或者用:

$ git log --pretty=format:‘%h’ -n 1

e77fcc1

${LOCALVERSION+set} 是variable expansion modfier.

它有一下几种形式:

${variable:–word}  如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;反之,则是 word的值(variable的值不变)

${variable:=word} 如果 variale被set或者值非空,那么这个表达式的值就是 variable的值; 反之,则是 word的值(variable的值被更新)

${variable:+word}  如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;反之, 为NULL。

${variable:offset} 获得字符串的一个子串(从variable字符串 索引为 offset开始, offset值从0开始计算)

${variable:?word}  如果 variable被设置了一个不为空的值,那么这个表达式的值就是 variable的值;否则,打印 word的值,退出。

${variable:offset:length} 获得variable的字串(从 offset开始,长度为length)

好啦,以上就是华军小编带给大家的全部内容了,是不是很简单呢?你学会了么?想了解更多的相关内容,请随时关注华军资讯动态吧,欢迎到华军来下载哦!

linux 版本号 加号,如何去除Linux Kernel版本号后面的加号?相关推荐

  1. linux 内核编号含义_linux内核(kernel)版本号的意义

    转自:http://www.cnblogs.com/jsjliuxing/archive/2011/12/01/2271182.html 在linux下有一个目录,即/usr/src/kernels/ ...

  2. Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的“+“号)

    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作 因本人技术水平和知识面有限, 内容如有纰漏或者需要修正的地方, 欢迎大家指正, 也欢迎大 ...

  3. Linux 编译内核 dirty,向linux内核版本号添加字符/为何有时会自动添加+号或者xxx-dirty【转】...

    转载说明:你可能想不到,是git管理的"问题",看下面的解析,对于u-boot也是有同样的效果. 问题解决方案: 1.删除.git目录 2.去掉CONFIG_LOCALVERSIO ...

  4. linux安装版本信息,Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  5. linux nginx在哪个目录下,Linux下查看Nginx安装目录、版本号信息?

    Linux环境下,怎么确定Nginx是以那个config文件启动的? 输入命令行: ps  -ef | grep nginx 摁回车,将出现如下图片: master process 后面的就是 ngi ...

  6. linux 内核编译不能打字,linux系统升级后,手动编译的kernel无法启动问题

    linux系统升级后,手动编译的kernel无法启动问题 linux系统升级后,手动编译的kernel无法启动问题 做开发相关,需要编译3.18的kernel,x86_64的,但是我的deepin升级 ...

  7. 实时Linux内核调度器 | Real-Time Linux Kernel Scheduler

    <Real-Time Linux Kernel Scheduler> HOWTOs by Ankita Garg on August 1, 2009 目录 Design Goal 设计目标 ...

  8. 【Linux开发】如何查看Linux kernel的内置模块驱动列表和进程ID

    [Linux开发]如何查看Linux kernel的内置模块驱动列表和进程ID 标签:[Linux开发] 命令: cat /lib/modules/$(uname -r)/modules.builti ...

  9. Linux系统-小倒腾之Linux DIY定制裁剪(New kernel+Busybox)o_o(二)

    在前面的<Linux系统-小倒腾之Linux DIY定制裁剪(附带简单网络功能)o_o(一)>博文中,我通过对一个Linux系统的裁剪,最终制作出来了一个带有网络功能的微型Linux系统; ...

最新文章

  1. 【文本分类】基于改进CHI和PCA的文本特征选择
  2. python四大软件-Python未来可能面临的四大转折
  3. IdentityServer4 实现 OpenID Connect 和 OAuth 2.0
  4. excel多个工作表求和案例
  5. 网页无障碍php,【译】开发无障碍的Web组件
  6. html 强制复制粘贴,强制复制粘贴神器一键复制粘贴文本教程
  7. 定性特征转化为定量特征之factorize
  8. 服务器虚拟化怎么配置,教你如何配置服务器虚拟化环境
  9. 简单编程(五)编程验证一下“角谷猜想”
  10. 99 Bottles Of Beer
  11. Linux下查看内存使用情况方法总结
  12. 【数字图像处理】认识数字图像和数字图像处理
  13. 在 HBuilder X 创建Uni-app项目运行时报错
  14. 【产品人卫朋】2022年产品人必备的13个设计类网站(1.0版)
  15. 复刻《三体》雪地工程?德国天文学家开发出全新星际导航系统
  16. CPU、内存、磁盘的性能瓶颈及理解
  17. 知乎 量子计算机 未来,知乎打脸媒体“无脑吹”昆仑量子计算模拟机
  18. web应用程序的访问与服务器,本地机的带宽关系 + 带宽详解
  19. 人工神经网络图像识别,神经网络如何识别图像
  20. kali安装水泽,进行简单换源

热门文章

  1. TCL_事务控制语言
  2. getElementByID() getElementsByName() getElementsByTagName()的区别 .
  3. python cookbook 学习笔记 -- 1.5 去除字符串两端空格
  4. java语言的科学与艺术-编程练习10.4
  5. 去除android2.1移动设备3G图标
  6. no identity found Command /usr/bin/codesign failed with exit code 1 报错解决方法
  7. tomcat运行时候出现java.net.BindException: Address already in use: JVM_Bind错误解决方法
  8. 【报告分享】2022微信视频号生态发展研究报告.pdf(附下载链接)
  9. 【报告分享】2022中国职业教育行业报告-多鲸资本.pdf(附下载链接)
  10. Facebook AI研究员田渊栋:2021年年终总结