我正处于使用交叉编译器 (ELDK) 从内核源代码构建嵌入式 Linux 系统的初始阶段。内核已使用 和 成功 make ARCH=powerpc CROSS_COMPILE=powerpc-linux- 44x/virtex5_defconfig
构建make ARCH=powerpc CROSS_COMPILE=powerpc-linux- uImage
。
我想在此阶段包含主机上编译的内置模块。我运行
make ARCH=powerpc CROSS_COMPILE=powerpc-linux- modules
make ARCH=powerpc CROSS_COMPILE=powerpc-linux- INSTALL_MOD_PATH=/opt/eldk-5.8/powerpc-4xx modules_install
并看到内核包含的默认模块被构建并安装到指定的目录中。
我的问题是如何定义使用后两个命令构建和安装哪些模块?我想排除一些默认模块并包含来自单独源代码的其他模块,例如 coreutils。
感谢您提供的任何帮助。
答案1
为了后人着想,我对这个问题进行了回答,以帮助那些可能像当时我一样无知的人。
确实,正如 sawdust 所评论的,可以通过 来配置添加内置模块和驱动程序make menuconfig
。许多软件包都可以选择配置为内置(内核二进制文件)或模块。在前一种情况下,无需通过 将它们输出到根文件系统make modules_install
。
可以通过将源包含在相关文件夹中,然后更新管理该文件夹的KConfig
和,将自定义驱动程序添加到内核树中Makefile
,遵循内置包的示例。