如果需要将ko文件或者应用程序运行到开发板中,必须使用开发板中运行的操作系统相同的交叉编译工具链才可以,那么如何快速的确定目标系统的交叉编译工具呢?
方法1
如果目标开发板可以正常运行系统,那么我们可以通过查看开发板中运行的操作系统中的应用程序信息,来确定使用的交叉编译工具。
例如:
查看ls这个应用程序的信息,来确定交叉编译工具链
通过执行file /bin/ls
这个命令,就可以查看ls的文件信息
从下图的输出中可以看到
ls
这程序,是一个64位的应用程序,架构是ARM aarch64,所以我们要选择的交叉编译工具链,必须是ARM 64的交叉编译工具
一般在你在下载SDK中的prebuilts都会附带对应的工具
例如,我要编译的是一个Ubuntu的系统,在下载的SDK的prebuilts文件中会有对应的工具链。
所以,我如果要单独编译KO或者应用程序,就需要使用prebuilts/gcc/linux-x86/aarch64/
下的交叉编译工具,或者自己下载对应版本的工具
方法2
可以通过查看SDK的编译脚本去确定要使用的交叉编译工具