这个Raspberry Pi的official document详细介绍了如何为Raspberry Pi交叉编译新的Linux内核的过程。本文档中的一些命令如下所示,但我很难理解。
对于Pi 2:
$ cd linux
$ KERNEL = kernel7
$ make ARCH = arm CROSS_COMPILE = arm-linux-gnueabihf- bcm2709_defconfig
KERNEL
env代表什么剂量? KERNEL
设置为kernel7
? make bcm2709_defconfig
做什么? 答案 0 :(得分:0)
-bcm2709_defconfig选择要使用的配置文件。它们存储在这样的路径中:arch / arm / configs / 对于KERNEL env,我以前从未见过它......它不是主线内核,可能是一个特殊的RPi功能。
答案 1 :(得分:0)
KERNEL - 这是环境变量。我们稍后在将新编译的映像复制到boot文件夹时使用该环境变量。
用法:sudo scripts / mkknlimg 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。