一、连接wifi
利用firefily官方预先在SDK中安装的wpa_supplicant连接wifi
- 打开wlan0: ifconfig wlan0 up
- 检索网络:iwlist wlan0 scan 将会输出可用的无线网络
- 可以加上grep命令查看自己想用的wifi:iwlist wlan0 scan | grep "ssid"(ssid为wifi名称 )
如果以上几步都没有问题,并且能够成功搜索到自己想用的wifi,那么就可以继续进行下面的步骤:
- 检查wpa_supplicant的安装状态:wpa_supplicant --version
- 为wpa_suopplicant创建配置文件:
- cd /etc,观察此目录下是否存在wpa_supplicant目录,如果不存在则创建,存在的话执行下一步
- cd /etc/wpa_supplicant sudo vi wpa_supplicant.conf
- 输入如下配置内容:
- ctrl_interface=/var/run/wpasupplicant
- ap _scan=1
- network={
- ssid="**"
- psk="***"
- priority=1
- }
第一行的目录是wpa_supplicant工具运行时需要的临时目录,因此如果此目录不存在的话需要手动创建
ssid和psk分别表示wifi的名称和密码,大括号里面的内容使用空格缩进,不要使用分号
- 做完上述 准备工作之后就可以使用命名行连接wifi了,执行下面的命令:
- wpa_supplicant -D wext -I wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
- 执行上述命令后,如果提示delete /var/run/wpa_supplicant/wlan0 mannully if it is not used anymore,需要用killall wpa_supplicant命令杀掉wpa_supplicant进程或者手动删除提示的wlan0文件后再执行连接的命令
- 如果连接成功,提示CTRL-EVENT-CONNECTION to …
- 连接成功后使用udhcpc -I wlan0 获取动态IP就可以上网了
二、配置nfs
上面连接wifi的主要原因就是想使用nfs服务,nfs可以 极大的方便驱动开发,通过nfs将模块化的驱动从虚拟机共享到开发板上,避免编译和烧录花费大量的时间。
- 虚拟机安装nfs服务
- sudo apt update
- sudo apt install nfs-kernel-server rpcbind
- 修改配置文件,设置nfs挂载目录:sudo vi /etc/export,在其中最后一行添加如下内容:
- /home/… * (rw,sync,no_root_sqush) ---前面的路径表示你想要挂载到开发板上的路径,可以理解为虚拟机和开发板之间的共享文件夹
- 重启nfs服务:sudo /etc/init.d/nfs-kernel-server restart
- 开发板安装nfs服务
- sudo apt update \
- sudo apt install nfs-common -y
- 开发板挂载共享路径
- 首先在虚拟机上运行ifconfig查看虚拟机的ip地址
- 开发板上执行如下命令:mount -t nfs 192.***.*.***:/**/*** /mnt
- 此命令表示把ip为 192.***.*.***的主机上的/**/***路径挂载到本地的/mnt路径
- cd /mnt 便可以对虚拟机上的共享路径中的文件进行读写操作了
三、设置自启动脚本
如果板子每次启动都要重新配置上述的内容,实在是太烦琐了,不如直接写一个启动自运行的脚本完成上述工作,因此要在虚拟机上将ip设为静态ip,直接在ubuntu桌面系统的网络设置中修改即可。
- 进入开发板的开机自启动运行的脚本路径:cd /etc/profile.d
- sudo vi wifi_connect.sh,输入如下内容:
#!/bin/bash
sleep 5s
ip link set wlan0 up
iwlist wlan0 scan | grep SSID
killall wpa_supplicant
sleep 3s
rm /var/run/wpa_suppcliant/wlan0
ip link set wlan0 up
killall wpa_supplicant
wpa_supplicant -D wext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
sleep 5s
udhcpc -i wlan0
mount -t nfs 192.168.1.103:/home/hector/linux/nfs_share /mnt
注意,最后一行的IP地址需要根据自己设置的虚拟机的静态IP进行修改。