关于编译树莓派内核系统的总结
1.首先获取官方的内核系统源码:
然后在源码根目录执行命令:
🌟ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL=kernel8 make bcm2712_defconfig
(注意这里的是树莓派5的64位的)
🌟ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig
(注意这里是树莓派32位的)
其中对比可以显而易见,源码的硬件架构可以在执行
find . -name *_defconfig
输出的就是各种支持的硬件架构我的有:
执行命令成功了之后,会输出成功的结果如下:
2.完了之后运行配置命令:
make menuconfig
(如果运行报错如下)
则运行:
sudo apt-get install libncurses5-dev libncursesw5-dev
之后再次运行上一个命令即可进入配置界面如下:
树莓派5编译内核镜像命令:(别的32位的不同)
# 启用多线程编译(根据CPU核心数调整-j参数)
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- KERNEL=kernel8 make -j4 Image modules dtbs
(别的如下,不全是对)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
最后说一下
-j4表示用多少个线程编译内核源码
🌟Image是生成的镜像
modules要生产的驱动模块(必要)
dtbs生成配置文件(必要)
等待编译完成即可
编译完了之后用samba恭喜获取出来镜像,用树莓派Imager工具烧录到SD卡即可测试(这一步我没有测,因为我的目标是写内核驱动)