使用git对内核version的影响

Linux系统升级及内核版本升级 一、背景 工作中有时会遇到系统版本过旧,无法满足安全扫描后的安全要求,系统漏洞数量多,处理难度较大,这时,我们就需要升级OS或Linux内核版本; 二、升级操作 2.1、 redhat/CentOS系统 三、附录:包升级命令 1)配置yum更新源 /etc/yum.repos.d目录下新建主机的yum源,.repos文件中,repositoryid:指定一个仓库,name指定仓库名称, baseurl:指定仓库的URL,mirrorlist指定仓库的镜像站点,enable是否启用本仓库,gpgcheck 阅读详情
# insmod ssp.ko  
insmod: can't insert 'ssp.ko': invalid module format
# insmod gpioi2c.ko
insmod: can't insert 'gpioi2c.ko': invalid module format
#

错误原因:magicNum错误
udevd (525): /proc/525/oom_adj is deprecated, please use /proc/525/oom_score_adj instead.
mmz: version magic '3.0.8 mod_unload ARMv7 ' should be '3.0.8+ mod_unload ARMv7 '
mmz: version magic '3.0.8 mod_unload ARMv7 ' should be '3.0.8+ mod_unload ARMv7 '
gpioi2c: version magic '3.0.8 mod_unload ARMv7 ' should be '3.0.8+ mod_unload ARMv7 '
ssp: version magic '3.0.8 mod_unload ARMv7 ' should be '3.0.8+ mod_unload ARMv7 '
gpioi2c: version magic '3.0.8 mod_unload ARMv7 ' should be '3.0.8+ mod_unload ARMv7 '
产生该问题的元凶:git
如果kernel的源码使用git做代码管理,即使在config文件中没有指定CONFIG_LOCALVERSION
⇒ cat .config | grep LOCAL                                                                                                                                               
CONFIG_LOCALVERSION=""
但是在产生的uImage中,其magic数据还是会被添加"+"字符

而在删除.git目录后产生的内核映像

通过去除.git目录后产生的内核可以正常的使用ko文件了、而在使用外部第三方提供的ko模块文件时,
有可能这个小小的问题会困扰你哦。

Linux内核构建与配置实战指南 Linux内核作为操作系统的核心组件,其构建与配置是系统开发与优化的基础环节。内核构建过程涉及源码获取、环境配置、编译优化等多个技术维度,其中make menuconfig等配置工具的使用直接影响内核功能与性能。通过合理设置编译参数如-j$(nproc)可以显著提升构建效率,而模块化设计则兼顾了内核的灵活性与安全性。这些技术在嵌入式开发、服务器优化等场景具有重要应用价值,特别是在需要定制内核功能的云计算、容器化部署等现代IT基础设施中。本文以Linux 6.4.12为例,详解从源码获取到GRUB配置的全流程 阅读详情

相关推荐

【Docker】如何让docker容器正常使用nvidia显卡

描述了如何在docker容器中使用英伟达显卡的过程和问题解决方法。

NameLoadingFailed的博客 8372

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

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可, 转载请注明出处, 谢谢合作 因本人技术水平和知识面有限, 内容如有纰漏或者需要修正的地方, 欢迎大家指正, 也欢迎大家提供一些其他好的调试工具以供收录, 鄙人在此谢谢啦 目录 1 问题发现 2 原因分析 2.1Makefile中LOCALVERSION信息 2.2Makefile中读取和设置版本号 2.3setlocalversion函数设置版本号信息 2.3.1 LOCALVERSION...

RToax 2130

ZYNQ新手必看:你的PS端DDR和QSPI配置真的对了吗?从原理到实操的避雷指南

本文深入解析ZYNQ PS端外设配置的关键要点,特别是DDR匹配和QSPI时钟优化的实战技巧。通过详细案例和配置清单,帮助开发者避免常见错误,确保系统稳定性和启动可靠性。适合ZYNQ新手和需要优化最小系统的开发者参考。

weixin_28675839的博客 445

linux 内核 config_localversion_auto,关于CONFIG_LOCALVERSION_AUTO设置去掉内核版本号SVN后缀...

最近在TI 的DVSDK下写驱动模块时老受linux内核svn版本号问题的困扰,如"2.6.37-svn41"、"2.6.37-svn51"等等,svn版本变一次,从上面取下的代码内核版本就要变一次,这样造成原来驱动模块ko文件必须重新拷贝到新的lib/modules/2.6.37-svn51下,非常麻烦且不利于发版本。按其说法将arch/arm/configs/omap3_evm_defconf...

weixin_31881651的博客 868

