当我自己编译内核时,我编译的驱动程序和模块的数量肯定会影响生成的二进制文件的大小。
编译内核是否也会影响内核加载到内存中的大小?
我的意思是,当我编译硬件不需要的驱动程序时,内核会忽略它们吗,还是它们也会加载到 RAM 中?
TL/DR:问题肯定是:当我编译包含以下内容的内核 A 时仅有的我需要的驱动程序和包含我需要的驱动程序的内核 B + 我不需要的额外驱动程序,内核 B 会比内核 A 消耗更多的内存吗?
答案1
我怀疑使用外部模块(例如make menuconfig
shows M
)时,只有在加载模块时才会看到更多的内存使用量。而这些天来,这一切都非常动态。
但是,内置模块可能会使用更多的内存。
别忘了,你可以根据你当前使用的模块创建一个配置make localmodconfig
。我个人一直对它有点抵触,但它可以把内核精简到你需要的程度。有h-line 上的一篇好文章关于内核修剪。