【问题标题】:Meaning of some commands when cross-compiling kernel for Raspberry Pi树莓派交叉编译内核时一些命令的含义
【发布时间】:2015-09-20 21:12:06
【问题描述】:

这个树莓派的official document详细介绍了如何为树莓派交叉编译新的Linux内核的过程。本文档中的一些命令如下所示,但是我很难理解。

对于树莓派 2:

$ cd linux
$内核=内核7
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig

  1. KERNEL env 代表什么剂量?
  2. 为什么我们需要将KERNEL 设置为kernel7
  3. 另外,make bcm2709_defconfig 是做什么的?

【问题讨论】:

    标签: linux linux-kernel raspberry-pi cross-compiling raspberry-pi2


    【解决方案1】:

    KERNEL - 它是环境变量。我们稍后在将新编译的映像复制到引导文件夹时使用该环境变量。

    用法: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 架构制作的配置文件。例如,树莓派 1 编译使用 bcmrpi_defconfig。

    【讨论】:

      【解决方案2】:

      -bcm2709_defconfig 选择要使用的配置文件。它们存储在这样的路径中:arch/arm/configs/ 对于KERNEL env,我从来没有见过这个......它不是主线内核,可能是RPi的一个特殊功能。

      【讨论】:

        猜你喜欢
        • 2021-03-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-19
        • 2013-12-12
        • 1970-01-01
        • 2021-05-17
        相关资源
        最近更新 更多