1、 内核源文件: celinux-040503(专门针对MIPS平台)
网卡:ASUS WL-167G
无线路由:FAST
2、编译内核前一定要把君正的补丁打上(否则无法编译内核。)
在celinux-040503下打君正的补丁:
gzip –cd ../ celinux-040503-jz-20080409.patch.gz | patch –p1
3、 首先编译一下内核源文件,并且在make xconfig的时候一定要把在Loadable module support中把Set version information on all module symbols选项选成y.(模块版本控制)
这样的话会在celinux030504/include/linux/下出现modversion.h文件 (不然会出现modversion.h找不到的错误!)
4、 修改RT73_Linux_STA_Drv 1.0.3 .6 /中的Makefile文件:
需要修改的有四个地方:
(1)
把CC :=cc改为:
CC :=/home/lfg/mipseltools-gcc331-lnx24/bin/mipsel-linux-gcc
(指定交叉编译器进行编译)
(2)添加:
LD :=/home/lfg/mipseltools-gcc331-lnx24/bin/mipsel-linux-ld
(指定交叉编译器中的链接工具进行链接)
LINUX_SRC=/home/lfg/celinux-040503/
(指定针对于MIPS平台LINUX内核源码)
(3)注释掉#include ./config.mk
(config.mk中存放的是指向的Linux源码路径(默认是LINUX_SRC=/usr/src/linux- 2.4.18 -3,我们要用专门针对MIPS平台的celinux-040503,所以Makefile文件中添加了一个LINUX_SRC),和编译后挂载模块的存放路径)
(4)修改其编译选项
1)去掉-mpreferred-stack-boundary=2
2)修改-march=i686为-march=mips32(不然会出现opcode not supported by this ISA Level的错误)
3)加上-fno-pic和-mno-abicalls(避免装载模块时出现unresolved symbol _gp_disp的错误)
4)加上-mlong-calls(避免装载模块时出现Relocation overflow of type 4 for **********的错误)
5、 修改RT73_Linux_STA_Drv 1.0.3 .6 /Module文件夹下的rt_config.h中的99行的#include <asm-i386/atomic.h>为#include <asm-mips/atomic.h>
6、 修改RT73_Linux_STA_Drv 1.0.3 .6 /Module文件夹下的rtmp_def.h,在添加下面两句
{USB_DEVICE(0x0B05,0x1723)}, /* dding add WL -167G ASUS */ /
{USB_DEVICE(0x0B05,0x1724)}, /* dding add ASUS */ /
(为的是让驱动能够识别WL -167G 无线网卡)
7、 然后在RT73_Linux_STA_Drv 1.0.3 .6 /Module文件夹中Make all,会生成rt73.o文件
8、 把rt73.o下载到开发板上,insmod rt73.o 挂载模块
9、 插入无线网卡,ifconfig rausb0 192.168.1.5设定无线网卡地址同时启动无线网卡。
这样的话就可以Ping通无线路由了。(无线路由IP是192.168.1.1)