microduck复刻实战:强化学习机器人从仿真训练到真机部署全攻略

强化学习是智能体通过与环境交互试错来学习最优策略的机器学习范式,在机器人控制领域,常借助物理仿真环境进行策略训练,以降低真实世界的试错成本。其核心原理是通过奖励信号引导策略网络迭代优化,PPO等算法则在稳定性和样本效率之间取得平衡。仿真训练的价值在于可批量验证控制策略,但仿真与真实硬件之间存在物理参数偏差,需通过域随机化等技术实现迁移。从四足机器人到仿生机器人,这类方案广泛应用于复杂运动控制任务。microduck作为一个典型的强化学习机器人项目,其复刻过程涉及环境搭建、奖励设计、PPO调参及Sim-to-

weixin_29061425的博客 361

MaxEnt物种分布预测中的常见误区与优化技巧:如何提高模型准确率

本文深入探讨了MaxEnt物种分布预测模型从基础应用到精准预测的进阶实践。针对模型准确率提升,文章系统分析了环境变量筛选、模型参数调优、结果批判性解读等核心环节的常见误区,并提供了基于生态位模型原理的深度优化技巧,帮助研究者产出更可靠、可解释的预测结果。

weixin_29219539的博客 594

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

1 问题发现编译主线kernel版本的时候发现, 的内核版本编译成功后生成的版本号变成了"x.y.z+", 为什么后面会多一个加号呢?刚开始考虑是不是CONFIG...

宋宝华 1736

FastAPI 极简教程(偏实战,一篇搞定)

本文是一篇FastAPI实战教程,通过最少的概念讲解快速掌握FastAPI的核心功能。文章首先介绍FastAPI是基于Starlette和Pydantic的高性能Python API框架,具有自动生成文档、类型驱动校验、异步支持和依赖注入等优势。教程从安装环境开始,演示了如何创建最小项目并编写第一个"Hello World"接口。接着详细讲解了路由参数处理(Path/Query/Body)、Pydantic数据模型校验、响应模型控制、状态码设置等核心功能。在高级功能方面,重点介绍了错误处

AI天才研究院 812

关于CONFIG_LOCALVERSION_AUTO设置去掉内核版本号SVN后缀

关于CONFIG_LOCALVERSION_AUTO设置去掉内核版本号SVN后缀

what, when, why, how... 367

Android平台实现Airplay的方法及源代码

Airplay是由苹果公司推出的一项无线音视频传输技术,它允许用户将音频、视频和照片从iOS设备(如iPhone、iPad)或Mac电脑无线传输到支持Airplay的设备(如Apple TV、智能音箱等)。具体的解码和播放方式取决于你选择的库和技术。当Android设备启动AirplayService服务后,它将监听来自iOS设备的连接请求,并在建立连接后接收、解码和播放音视频数据。在AirplayService类的onStartCommand()方法中,我们需要处理Airplay的请求。

CyberLynxX的博客 1599

数控系统(CNC)系列:Hurco VMX42SR_(3).控制系统硬件组成部分

控制箱是CNC系统的核心部分,负责处理所有的控制指令和数据。它通常包含主控板、电源模块、接口板等关键组件。伺服驱动器是CNC系统中的关键组件,负责将主控板发出的控制信号转换为电机所需的驱动电流。它通过闭环控制确保电机的精确运动。电机是CNC系统中的执行机构,负责实现主控板发出的运动指令。常见的电机类型包括步进电机和伺服电机。传感器是CNC系统中的重要组件,用于检测和反馈机床的运行状态。常见的传感器类型包括位置传感器、速度传感器、温度传感器等。电源供应系统为CNC系统的所有组件提供电力。主电源。

2401_87715305的博客 1279

Git如何使用以及Version Control

Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1、从服务器上克隆数据库(包括代码和版本信息)到单机上...

weixin_34345560的博客 736

YOLO26改进 - 注意力机制 | MLLAttention (Mamba-Like Linear Attention) 类Mamba线性注意力:动态感受野适配多尺度目标

本文介绍了Mamba-Like Linear Attention (MLLA)模型及其在yolo26中的集成。MLLA结合了Mamba和线性注意力Transformer的优点,线性注意力降低计算复杂度,Mamba有效建模序列。该模型将Mamba的遗忘门和块设计等关键元素与线性注意力结合,还可用位置编码替代遗忘门。我们将MLLA引入yolo26,在检测头的不同尺度特征图上应用。实验表明,改进后的yolo26在目标检测任务中表现良好,体现了MLLA在提升模型性能上的有效性。

魔改工程师的博客 1150

