为什么我最初的虚拟磁盘这么大?


12

我正在运行带有内核版本的Ubuntu 11.10 3.0.0-14。我从3.1.0分支机构下载并构建了内核。安装新内核后,我看到我的/boot/initrd.img-3.1.0文件很大。这是114MB,而我/boot/initrd.img-3.0.0-14-generic大约是13MB。我想摆脱膨胀,这显然是不必要的。

构建新内核时,我将复制/boot/config-3.0.0-14-generic.config到我的构建目录中,以保留原始内核的配置。我运行make oldconfig,为所有新选项选择了默认值,然后构建了内核。

查看每个initrd cpio归档文件中的文件大小,我发现在3.1.0 ramdisk中,所有.ko模块的大小都比3.0.0-14大。我以为在配置文件中检查了一个不必要的调试标志,但没有看到3.0.0-14配置文件中尚未启用的任何其他功能。

/boot/config-3.0.0-14-generic在这里:http//pastebin.com/UjH7nEqd

/boot/config-3.0.1的在这里:http : //pastebin.com/HyT0M2k1

谁能解释所有不必要的膨胀来自何处?

Answers:


15

当使用和构建内核和模块时make oldconfig,生成的模块将在文件中提供调试信息。makemake install

使用该INSTALL_MOD_STRIP选项删除调试符号:

make INSTALL_MOD_STRIP=1 modules_install

同样,用于构建deb软件包:

make INSTALL_MOD_STRIP=1 deb-pkg

1
跑步make INSTALL_MOD_STRIP=1 install给了我我想要的东西。谢谢!
Finer Recliner 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.