我正在为用于克隆和重新映像的 PXE 环境编译我自己的 Linux 内核和用户空间工具。现在,我坚持使用特定的内核版本并使用预配置的 .config 来构建 Linux 内核。
我需要从使用预配置的 .config 更改为自动生成指定架构的默认配置,然后启用所有以太网、ATA、SATA 和 SCSI 驱动程序。
我想这样做的原因是:
- 更新内核意味着更新预配置的.config,这需要太多时间手动完成。我现在的做法是使用 menuconfig,启用我需要的选项,并将生成的 .config 保存到我的存储库中。
- 我知道我正在构建的内核缺少一些驱动程序,因为我遇到了一些无法挂载 NFS 共享的 PC,因为 Linux 找不到以太网设备(我已经通过启动 Ubuntu CD 进行了验证,它确实找到以太网设备)。我想要一种自动化的方式来构建任何 Linux 内核版本,以保证我需要的所有驱动程序都被引入。
- 出于我的目的,使用发行版的配置会引入太多不必要的驱动程序和功能。它将内核构建时间从 10-15 分钟延长到一个小时或更长时间,并且生成的图像太大。
有谁知道如何编写 Bash 脚本来完成此任务?