这个树莓派的官方文档详细介绍了如何为树莓派交叉编译新的Linux内核的过程。然而,下面显示的这份文件中的一些命令,我很难理解。
对于Pi 2:
$cd linux
$KERNEL=kernel7
$make ARCH=arm CROSS_COMPILE=arm linux gneabihf-bcm2709_defconfig
KERNEL
env代表什么剂量- 为什么我们需要将
KERNEL
设置为kernel7
- 此外,
make bcm2709_defconfig
做什么
KERNEL-它是环境变量。稍后,当我们将新编译的映像复制到启动文件夹时,我们将使用该环境变量。
用法:sudo scripts/mkknimg arch/arm/boot/zImage mnt/fat32/$KERNEL.img
您可以将环境变量更改为任何所需的变量,但必须在引导文件夹的config.txt中添加一行,即kernel=changed_name.img
KERNEL=kernel7-打开启动文件夹。你会看到两个.img。一个是kernel.img,另一个是kernel7.img。默认情况下,Raspi 2/3在启动时使用kernel7.img。默认情况下,Raspi 1使用kernel.img。当您使用Raspi 2/3时,您将环境变量设置为kernel7。
bcm2709_defconfig-这是为Raspberry Pi 2架构制作的配置文件。例如,Raspberry Pi 1编译使用bcmrpi_defconfig。
-bcm2709_defconfig选择要使用的配置文件。它们存储在如下路径中:arch/arm/configs/对于KERNEL env,我以前从未见过。。。它不是主线内核,可能是RPi的一个特殊功能。