我正在交叉编译内核,并拥有设备供应商提供的树外内核模块。最初构建了内核,然后模块运行良好。
现在我正在尝试在内核中启用 initramfs。内核模块需要包含在 initramfs 映像中。这会导致循环依赖:
- 内核依赖于initramfs镜像文件(在 中设置
CONFIG_INITRAMFS_SOURCE
) - initramfs 映像文件依赖于树外内核模块
- 树外内核模块取决于正在构建的内核
我最好的解决方法是:
- 为 initramfs rootfs 映像创建一个空文件
- 构建内核
- 构建模块
- 构建真正的 initramfs 映像
- 重新构建内核
然而,这会破坏make
依赖项跟踪,并在正常开发周期中导致大量不必要的重建。是否有一个内核构建目标可以构建树外模块所需的工具,而无需实际构建整个内核?