用户工具

站点工具


entware:mips2

这是本文档旧的修订版!


Entware-ng mips2

笔记: 创建 Entware-ng 环境

系统环境准备

ubuntu 15

安装以下软件包

gcc g++ make autoconf automake flex gperf bison texinfo libtool libtool-bin libncurses5-dev
zlib1g-dev unzip libssl-dev gettext

搭建 entware-ng

$ git clone https://github.com/Entware-ng/Entware-ng.git
$ cd Entware-ng
$ ./scripts/feeds update
$ ./scripts/feeds install -a
$ cp ./configs/mipselsf.config .config
$ make tools/install
$ make toolchain/install
$ make target/compile

编译自带软件包

编译名叫name的软件

$ make package/name/compile

手动编译软件

设置环境变量

export STAGING_DIR=/path/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8
export PATH=$PATH:/paht/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/bin

手动编译设置

手动编译软件时configure需要加入以下参数

--target=arm-openwrt-linux \
--host=mipsel-openwrt-linux \
--build=x86_64-linux-gnu \
CC=mipsel-openwrt-linux-uclibc-gcc \
CFLAGS='-O2 -pipe -mno-branch-likely -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -fpic' \
CPPFLAGS='-I/path/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/opt/include -I/path/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/include -I/path/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/usr/include -I/path/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/include' \
LDFLAGS='-L/path/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/opt/lib -L/path/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link=/path/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-uClibc.so.0 -L/path/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/usr/lib -L/path/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/lib'

例子

编译tinc 1.11pre11

先编译依赖库, entware-ng自带

make package/ncurses/compile
make package/lzo/compile
make package/libreadline/compile
make package/zlib/compile
make package/openssl/compile

接着编译tinc

./configure \
--target=arm-openwrt-linux \
--host=mipsel-openwrt-linux \
--build=x86_64-linux-gnu \
--prefix=/opt \
CC=mipsel-openwrt-linux-uclibc-gcc \
CFLAGS='-O2 -pipe -mno-branch-likely -mips32r2 -mtune=mips32r2 -fno-caller-saves -fhonour-copts -Wno-error=unused-but-set-variable -msoft-float -fpic' \
CPPFLAGS='-I/opt/entware-ng/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/opt/include -I/opt/entware-ng/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/include -I/opt/entware-ng/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/usr/include -I/opt/entware-ng/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/include' \
LDFLAGS='-L/opt/entware-ng/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/opt/lib -L/opt/entware-ng/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/lib -Wl,-rpath,/opt/lib -Wl,-rpath-link=/opt/entware-ng/Entware-ng/staging_dir/target-mipsel_mips32r2_uClibc-1.0.8/opt/lib -Wl,--dynamic-linker=/opt/lib/ld-uClibc.so.0 -L/opt/entware-ng/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/usr/lib -L/opt/entware-ng/Entware-ng/staging_dir/toolchain-mipsel_mips32r2_gcc-4.8.5_uClibc-1.0.8/lib'
make
entware/mips2.1449469469.txt.gz · 最后更改: 2015/12/07 14:24 由 Hshh