Linux内核模块文件大小

前端之家收集整理的这篇文章主要介绍了Linux内核模块文件大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用vanilla 3.1.0-rc10内核在CentOS 6机器上更新内核.它似乎有效,除了创建的模块的大小明显大于来自发行版RPM的模块.这是一个问题,因为mkinitrd命令最终会创建一个大小为100M的initram文件(因为其中包含了一些所有模块). Grub需要永远在启动时加载和解压缩100M initram文件.

简而言之:

>我下载了内核代码.
>在我的内核代码目录中将正在运行的内核配置从/ boot / config-2.6.xxx复制到.config.
>运行make oldconfig并接受默认值
>跑了make&& make modules_install
> run mkinitrd /boot/initramfs-3.1.0-rc10.x86_64.img 3.1.0-rc10

生成的/boot/initramfs-3.1.0-rc10.x86_64.img的大小为100M.

很明显,因为模块的尺寸要大得多;选择qla4xxxx你可以看到我的编译版本是3.6M与发行版116K.所有模块都是这种情况.

[root@localhost ~]# ls -lh /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/qla4xxx/qla4xxx.ko
-rwxr--r--. 1 root root 116K May 19 23:37 /lib/modules/2.6.32-71.el6.x86_64/kernel/drivers/scsi/qla4xxx/qla4xxx.ko
[root@localhost ~]# ls -lh /lib/modules/3.1.0-rc10+/kernel/drivers/scsi/qla4xxx/qla4xxx.ko
-rw-r--r--. 1 root root 3.6M Oct 21 12:57 /lib/modules/3.1.0-rc10+/kernel/drivers/scsi/qla4xxx/qla4xxx.ko

我之前没有问题就做过这件事;我在这里俯瞰什么?

解决方法

在模块上运行strip –strip-unneeded以删除无关的符号.如果没有这样做,请在两个模块上运行大小以查看差异所在.请注意,这使调试更加困难.
原文链接:https://www.f2er.com/linux/397302.html

猜你在找的Linux相关文章