(开机自启动脚本)rk3399连接wifi与配置nfs

本文详细介绍了如何使用Firefly设备通过wpa_supplicant连接WiFi,配置NFS服务以加速驱动开发,以及设置自启动脚本简化流程。包括扫描WiFi、创建wpa_supplicant配置、连接WiFi、安装及配置NFS服务器和客户端,以及编写开机自动连接WiFi和挂载NFS的脚本。
摘要由CSDN通过智能技术生成

一、连接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
      • 输入如下配置内容:
      1. ctrl_interface=/var/run/wpasupplicant
      2. ap _scan=1
      3. network={
      4.   ssid="**"
      5.   psk="***"
      6.   priority=1
      7. }

第一行的目录是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进行修改。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值