一、更换软件源

sudo nano /etc/apt/sources.list


注释掉原来的软件源,用下面的软件源

deb http://mirrors.neusoft.edu.cn/raspbian/raspbian/
 jessie main contrib non-free rpi
deb-src 
 jessie main contrib non-free rpi

二、升级内核

 sudo apt-get update
 sudo apt-get upgrade
 sudo rpi-update

三、内核编译操作

    查看当前内核的版本:

 uname -r

    显示我的版本是4.1.15+,所以下载对应的4.1.15的linux源码,然后解压:

 cd /usr/src
 sudo git clone https://github.com/raspberrypi/linux.git

    或者直接下载zip文件,拷到/usr/src目录下

 sudo unzip linux-rpi-4.1.y.zip

    然后确保gcc的版本是4.9,后边有用

  gcc -v

    建立内核模块库目录的链接:

 sudo ln -s /usr/src/linux-rpi-4.1.y /lib/modules/`uname -r`/build
 cd /lib/modules/`uname -r`/build

    make mrproper 可以看作更加强劲的make clean 命令,用来清除环境变量,即清除配置文件,一般编译内核前都要运行:

 cd /lib/modules/`uname -r`/build
 sudo make mrproper

    生成/proc/config.gz:

 sudo modprobe configs

    将当前正在使用的系统的内核配置生成内核配置信息:

 sudo gzip -dc /proc/config.gz > .config

    

    生成编译内核所需要的东西

 sudo make modules_prepare

    获取内核编译时生成的内核模块导出符号文件。因为不是从头编译内核,所以没有,但是编译内核模块需要这个:

sudo wget https://github.com/raspberrypi/firmware/raw/master/extra/Module.symvers

如果是raspberry pi2以上新产品则:

sudo wget https://github.com/raspberrypi/firmware/raw/master/extra/Module7.symvers

再重新命名

sudo mv Module7.symvers Module.symvers

至此内核编译所需要的配置就完成了,后面就可以编译驱动了

 


注意:本文归作者所有,未经作者允许,不得转载