首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >initrd中模块的大小

initrd中模块的大小
EN

Server Fault用户
提问于 2012-11-14 15:20:11
回答 1查看 166关注 0票数 1

目前,我正在尝试用自定义内核手动替换嵌入式设备上的ubuntu内核中的内核。然而,当我试图更新initrd时,我的initrd就变得更大了。

以下是我所做的:

  • 提取由ubuntu提供的initrd
  • 列出旧initrd中所有模块的列表。
  • /lib/modules/new_kernel_version的新模块主管处获得相同的模块
  • 将这些模块添加到initrd并删除旧模块

如果我这样做,我的initrd就会比原来的要大很多,所以我检查了各个模块。我以btrfs.ko文件系统驱动程序为例。因此,通过比较这两个模块,我注意到我刚才在initrd中选择的模块要大得多,这导致了大小上的差异。

代码语言:javascript
复制
-rw-r--r-- 1 root root 999K Nov 14 15:06 btrfs.ko

对于已发送的initrd中的btrfs.ko

代码语言:javascript
复制
-rw-r--r-- 1 root root 7.2M Nov 14 15:08 btrfs.ko

对于新的btrfs.ko

这两个模块有什么不同?这可能是由于新内核设置错误造成的吗?在生成内核时,我复制了/proc/config.gz并使用make oldconfig来更新它,因此对于两个内核,所有的优化都应该是相同的。

或者,在将模块放入initrd之前,是否还在对它们进行其他操作?也许还有更好的方法来为ubuntu中的新内核构建一个新的initrd。

更新:

我还用我在ubuntu中使用mkinitrfs命令从头创建的initrd进行了测试,它的大小与我手动更新的initrd相同。

EN

回答 1

Server Fault用户

发布于 2012-11-14 16:28:52

您的模块有很多符号和调试信息。您想要的命令是

strip --strip-unneeded

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/448654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档