Answers:
我在这里找到以下答案:
简短的答案是.ko文件是与内核所需的一些内核自动生成的数据结构链接的目标文件。
.o文件是模块的目标文件-编译c文件的结果。然后,内核构建系统会自动创建另一个具有描述内核模块的数据结构的C文件(名为your_module_kmod.c),将该C文件编译为另一个目标文件,并将您的目标文件和它一起构建的目标文件链接在一起以创建.ko文件。
内核中负责加载内核模块的动态链接程序希望在.ko文件中找到内核放入kmod对象中的数据结构,并且如果没有它们,将无法加载内核模块。