为减少内核所占的空间,很多时候我们在编译内核时都会选择裁去一些暂时不用的驱动,当我们在使用时找不到对应的驱动,除了重新编译内核外,一个比较方便的做法是将对应的驱动编译成.ko文件(模块),再添加到系统下。
下面介绍两种编译.ko文件的方法,以nanoPi M3板子为例:
编译平台:Ubuntu
一、直接使用源码编译
首先获取源码的驱动程序,以给板子添加joydev的驱动为例,找到驱动源码joydev.c,将其放到一个新建文件夹下,编写相应Makefile文件,其中KERNEL_PATH是内核源码的目录。
Makefile
obj-m := joydev.o
KERNEL_PATH := /home/wali/Documents/nano-m3/linux-3.4.y/
PWD := $(shell pwd)
all:
make -C $(KERNEL_PATH) M=$(PWD) modules
clean:
make -C $(KERNEL_PATH) M=$(PWD) clean
设置交叉编译器:
编辑文件 ~/.bashrc,将交叉编译器位置添加进来