Working on the kernel can be a challenging task but, for many, configuring a kernel build can be the largest obstacle to getting started. The kernel has thousands of configuration options; many of those, if set incorrectly, will result in a kernel that does not work on the target system. The key to helping users with complex configuration problems is to provide reasonable defaults but, in the kernel community, there is currently little consensus around what those defaults should be.
在内核上工作可能是一项颇具挑战的任务,但对许多人来说,配置内核构建反而成了入门路上最大的障碍。内核拥有成千上万的配置选项;其中许多选项若设置不当,将导致生成的内核无法在目标系统上正常运行。要帮助用户应对复杂配置问题,关键在于提供合理的默认值,但在内核社区内部,对于这些默认值应为何种形态,目前并没有广泛共识。
The kernel's configuration options control many aspects of how a kernel will be built. There is one for every device driver, for example, and usually for the subsystems to which the drivers belong as well. Failing to enable a needed driver will result in a non-working kernel; enabling all drivers will result in a long-running build process and a massive kernel at the end. Configuration options also control the availability of many features and system calls, the application of security mitigations and policies, many debugging features, subarchitecture support, and more. Many of the options either depend on or conflict with others.
内核的配置选项控制着内核构建的多个方面。例如,每个设备驱动程序通常都有一个对应的配置项,而这些驱动所属的子系统也各自有对应的配置。若未启用必要的驱动,将导致内核无法运行;若启用所有驱动,则会造成构建过程耗时极长,最终生成一个臃肿的内核。此外,配置选项还控制诸如特性和系统调用的可用性、安全缓解措施及策略、各种调试功能、子架构支持等内容。很多选项之间存在依赖或冲突关系。
Working through this maze of configuration options is not fun; the kernel provides some tools for configuration editing, but they can only provide so much help. There are make options to either enable or disable the entire set of configuration options; these are useful for build testing, but are rarely used to create a kernel that

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



