编译一个内核时,习惯性的在install目标下加了命令:

$(STRIP)  --strip-all --remove-section=.note --remove-section=.comment  test.ko

结果在insmod test.ko时出现错误:

test: module has no symbols (stripped?)

..................

上网查了以下,发现内核模块在插入时,insmod会使用模块的一些符号信息。那是不是内核模块不可以被stip呢?答案是可以strp 但不能strip太多东西,应该使用:

$(STRIP)  --strip-debug test.ko

另外:内核模块的version magic的问题:

插入模块出现错误:

test: version magic '2.6.15 gcc-3.4' should be '2.6.14 gcc-3.4'

内核模块对应的内核版本不对,可以修改内核版本代号试一试:

修改liunx源码下的Makefile 前面的版本定义,然后重新编译内核,再编译内核模块。当然这样做可能会有副作用。

查看一个模块的version magic信息:

$modinfo test.ko

file test.ko 也可以用于查看ko文件的信息

内核ko模块strip使用相关推荐

  1. linux内核开发入门二(内核KO模块介绍、开发流程以及注意事项)

    linux内核开发入门二(内核KO模块介绍.开发流程以及注意事项) 一.什么是内核模块 内核模块:ko模块(Kernel Object Module)是Linux内核中的可加载模块,它可以动态地向内核 ...

  2. 编译内核指定模块,筛选当前模块依赖的组件

    关于内核模块编译的过程中,往往我们仅仅需要其中一个小的模块,但是却因为内核源码的庞杂而止步与模块依赖的筛选过程中. 为了更加便捷得对内核各个模块进行管理,这里提供一个小脚本来进行指定模块相关得模块留存 ...

  3. linux内核引入模块机制好处,linux内核模块的版本检查机制

    linux内核对插入的内核模块进行严格的版本检查,即使一个小版本号不一致也会导致加载的不成功,这完全是为了内核本身运行安全.由于linux内核的发布是基于版本号的,而所有的内核模块的开发必须依赖内核头 ...

  4. linux内核及其模块的查询,加载,卸载 lsusb等

    http://blog.sina.com.cn/s/blog_53e81e2a0100zkxi.html 1,/sbin/update-modules文件,他是一个linux通用的模块管理脚本程序. ...

  5. linux内核关掉模块,强制关闭你的系统的内核模块 | Linux 中国

    我知道熬夜对健康不利.但谁在乎?多年来我一直是一只夜猫子.我通常在 12 点以后睡觉,有时在凌晨 1 点以后睡觉.第二天早上,我至少推迟三次闹钟,醒来后又累又有脾气.每天,我向自己保证早点睡觉,但最终 ...

  6. openwrt编译ifb.ko模块问题

    <*> kmod-ifb........................... Intermediate Functional Block support 开始时候怎么都编译不了ifb.k ...

  7. 【Ubuntu】自动加载第三方ko模块

    有时候,我们需要让系统加载第三方的内核模块,但是重新编译内核显然太繁琐,我们可以使用某些手段来手动加载或者自动加载这些模块. 手动加载 直接执行以下指令即可 sudo insmod *.ko 或者将k ...

  8. A33芯片+Linux3.4内核+ap6210wifi模块

    A33芯片+Linux3.4内核+ap6210wifi模块 开发板:全志a33-Vstar-dragonboard linux:3.4内核 Ubuntu:16.04_amd64 & 16.04 ...

  9. android 模块自动加载,Android 之ko模块的自动加载

    最近在做一个触摸式遥控器,以控制Android TV,供应商提供了触摸板驱动的source code,我将其编译生成一个适合我们平台的ko模块.但是有个问题,每次用时,必须手动insmod进去,很麻烦 ...

最新文章

  1. (C++)第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母,非字母字符不变。要求根据密码译回原文,并输出。
  2. 获取一亿数据获取前100个最大值
  3. TeeChart中 Line的Clear方法
  4. require(),include(),require_once()和include_once()的异同
  5. SQLServer DBA 三十问(加强版)
  6. vue.js慢速入门(1)
  7. [Ext JS6] Grid 某些行不允许删除和选择的实现
  8. SecureCRT的Backspace显示为^H的解决办法
  9. 华为手机打开日志输出的几种方法
  10. vs 2019怎么运行单个的cpp文件以及报错main已存在解决方法
  11. 彻底解决tplink路由器无法访问部分https网站
  12. 裸金属服务器开通原理
  13. 普通人千万别把打工当赚钱,打工只是赚钱的一种方法
  14. 计算机组成原理---指令系统
  15. 字节跳动测试岗位面试题
  16. mooc《工程流体力学》笔记
  17. Ubuntu 20.04 grub更换windows10为默认启动项
  18. python绘制蟒蛇,绘制五彩蟒蛇
  19. 筑牢数字基础设施:华为笔下的中国诗意
  20. excel两个字符串相减_Excel技巧—超实用的字符串拆分小技巧

热门文章

  1. SSM+solr 通过商品搜索学习solr的简单使用
  2. 数据结构(七)排序---直接插入排序(稳定)
  3. 自定义控件_VIewPager显示多个Item
  4. $Android自定义控件在不同状态下的属性
  5. TClientDataSet使用要点
  6. 【原创】MapReduce编程系列之表连接
  7. vi @-function
  8. poj2115C Looooops
  9. linux 时间会跳吗,linux系统时间暂时跳跃
  10. php发邮箱验证码找回密码,织梦dede会员通过邮箱找回密码方法