减小Linux内核映像的大小

我正在开发基于ARM V7架构的embedded式主板,只有128 MB的闪存,我想在其中安装Bootloader Image,Linux Kernel Image以及根文件系统,因此我的主要目标是减小引导的大小loader和Linux Kernel映像,

我已经做了以下优化,以减less内核大小,

1. Deleted all the printk messages from displaying which reduced some memory, 2. Turning off Sysfs Support decreased the size of the kernel substantially, 3. Booting without procfs is one more work around i tried, but many pseudo file systems require it. 

我想知道所有可能的优化技术和缩小Linux内核的大小。 我请求提供任何参考。

与128 MB的闪存相比,引导加载程序和内核映像的大小应该相当小,而根文件系统是最大的一部分。 那么为什么你要专注于缩小引导加载程序和内核的大小,而不是去查看可能最大的部分:根文件系统。

可能你应该删除不需要的配置(网络,安全,不需要的驱动程序,…)。 应该启用“CC_OPTIMIZE_FOR_SIZE”。

启用内核压缩(例如:HAVE_KERNEL_BZIP2),ramdisk压缩(例如:RD_BZIP2)和initramfs压缩(INITRAMFS_COMPRESSION_BZIP2)。

我建议将你的文件系统转换为jffs2或者yffs,如果你还没有这样做的话。