为Linux Mint开发最小内核13.4

时间:2014-05-21 01:36:26

标签: linux linux-kernel

我的任务是将内核映像大小减小到尽可能小(大约接近5MB)并删除initramfs(因为我想在没有它支持的情况下启动它)(它是项目的一部分)

目前,在make menuconfig下非常模糊地列出了驱动程序,我不确定哪些驱动程序是必需的,哪些是无用的。

我已经删除了所有可能的支持,但我想先了解一些事情, 我的内核中有加密函数/传感器吗? 什么是管理显示器/基本设备的HID驱动程序?

我注意到内核中有很多无用的协议,我已经删除了它们,但在安装之前我必须确保我没有删除会使我瘫痪的东西。

例如,确保鼠标,键盘和显示器不关闭所需的确切驱动程序(它们都是戴尔产品)也是如此,我显然需要SCSI硬盘用于SATA HD。 其次,既然它有Nvidia显卡,哪些驱动程序是继续运行的最低要求? 我正在使用Dell Optiplex 740。

我搜索了互联网,没有列出具体的驱动程序说明。有人可以指导我这样的页面。

1 个答案:

答案 0 :(得分:0)

那么,在能够成功完成它之后,如果有人想要为他们做类似的事情。通过安装稳定的内核来执行此操作,以便在内核崩溃的情况下可以回退。 这就是我所做的:

  

1]使用'make localmodconfig'(如果你不想手动选择很多东西,请使用make localdefconfig)来获得一个有效的初始内核

     

2]总是使用-jN标志编译,其中N = 2x(核心数)(例如make -j4(双核))

     

3]开始时不要打扰模块/ initramfs,先得到   内核工作,然后把它们拿出来。

     

4]只删除你知道完全没用的东西(For   例如英特尔,漫威或三星的东西,如果你知道你正在使用   戴尔/ AMD)

     

5]删除除网络以外的网络部分中的所有内容   TCP,IPv4和Unix套接字的驱动程序(如果你不想网络,   不要删除unix套接字,它在内部使用,你会得到一个   udev mount失败)

     

6]移除所有传感器/背光/工业支持。

     

7]如果您不需要,请删除所有安全措施(包括可信密钥和加密密钥)。

     

8] localmodconfig可以很好地选择Crypto / CRC / Hash   部分,只需保留基本部分并删除其余部分

     

9]强制所有驱动程序加入内核的最佳方法是打开.config   gedit中的文件,只需将所有'= m'替换为'= y'(有时可能会这样)   失败,XEN对我失败了)

     

10]编译很多次使用distcc和ccache。 (你需要   知道如何使用它们)

     

11]这一切都是关于最后的反复试验,但你应该能够在大约5-6小时内将它降到5MB以下。如果您不理解某些东西,请记下它,不要将其移除直至结束。 (尽可能使用Google)