1 min read

树莓派笔记4:使用VPS交叉编译内核

#说明

本教程只编译默认配置内核(树莓派3B+/32位)
编译时长:差不多27分钟,其他下载文件时间也就几分钟。1小时内搞定。费用大概0.027刀
参考官方教程:https://www.raspberrypi.org/documentation/linux/kernel/building.md

#环境:

树莓派3B+ / buster / raspberrypi 5.10.63-v7+ / 32位
VPS:Vultr / High Frequency / Atlanta / Ubuntu 21.04_x64 / 80G NVME(2c2g) / 0.027(hour)

#这里安利下Vultr。用来临时开机调试脚本编译啥的,很舒服。

https://www.vultr.com/?ref=7222306

#开机后。等一会CPU占用的时候可能还有进程

sudo apt update

#安装【32位】交叉编译环境。

sudo apt install -y git bc bison flex libssl-dev make libc6-dev libncurses5-dev crossbuild-essential-armhf

#重启一下

reboot

#获取树莓派内核源码 。选择内核的分支 5.10

git clone --depth=1 --branch rpi-5.10.y https://github.com/raspberrypi/linux

#获取树莓派3B+默认内核配置 (32位)。

cd linux
KERNEL=kernel7
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

#编译_32位(查看CPU数量(2):nproc ,CPU数量的1.5倍 )

make -j3 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

#要复制的。整理到一个文件

mkdir -p ~/boot/dts/overlays
cp /root/linux/arch/arm/boot/zImage ~/boot/kernel-mao.img
cp /root/linux/arch/arm/boot/dts/*.dtb ~/boot/dts
cp /root/linux/arch/arm/boot/dts/overlays/*.dtb* ~/boot/dts/overlays
cp /root/linux/arch/arm/boot/dts/overlays/README ~/boot/dts/overlays/README

#压缩需要的文件到~/boot.zip

cd ~
zip -r ./boot.zip ~/boot

#读卡器读取树莓派TF卡。覆盖压缩包里的文件到TF卡

#修改 /boot/config.txt,启用内核

kernel=kernel-mao.img