内核驱动跟内核版本号之间是强相关的,因为编译内核模块的时候,需要基于内核源码来编译
假设我们自己编译一个属于自己的树莓派内核,根据官方的内核来进行更改。
将官方的内核解压到虚拟机上,最好放在根目录的work下,要不然会空间不足
//安装工具
sudo apt-get install git bison flex libssl-dev
//安装配置内核menuconfig的辅助工具
sudo apt-get install libncurses5-dev
//配置内核
cd linux//解压后的linux文件
KERNEL=kernel17
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
//ARCH=arm,架构是ARM架构,就是armCPU
//CROSS_COMPILE,指定交叉编译工具
//bcm2709_defconfig,树莓派默认的内核编译配置
//编译内核
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs -j2
//-j2 电脑内核大小
//替换img中的内核
//挂载img
//查看img信息
fdisk -l xxxxxxxxxxxxxx.img//xxxxxxxxxx.img 树莓派系统镜像
创建一个新的文件,在里面创建mnt文件,在mnt文件里面分别创建linux文件和boot文件
//挂载分区
//两个分区 boot 启动分区