RK3568 学习笔记 : 单独编译 Linux version 4.19 内核

RK3568 学习笔记 : 单独编译 Linux version 4.19 内核

坚韧与专注 4771

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Version Control/Git,SVN

一、Version Control 1、什么是Version Control 版本控制(Version Control)是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 2、功能 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变,文件的...

weixin_30729609的博客 335

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Git使用指南

关于 Git 使用的过程与指令总结

gravity_w的博客 1030

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

【Git】《Git 系列指南(二):Git基本操作与 reset 三种模式》

不知道你在工作或学习中,是否遇到过这样的场景:为了不让文档丢失,或者改错后能恢复,我们常常被迫复制出一大堆副本,比如:“报告-v1”“报告-v2”“报告-v3”“报告-最终版”“报告-打死也不改版”每个版本都有各自的内容,但最终我们只需要其中一份。然而在这之前,为了保留这些历史版本,我们不得不复制粘贴,产出的文件越来越多。文件多不是问题,真正让人头疼的是:随着版本数量的不断增多,你还记得这些版本各自都修改了什么吗?文档如此,我们写的项目代码同样存在这个问题!为了解决这一痛点应运而生。

2501_93351213的博客 876

version control

(一)version control是什么: version control版本控制,是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,是软件配置管理的核心思想之一。 (二)version control的功能: 版本控制最主要的功能就是追踪文件的变更。它将什么时候、什么人更改了文件的什么内容等信息忠实地了已录下来。每一次文件的改变,文件的版本号都将增加。除了...

weixin_30535843的博客 453

Git与TortoiseGit使用教程:第一章 Git的安装及SSH公钥配置

Git与TortoiseGit使用教程:第一章摘要 本文是Git与TortoiseGit系列教程的第一章,主要介绍Git的安装配置和SSH公钥设置。内容包括:Git作为分布式版本控制系统的基本概念(工作区、暂存区、本地/远程仓库)、常见代码托管平台、Windows系统下Git的详细安装步骤(重点说明PATH环境变量、行尾符号转换等关键选项配置),以及SSH公钥生成与添加的完整流程。教程针对Git初学者,通过图解和注意事项说明,帮助用户正确完成Git环境搭建,为后续版本控制操作打下基础。环境基于Windows

w134756的博客 926

linux内核编译_Linux 内核编译 LOCALVERSION 配置(分析内核版本号自动添加的"+"号)...

1 问题发现编译主线kernel版本的时候发现, 的内核版本编译成功后生成的版本号变成了"x.y.z+", 为什么后面会多一个加号呢?刚开始考虑是不是CONFIG_LOCALVERSION的问题, 配置了CONFIG_LOCALVERSION, 还是会在内核版本的最后加上一个"+"后, 安装完成之后, 每次uname -a都会出现+后真的感觉很郁闷, 强迫症的我真...

weixin_39774556的博客 340

系统级调试利器:使用virtme-ng进行内核崩溃分析

virtme-ng是一款强大的系统虚拟化工具,能够快速构建并在实时系统的虚拟化快照中运行内核,为开发者提供了便捷高效的内核调试环境。无论是内核崩溃分析还是功能测试,virtme-ng都能成为你工作流中的得力助手,帮助你轻松应对各种系统级调试挑战。 ## 为什么选择virtme-ng进行内核调试? 内核开发过程中,崩溃问题往往难以复现和分析,传统调试方法不仅耗时费力,还可能对生产环境造成风险。v

gitblog_00049的博客 759

Git的安装使用

1.什么是Git Git是一个自由和开源的分布式版本管理工具,用于有效、高速的处理任何或大或小的项目。最初由Linux Torvalds编写,用于帮助管理Linux内核开发而开发的一个开放源码的版本管理软件。在推出后,Git在其它项目中也取得了很大成功,尤其是在Ruby社区中。目前,包括Rubinius和Merb在内的很多知名项目都使用了Git。Git同样可以被诸如Capistrano和Vlad

如梦幽香的博客 519

不止于编译:深入OpenWifi驱动与内核的版本绑定机制,及如何管理你的SDRPi镜像

本文深入探讨了OpenWifi驱动与内核的版本绑定机制,特别是在SDRPi镜像管理中的工程化实践。通过分析内核模块版本魔术字符串的影响因素,提出编译环境标准化和版本化存储方案,帮助开发者有效管理嵌入式Linux项目中的内核与驱动兼容性问题,提升长期维护效率。

weixin_30384217的博客 520
上一篇: uboot--enviroment
下一篇: Qt4.8编码转换之GBK2UTF8
西格蒙
博客等级 码龄14年 2粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值