预编译的内核
发布时间: 2025-03-26 16:40:53
① 为什么自己编译的linux内核和驱动比系统自带的要大的多
1、配置中有很多调试选项(不一定带“debug”字样),而且位置也很分散;
2、发行版自带内核往往经过长期、仔细的配置,会比个人十几分钟的配置更全面。
这两个原因对内核及模块的大小有影响,但不大。
编译出的内核模块中包含多个运行时用不到的段(编译连接时可能要用,不是错误),发行版中一般会删掉,这很有可能是原因所在。
可以考虑用 [strip -S mod_name.ko] 来处理一下内核模块(注意:这里选项要用大写S,小写s或不写会连符号表一起删掉,导致模块无法加载),看看文件有没有变小(别对内核本身这么干)。
如果以上命令明显减小了文件,可以考虑在编译内核前定义环境变量INSTALL_MOD_STRIP为1(数字),这样make moles_install后的内核模块都是经 strip 处理过的了。
热点内容