Model Me, Model World
Blayground
简单用下交叉编译工具
在 Acadia 上编译 OpenWRT 工具链
下载并编译
既然是给WRTNode创建工具链,那当然就去相应的地方下载了。
厂商直接给出了配置过的源码包,实在是省了不少事。下载下来便能直接用。
wget http://d.wrtnode.com/sdk/sdk.tar.bz2不废话,直接解压。make menuconfig进入熟悉的配置界面。选择编译相应工具链,尽量去掉一些编译内核的选项,少编译点东西总会快一点。
Acadia 用的是四核处理器,因此直接make -j4即可。之后就去睡觉,第二天起来再看看已经好了。
顺便说一句,感觉用树莓派 1B 的话应该会很久很久吧,单核,而且是 armv6,估计睡一觉是不够的。
测试结果
假设现在站在下载下来工具包的根下,那么编译出的工具链在staging_dir/,把相应可执行文件加到环境变量中。
export PATH="$PWD/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.8-linaro_uClibc-0.9.33.2/bin:$PATH"
export STAGING_DIR="$PWD/staging_dir"也不知道为啥会有linaro这个后缀,这家公司一般都做的 ARM 编译器,查了下也不太明白为啥与 MIPS 工具链扯上关系。
只能猜测说是linaro对 gcc 的优化不是架构相关的。
之后就编译一下你好世界。
mipsel-openwrt-linux-gcc hello.c看下文件头readelf -h a.out | grep Machine:
Machine: MIPS R3000应该是没问题。
scp到目标机器上跑一下,说出了你好世界。