Nuc970开发资料之iproute2移植

Nuc970开发资料之iproute2移植

1 引言

Nuc970支持can总线,但busybox提供的ip工具不支持can的一些设定,如设置bitrate等。这就需要移植iproute2.

2.交叉编译依赖库Berkeley DB

Iproute2依赖Berkeley DB,所以先要交叉编译Berkeley DB。

2.1下载源文件

http://pkgs.fedoraproject.org/repo/pkgs/pam/db-4.6.18.tar.gz/95768bd92fd48951a427fbab37b9088f/db-4.6.18.tar.gz

2.2解压

#tar -zxf db-4.6.18.tar.gz

2.3 配置编译安装

#cd db-4.6.18

#cd build_unix

#export INSTALLPATH=/work/nuc970/emyard/applications/install

#../dist/configure –host=arm-linux –prefix=$INSTALLPATH –enable-compat185

#make

#make install

3.交叉编译iproute2

3.1下载源文件iproute2-3.10.0.tar.bz2

https://www.kernel.org/pub/linux/utils/net/iproute2/

3.2解压

#tar jxvf iproute2-3.10.0.tar.bz2

3.3修改Makfile

# cd iprotue2-3.10.0

#vi Makfile

主要修改点

指定安装目录

DESTDIR=/work/nuc970/emyard/applications/install

修改依赖库的目录

PREFIX=/work/nuc970/emyard/applications/install

修改db_185.h文件的目录

DBM_INCLUDE:=/work/nuc970/emyard/applications/install/include

修改交叉编译工具

CC = arm-linux-gcc

修改CFLAGS,为静态编译,并包含libdb

CFLAGS = $(WFLAGS) $(CCOPTS) -I../include $(DEFINES) -static -L$(LIBDIR)

3.4 编译与安装

#make

#make install

4 安装iproute2

4.1删除rootfs自带的ip这个链接

#rm ../rootfs/bin/ip

4.2进入安装目录

#cd

4.3复制编译好ip到rootfs的sbin目录下

#cd sbin

#cp ./sbin/ip ../../rootfs/sbin

4.3复制iproute2目录到rootfs的etc目录下

#cp –rf iproute2 ../../rootfs/etc