Model Me, Model World

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到目标机器上跑一下,说出了你好世界。

Blog maintained by Tao J

No longer hosted on GitHub Pages — Theme by mattgraham