ARM上移植ser2net源码

基于openwrt的ARM板需要实现ser2net的功能,现将源码移植的步骤进行一些归纳总结:

1、下载ser2net-2.10.0源码,下载地址http://sourceforge.net/projects/ser2net/files/latest/download

2、解压缩后,将源码copy到linux编译服务器下;

3、运行源码中的configure脚本,生成对应的Makefile文件;

     ./configure不带参数运行,生成的Makefile运行后完成的是本地编译,编译得到的程序也是在本地执行;

    ./configure CC=/a/home/xxxx/cutdown/openwrt-2.6.36/staging_dir/toolchain-mipsel_24kec+dsp_gcc-4.6-linaro_uClibc-0.9.33.2/bin/mipsel-openwrt-linux-uclibc-gcc --host=mips-openwrt-linux 脚本带上交叉编译工具链,生成的Makefile完成的是交叉编译,编译得到的程序可以在特定的平台执行;

4、执行make      make clean 等Makefile命令生成可执行文件;

5、将可执行文件(ser2net)和配置文件(ser2net.conf)上传到ARM板的对应目录下。


    PS:交叉编译:通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,比如在PC平台 (X86 CPU)上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到ARM CPU平台上才能运行,虽然两个平台用的都是Linux系统。这种方法在异平台移植和嵌入式开发时非常有用。相对与交叉编译,平常做的编译叫本地编译,也 就是在当前平台编译,编译得到的程序也是在本地执行。用来编译这种跨平台程序的编译器就叫交叉编译器,相对来说,用来做本地编译的工具就叫本地编译器。所 以要生成在目标机上运行的程序,必须要用交叉编译工具链来完成。在裁减和定制Linux内核用于嵌入式系统之前,由于一般嵌入式开发系统存储大小有限,通 常都要在性能优越的PC上建立一个用于目标机的交叉编译工具链,用该交叉编译工具链在PC上编译目标机上要运行的程序。交叉编译工具链是一个由编译器、连 接器和解释器组成的综合开发环境,交叉编译工具链主要由binutils、gcc和glibc 3个部分组成。有时出于减小 libc 库大小的考虑,也可以用别的 c 库来代替 glibc,例如 uClibc、dietlibc 和 newlib。建立交叉编译工具链是一个相当复杂的过程,如果不想自己经历复杂繁琐的编译过程,网上有一些编译好的可用的交叉编译工具链可以下载,但就以 学习为目的来说读者有必要学习自己制作一个交叉编译工具链。


你可能感兴趣的:(源码,移植,ARM,交叉编译)