我希望在我的Debian/Sid/x86-64上使用最新的Linux内核(例如2017年9月底的4.13.4版本)从源代码构建,并将所有(或大多数)当前加载的模块配置为硬编译到新内核中。这可能需要一些类似于“make configfromloadedmodules”的命令(当然不是确切的“configfromloadedmodules”目标,而是其他我没有轻易找到的目标)。对于大多数(理想情况下是全部)当前加载的模块(由“lsmod”给出),在“make config”时它会回答每个模块的选项是“Y”(而不是“m”),并给我一个足够好的“.config”文件;但我不想要一个膨胀的内核,其中包含我不使用且当前未加载的所有驱动程序。这种方法是否存在,或者我可能读到的是一些愿望或实验性内核的非标准功能?
这样可以避免任何
当前的内核是标准的Debian内核
参见this答案;我仍然相信设备树对于Linux并非必不可少,但它们是一种有用的便利。
一个类似的问题是如何轻松地配置适合我的计算机、硬件和设置的内核,不需要
这样可以避免任何
initrd
的问题,并为我的硬件和习惯提供合适的内核。当前的内核是标准的Debian内核
4.12.0-2-amd64
,因此我有它的/boot/config-4.12.0-2-amd64
(所以我想自动化替换其中的CONFIG
xxx=m
为CONFIG
xxx=y
,根据已加载的模块,例如由lsmod
给出)。参见this答案;我仍然相信设备树对于Linux并非必不可少,但它们是一种有用的便利。
一个类似的问题是如何轻松地配置适合我的计算机、硬件和设置的内核,不需要
initrd
,没有任何模块(例如使用CONFIG_MODULES=n
),并且没有(或只有很少的)无用的驱动程序,可以像我的当前Debian内核一样好用。
=m
替换为=y
。 - sawdustlsmod
输出自动化这个过程 - Basile Starynkevitch