grep “***” * -nR
挂载nfsmount -t nfs -o nolock 192.168.1.141:/home/aston/x210rootfs /opt
wifi项目移植
1 开发环境搭建,
1)ubuntu14.04
2)内核源码树
3)开发板提供的官方linux+qt4.8镜像
4)nfs服务器和文件夹形式的rootfs
5)网卡的驱动源码
6)网卡硬件,插入后输入lsusb 查看网卡的VID和PID
Bus 001 Device 003:ID 148f:7601
2更改驱动源码树
1)查看USB DEVICE ID rtusb dev id[]产品的VID和PID和这个结构体中的是否匹配
2)更改Makefile 选择对应的platform,更改内核源码树路径和CROSS_COMPILE路径
和SUBDIRS, 修改os/linux/目录下config.mk文件,添加对应的PLATFORM
3)修改网卡名称 include/rtmp_def.h 一般是rax或者wlanx
4)添加wpa_supplicant支持
确保config.mk文件中WPA_SUPPLICANT-y
5) make编译生成驱动模块
6)在/os/linux下生成了mt7601usta.ko文件
3 驱动代码分析
1)分析驱动先从入口入手,查找moudle_init
2)设备和驱动进行匹配通过.name或者dev_id[]里面的内容
3 wifi网卡配置
1)ubuntu14将mt7601usta.ko拷贝到开发板系统,进行insmod 通过ifconfig -a查看所有网卡
2)iwconfig用来管理无线网卡,busybox中有集成进去,现在基本不用了
3)wpa——supplicant无线网卡管理配置工具
安装wpa_supplicant
1 下载对应的wpa_supplicant和opensell,这里选择的是wpa_supplicant_2.5和openssl_0.9.8za
2 安装补丁,openssl需要用到wpa_supplicant里面的panch,拷贝他到openssl的根目录,运行patch -pl < penssl-0.9.8za-tls-extensions.patch
3 更改makefile,主要是交叉编译工具链
1、需要建立配置文件/etc/Wireless/RT2870STA/RT2870STA.dat,在源码的根目录就有
2、更改/etc/wpa_supplicant.conf //wpa_supplicant配置文件
ctrl_interface=/var/run/wpa_supplicant
network={
ney_mgmt=WPQ-PSK//加密方式
ssid=""//网络名称
psk=“”//密码
}
3、测试ra0之前一定要先关闭eth0,否则默认都是使用eth0
ifconfig ra0 up //开启网卡
wpa_supplicant -B -c /etc/wpa_supplicant.conf -i ra0 //连接无线网
wpa_cli -i ra0 status //查看网络连接状态
ifconfig ra0 192.168.1.200 //手动配置ip地址
route add default gw 192.168.1.1 dev ra0 //配置网关或者更改/etc/network/interfaces方法更改配合文件
vi /etc/resolv.conf //配置dns
nameserver 192.168.1.1
4、用interface去配置网关、ip和DNS
insmod mt7601usta.ko
拷贝/etc/wireless/RT2870STA/RT2870STA.dat
配置/etc/wpa_supplicant.conf
ney_mgmt=WPQ-PSK
ssid=""
ifconfig ra0 up //开启网卡
wpa_supplicant -B -c /etc/wap_supplicant.conf -i ra0 //连接无线网
wpa_cli -i ra0 status //查看网络连接状态
配置ip地址
方法1 用udhcpc busybox中集成的命令
命令udhcpc -i ra0
方法2 配置/etc/network/interface 文件(配置IP地址和网关)
配置DNS vi /etc/resolv.conf //配置dns
nameserver 192.168.1.1
通过nfs方式挂载根文件系统
1、在make_menuconfig中配置网络部分,主要是使能CONFIG_IP_PNP以在2中能够看到Root file system on NFS选项
Networking support
Networking options
TCP/IP networking
IP: kernel level autoconfiguration
[] IP: DHCP support
[] IP: BOOTP support
2、配置开启nfs服务
File systems —>
Network File Systems —>
<*> NFS client support
[*] NFS client support for NFS version 3 y [*] NFS client support for the NFSv3 ACL protocol extension
[*] NFS client support for NFS version 4 (EXPERIMENTAL)
[*] NFS client support for NFSv4.1 (DEVELOPER ONLY)
[*] Root file system on NFS
3、在uboot中设置如下启动参数(IP根据实际使用更改)
setenv bootargs root=/dev/nfs nfsroot=192.168.1.141:/rootfs/rootfs ip=192.168.1.20:192.168.1.141:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc console=ttySAC2,115200
set bootcmd ‘tftp 30008000 zImage; bootm 30008000’
根文件系统下移植无线网卡:
1 下载解压缩wap_supplicant
2 defconfig改名成.config
3 更改makefile gcc改成arm-linux-gcc,编译的时候提示需要openssl
4安装移植openssl,也是需要更改makefile,编译提示man手册安装有问题,删除makeinstall里面的doc,
5 wap_supplicatn的makefile中gcc添加-L和openssl的lib目录
CFLAGS+=-l/include
LIBS+=-Lopenssl安装目录/lib
更改.config文件中CONFIG_DRIVER_NL80211,注释掉
编译后生成wap_supplicant和wpa_cli,然后拷贝到根文件系统里面的usr/bin目录
6拷贝RT2870STA.dat文件和/etc/wpa_supplicant.conf,