树莓派原本的系统为:ubuntu-mate-16.04.2-desktop-armhf-raspberry-pi,系统安装后没有附带内核的库。
为了可以在树莓派上使用自己编译的内核程序,我升级了树莓派的系统内核,并用升级时编译的内核库来编译树莓派上的驱动程序(用的是虚拟机Ubuntu16.04 amd64进行交叉编译)。
0、获取源码和编译器
资源链接:https://github.com/raspberrypi
将inux和tools两部分下载(此处内核源码的分支:linux-rpi-4.4.y)
1、生成.config
方法1:使用树莓派的.config
在树莓派上使用命令:
$ sudo modprobe configs
将生成的config.gz拷贝到源码目录下,执行命令:
$ zcat config.gz > .config
方法2:生成一个.config
在源码目录下执行:
$ make ARCH=arm CROSS_COMPILE=../tools-master/arm-bcm2708/arm-linux-gnueabihf/bin/arm-linux-gnueabihf- bcm2709_defconfig
如果生成.config时报错:
curses.h:No such file or directory
执行:$ sudo apt-get install libncurses5-dev libncursesw5-dev
2、编译内核<