树莓派的内核文件在boot分区下,这个分区的文件系统是fat32的,因此可以在windows下直接访问。
树莓派官网链接:https://www.raspberrypi.org/documentation/linux/kernel/building.md
本地编译
你需要先安装最新版的 Raspbian,这是树莓派官方的 Linux 发行版,然后启动树莓派,连接网络并登陆到系统。
第一步是获取内核源码,速度会比较慢:
git clone --depth=1 https://github.com/raspberrypi/linux
添加依赖:
sudo apt-get install git bc bison flex libssl-dev make
备份内核,防止无法正常启动
sudo su
cd /boot
cp kernel7l.img kernel7l.img.bak
exit
树莓派1(或者计算卡)默认编译配置
cd linux
KERNEL=kernel
make bcmrpi_defconfig
树莓派2/3 默认编译配置
cd linux
KERNEL=kernel7
make bcm2709_defconfig
树莓派4 默认编译配置
KERNEL=kernel7l
make bcm2711_defconfig
编译并安装内核,模块和设备树:
make -j4 zImage modules dtbs
sudo make modules_install
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
sudo scripts/mkknlimg arch/arm/boot/zImage /boot/$KERNEL.img
sudo sync
注意:在使用树莓派2/3地时候,-j4
选项可以将任务分配到四个核心当中,从而加速编译过程。
查看是否编译替换成功
sudo reboot
uname -a