make 传递参数给内核make ARCH=arm64和ARCH=arm的区别
时间: 2024-01-12 10:04:39 浏览: 99
make命令是一个构建工具,可以用于编译和构建软件项目。它可以使用各种选项和参数来定制构建过程。其中,ARCH是一个make的参数,用于指定所构建的软件的目标架构。
当使用ARCH=arm64参数时,make会将软件构建为64位ARM架构。而当使用ARCH=arm参数时,make会将软件构建为32位ARM架构。
因此,传递参数给内核make时,ARCH=arm64和ARCH=arm的区别在于构建出的软件所使用的ARM架构不同。如果要在ARM64平台上运行软件,则需要使用ARCH=arm64参数;如果要在ARM32平台上运行软件,则需要使用ARCH=arm参数。
相关问题
make menuconfig后make defcofig报错the source tree is not clean,please run 'make arch=arm64 mrproper' in linux5.10
这个错误通常意味着在运行`make defconfig`之前,您的Linux内核源代码目录处于不干净的状态。为了解决这个问题,您可以按照错误消息中提到的建议运行`make arch=arm64 mrproper`命令。
这个命令将会清除内核源代码目录中的临时文件和生成的文件,以确保目录处于干净的状态。运行该命令后,您可以再次尝试运行`make defconfig`命令来生成默认的配置文件。
请注意,在运行`make arch=arm64 mrproper`命令之后,您可能需要重新应用任何其他的补丁或修改,以确保您的定制内容不会被清除。
解释一下 time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 2>&1 | tee build.log
这是一个 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` 文件中。