关于linux内核无法编译成模块的解决方法

时间:2021-03-30 22:20:32

在做驱动时,往往想编译成模块,让后加载来使用,这样灵活性较高,无需重新编译内核。

然后在使用供应商提供的内核时,往往无法编译成内核。也就是说把宏设置为y,编译进内核没有问题,但是设置成m编译成模块却不行。检查很多地方都不行,实际上这个问题很简单,可就这个简单的问题,搞了我一天,真心伤啊,这里做个记录做谨记。


解决的办法很简单,看看在执行内核make的时候是否添加了modules参数,如下面的形式:

make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=arm-cortex_a9-linux-gnueabi-


如果不能编译,是不是发现没有modules这个参数呢。添加上问题解决。