为Raspberry Pi交叉编译内核时某些命令的含义

时间:2015-07-03 06:19:54

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

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

  

对于Pi 2:

     

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

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

2 个答案:

答案 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。