wifi 移植
軟件??arm-linux-gcc 3.3.2??開發(fā)板 linux 2.6.13??主機 2.6.24?
網(wǎng)卡驅(qū)動??rt73-cvs-daily.tar.gz?
busybox busybox-1.9.2.tar.bz2?
wirelss tool wireless_tools.29.tar.gz?
ps:除gcc,所有工具都在/srv目錄下,內(nèi)核為yl9200配套?
??
??
1,下載解壓驅(qū)動?
# wget?http://rt2x00.serialmonkey.com/rt73-cvs-daily.tar.gz?
解壓:# tar zxvf rt73-cvs-daily.tar.gz(以下各公具的解壓省略)?
??
2,在內(nèi)核中創(chuàng)建新文件夾drivers/usb/net/rt73,?
# mkdir drivers/usb/net/rt73?
將解壓出來的文件夾Module下的文件拷貝到剛才新建的rt73文件夾中:?
cp Module/* /srv/linux-2.6.13-hzh/drivers/usb/net/rt73?
??
3,修改內(nèi)核源代碼,加入RT73驅(qū)動配置信息?
修改drivers/usb/net/Kconfig文件,加入RT73的驅(qū)動模塊的配置項:?
# gedit drivers/usb/net/Kconfig &?
加入以下內(nèi)容:?
config RT73?
???? tristate "support for rt73 wireless usb device"?
???? depends on USB && NET && USB_USBNET?
??
修改drivers/usb/net/Makefile, 加入rt73的編譯項:?
# gedit drivers/usb/net/Makefile &?
添加一下內(nèi)容:?
obj-$(CONFIG_RT73)+= rt73/?
??
4,根據(jù)arm4.patch更改驅(qū)動文件(具體參照arm4.patch)?
修改RT73的Makefile,設(shè)置內(nèi)核位置和編譯選項:?
??
刪除以前的module選項,并將arm編譯項改成modules,這樣編譯的時候才是for ARM版本的驅(qū)動模塊,并更改為如下內(nèi)容;?
modules:?
???? @$(MAKE) $(KBUILD_PARAMS) $(EXTRA_CFLAGS) \?
???????????????????? modules; \?
???? $(MODULE_CHECK)?
添加?
EXTRA_CFLAGS += -DRTMP_EMBEDDED(否則找不到搜索結(jié)果)?
??
修改KERNDIR為開發(fā)板內(nèi)核位置:?
??
KERNDIR :=/srv/linux-2.6.13-hzh?
??
5,?
更改內(nèi)核makefile?
ARCH?????????= arm?
CROSS_COMPILE?????=/usr/local/arm/3.3.2/bin/arm-linux-?
??
配置內(nèi)核:?
make menuconfig?
在USB devices à network à support for rt73 wireless usb device,按空格鍵選為M,將其編譯成模塊。( 進入usb network adapter后選中 Multi-purpose USB Networking Framework后,rt73才出現(xiàn))?
selecting [Device Drivers] -> [Networking support] -> [Wireless LAN(non-hamradio)] -> Wireless LAN drivers (non-hamradio) & Wireless Extensions.?
去掉devfs的支持?
另外內(nèi)核需要下面選項的支持?
- support for hot-pluggable devices CONFIG_HOTPLUG?
- userspace firmware loading support CONFIG_FW_LOADER?
- wireless LAN drivers (non-hamradio) & wireless extensions CONFIG_NET_RADIO?
- OHCI HCD support CONFIG_OHCI_HCD?
??
this includes are necessary for compiling the driver without errors?
??
6,編譯內(nèi)核模塊:?
# make modules?
成功編譯后,會在drivers/usb/net/rt73目錄下生成rt73.ko驅(qū)動文件?
??
7,制作根文件系統(tǒng),添加對mdev的支持?
按yl手冊里的步驟制作根文件系統(tǒng)?
利用busybox對系統(tǒng)做一個基本的配置,選上mdev,udhcpc?
更改busybox的Makefile?
ARCH?????????= arm
CROSS_COMPILE?????=/usr/local/arm/3.3.2/bin/arm-linux-?
配置靜態(tài)庫時把applets/applets.c的20到25行注釋掉?
更改etc/init.d下rcS?
去除devfs部分?
添加?
mkdir /dev/pts?
mount -t devpts devpts /dev/pts?
mount -t sysfs sysfs /sys?
mount -t tmpfs mdev /dev?
echo "# starting mdev...."?
/bin/echo /sbin/mdev > /proc/sys/kernel/hotplug?
/sbin/mdev -s?
??
在dev目錄下創(chuàng)建設(shè)備節(jié)點?
mknod console c 5 1?
mknod null c 1 3?
在etc目錄下建立mdev.conf?
touch mdev.conf?
將rt73.bin移動到lib/firmware目錄下?
??
8,移植wireless tool?
makefile 中更改BUILD_NOLIBM = y?
把生成的文件移動到guo目錄下?
??
9,將rt73.ko復(fù)制到NFS目錄?
mount -t nfs 192.168.0.7:/home/nfsboot /mnt/nfs -o nolock?
cp rt73.ko /home/nfsboot?
??
10,加載模塊?
insmod rt73.ko?
??
11,ifconfig wlan0 up?
??
12,udhcpc -i wlan0?
get ip!?
?
轉(zhuǎn)載于:https://www.cnblogs.com/yuzaipiaofei/archive/2012/02/28/4124259.html
總結(jié)
- 上一篇: 代码审核工具ReviewBoard在Wi
- 下一篇: 分享HTML5 canvas 的总结