解释一下 time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log
时间: 2024-02-14 12:35:58 浏览: 177
这是一个 Linux 命令,用于编译 Linux 内核。下面是命令的解释:
- `time` :在执行命令的同时记录命令的执行时间。
- `make` :是一个常用的 Linux 编译命令,用于编译程序或源代码。
- `ARCH=arm` :指定编译的目标架构为 ARM。
- `CROSS_COMPILE=arm-linux-gnueabihf-` :指定编译器的前缀为 `arm-linux-gnueabihf-`,这是因为在编译 ARM 架构的程序时需要使用交叉编译器。
- `2>&1` :将标准错误输出重定向到标准输出,这样可以将错误信息和编译信息一起输出。
- `tee build.log` :将命令的输出保存到 `build.log` 文件中,并将输出同时显示在终端上。
因此,该命令的作用是编译 Linux 内核,并将编译信息及错误信息输出到终端上,并将输出保存到 `build.log` 文件中。
相关问题
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make LicheePi_Zero_480x2 72LCD_defconfig和 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LicheePi_Zero480x272LCD_defconfig的区别
这两个命令的区别在于使用的配置文件不同。
第一个命令中使用了“LicheePi_Zero_480x272LCD_defconfig”配置文件,这意味着编译的是适用于 LicheePi_Zero 开发板的 480x272 分辨率的 LCD 屏幕的内核。而第二个命令中使用的是“LicheePi_Zero480x272LCD_defconfig”配置文件,这意味着编译的是适用于 LicheePi_Zero 开发板的 480x272 分辨率的 LCD 屏幕的内核,并且增加了一些额外的配置选项。
以 EMMC 核心板为例,讲解一下如何编译出对应的 Linux 镜像文件。新建名为 “mx6ull_alientek_emmc.sh”的 shell 脚本,然后在这个 shell 脚本里面输入如下所示内容: 示例代码 35.2.1 mx6ull_alientek_emmc.sh 文件内容 1 #!/bin/sh 2 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean 3 make ARCH=arm CROSS_COMPILE=arm-lin
ux-gnueabihf- alientek_emmc_defconfig
4 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
5 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
6 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage
7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
8 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
9 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- imx6ull-alientek-emmc.dtb
10 mkdir -p output
11 cp -f arch/arm/boot/uImage output/
12 cp -f arch/arm/boot/dts/imx6ull-alientek-emmc.dtb output/
13 cp -f System.map output/
14 mkdir -p output/lib/modules
15 cp -fRv modules/* output/lib/modules/
16 rm output/lib/modules/`uname -r`/build
17 rm output/lib/modules/`uname -r`/source
18 tar -cf output.tar output
19 rm -rf output
上述代码中,第 2 行的 make 命令用于清除之前的编译结果,第 3 行的 make 命令用于配置编译环境,第 4 行的 make 命令用于打开内核配置界面,第 5 行的 make 命令用于编译内核,第 6 行的 make 命令用于编译内核镜像,第 7 行的 make 命令用于编译内核模块,第 8 行的 make 命令用于编译设备树二进制文件,第 9 行的 make 命令用于编译特定设备树文件,第 10-18 行的命令用于创建输出目录,并将编译结果复制到输出目录中,最后一行的命令用于清除临时文件。
这个脚本是针对 MX6ULL alientek EMMC 核心板进行编译的,如果需要编译其他型号的核心板,则需要相应调整配置文件和设备树文件的名称。
阅读全文