编译内核时如何减小initrd的大小?

恐怖

当我编译自己的内核时,基本上,我的工作是:

  1. 我从www.kernel.org下载源代码并解压缩。

  2. 我将以前.config的代码复制到源代码中,并执行一个步骤make menuconfig以监视新选项,并根据内核的新策略修改配置。

  3. 然后,我编译它: make -j 4

  4. 最后,我安装了它:su -c 'make modules_install && make install'

  5. 经过几次测试后,我从/boot和中删除了旧内核,/lib/modules使用新内核完全运行(这最后一步挽救了我的生命几次!这是一个专业提示!)。

问题是,/boot/initrd.img-4.x.x与发行版中的相比,我总是得到一个巨大的数字。这里以我当前/boot/目录的内容为例:

# ls -alFh
total 243M
drwxr-xr-x  5 root root 4.0K Mar 16 21:26 ./
drwxr-xr-x 25 root root 4.0K Feb 25 09:28 ../
-rw-r--r--  1 root root 2.9M Mar  9 07:39 System.map-4.4.0-1-amd64
-rw-r--r--  1 root root 3.1M Mar 11 22:30 System.map-4.4.5
-rw-r--r--  1 root root 3.2M Mar 16 21:26 System.map-4.5.0
-rw-r--r--  1 root root 170K Mar  9 07:39 config-4.4.0-1-amd64
-rw-r--r--  1 root root 124K Mar 11 22:30 config-4.4.5
-rw-r--r--  1 root root 126K Mar 16 21:26 config-4.5.0
drwxr-xr-x  5 root root  512 Jan  1  1970 efi/
drwxr-xr-x  5 root root 4.0K Mar 16 21:27 grub/
-rw-r--r--  1 root root  19M Mar 10 22:01 initrd.img-4.4.0-1-amd64
-rw-r--r--  1 root root 101M Mar 12 13:59 initrd.img-4.4.5
-rw-r--r--  1 root root 103M Mar 16 21:26 initrd.img-4.5.0
drwx------  2 root root  16K Apr  8  2014 lost+found/
-rw-r--r--  1 root root 3.5M Mar  9 07:30 vmlinuz-4.4.0-1-amd64
-rw-r--r--  1 root root 4.1M Mar 11 22:30 vmlinuz-4.4.5
-rw-r--r--  1 root root 4.1M Mar 16 21:26 vmlinuz-4.5.0

您可能已经注意到,我initrd.img文件的大小大约是我发行版文件的10倍。

那么,在编译内核时我做错什么了吗?而且,如何缩小尺寸initrd.img

SHW

这是因为未剥离所有内核模块。您需要将其剥离以减小其尺寸。

使用此命令:

SHW@SHW:/tmp# cd /lib/modules/<new_kernel>
SHW@SHW:/tmp# find . -name *.ko -exec strip --strip-unneeded {} +

这将大大减小尺寸。执行完上述命令后,您可以继续创建initramfs / initrd

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何减小Ratingbar的大小?

如何减小apk大小?

如何在不编译的情况下结合linux内核和initrd?

Laravel和Vue:在添加Vuetify时如何减小包大小?

Android如何在录制时减小视频大小?

使用Neshan Maps Android SDK时如何减小apk大小?

绘制大量数据时如何减小打印的eps的大小

使用非 root 用户时如何减小容器镜像大小?

编译Linux内核时如何添加内核参数?

如何减小存储库的大小?

如何减小javacard applet的大小

如何减小FontAwesome 5.3.1的大小

如何减小对HttpWebRequest的响应的大小

如何减小 WSL rootfs 的大小?

如何减小MATLAB Runtime编译器的大小以制作独立的应用程序?

使用 NDK 时 APK 大小较大,如何减小 android 应用程序 (APK) 大小?

使用 ffmpeg 时减小 apk 大小

编译内核模块时如何使用标志

编译内核时如何使用备用配置文件?

在Docker Alpine上构建Git时如何减小Git二进制文件的大小?

使用drawString()时如何将字体大小减小到0.0001f?

如何在上传和缩放时减小图像的大小(以 KB 为单位)?

当您添加新的姐妹 div 时,如何调整 div 以减小它们的大小?

显式导入是否可以减小编译文件的大小?

为allwinner a10平板电脑编译ARM(linux-sunxi)内核时配置DRAM大小

如何安全地减小分区的大小?

如何分析并减小browserify生成的文件的大小?

如何减小图像背景的大小或将其删除

如何减小区域归档的大小?