交叉编译选项
编译Linux,通常只需要运行make menuconfig配置要编译的模块,然后运行make。Linux默认是做本地编译,也就是编译位本机使用的内核。
在嵌入式开发中,经常需要交叉编译,要做交叉编译的话,需要在make命令后加上宏定义,如交叉编译为arm目标:
makeARCH=armCROSS_COMPILE=arm-linux-
ARCH=arm:表示目标CPU为ARM架构
CROSS_COMPILE=arm-linux-:
表示编译过程使用的交叉编译链为arm-linux
当然也可以直接修改Makefile中的ARCH和CROSS_COMPILE宏定义,以此实现同样的效果。但是不建议直接修改Makefile。
源码与目标文件分离
Linux内核编译过程会产生很多的文件,包括目标文件、临时文件等等,默认情况下,编译生成的文件会存放在内核源码目录。
当你使用git status显示自己对内核代码的修改时也会把这些临时文件显示出来,而且提交还必须一个文件一个文件地指定,相当麻烦。
因此我们可以在父目录创建一个存放编译文件的目录,如build-kernel,然后再make命令后面加上宏定义:
makeO=../build-kernel
这样在编译Linux内核时,所有编译产生的文件,都会放在build-kernel目录,如果build-kernel目录不存在,也会自动创建。这样可以实现Linux内核源码与编译产生的文件分离。
-
内核
+关注
关注
4文章
1436浏览量
42481 -
Linux
+关注
关注
88文章
11627浏览量
217893 -
源码
+关注
关注
8文章
682浏览量
31082 -
编译
+关注
关注
0文章
687浏览量
34935
发布评论请先 登录
linux操作系统交叉编译环境的建立方法
Linux操作系统交叉编译环境的建立方法
Linux QT5程序编译准备源码
瑞芯微RK3568开发板源码编译与交叉编译环境搭建
arm-linux的交叉编译环境解析
定制ARM For Linux交叉编译工具详细介绍
【Linux】嵌入式Linux系统的移植(上篇:交叉编译器、连接方式)
嵌入式Linux开发环境搭建-(6)交叉编译QT4.8.7源码生成qmake工具
STM32MP157 Linux系统移植开发篇8:Linux内核配置方法及编译

Linux交叉编译选项与源码与目标文件分离
评论