Openwrt交叉编译
首先我先介绍下什么是交叉编译:
交叉编译,简单的说就是,就是在一个平台上生成另一个平台上的可执行文件,举个例子,我我用我的电脑(x86_64平台)编译出路由器(mips-AR71XX)上可以执行的二进制文件,要进行交叉编译首先就要有对应平台的编译器。
Openwrt的交叉编译并不复杂。
第一步,你需要得到toolchain(工具链),我个人理解这个就相当于编译器
如何得到toolchian呢?有两种方法
1.到openwrt下载(要注意平台,比如我的路由器是tp-wr703n,所对应的平台就是AR71XX,就要到http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/下载 OpenWrt-Toolchain-ar71xx-for-mips_34kc-gcc-4.8-linaro_uClibc-0.9.33.2.tar.bz2
2.自己编译,在编译固件时可以看到有编译toolchain的选项(如果不知道我在说什么的话,先学习下openwrt编译)
得到工具链后将其解压
第二步,设置环境变量
这里只有两个变量需要设置
1.将工具链中的bin文件夹加入PATH
2.添加一个STAGING_DIR 变量,将其指向放toolchain的文件夹,比如我把toolchain解压到了/home/yj/openwrt/mips-linux-gcc/下,就把STAGING_DIR 的值赋为/ho