TinkerBoard-S 上手体验

情况介绍:因毕设接触一块出厂设置的华硕TinkerBoard-S开发板,闪存默认装有Android系统,从零开始进行配置,最后可实现PC即连、批量设备烧录,过程作该记录,详细请参考官网教程


一、系统启动方式

1、从TF卡启动系统

①到华硕派官网下载最新版的镜像
站点一:http://tinkerboarding.co.uk/wiki/index.php/TinkerOS
站点二:https://www.asus.com.cn/Single-Board-Computer/Tinker-Board-S/HelpDesk_Download/

②下载镜像烧录工具Win32DiskImager,用于刷镜像到TF卡
Win32DiskImager ( http://sourceforge.net)

【注意事项】
①最好用高速TF卡,4G+空间
②如果tf卡非空要提前备份好资料,一旦格式化数据将被全部清空。如果tf卡之前刷过其他系统的,也无需再格式化,直接flash就全部清空并分好区。
③flash后的的TF卡,不能再用作为存储其他东西使用,烧录后识别的空间变小是正常现象。
④如果需要恢复作为原来的TF卡,下载bootsector.img,把bootsector.img镜像烧写入TF卡,成功后会提示TF卡需要格式化,按照默认格式化即可恢复。

链接:https://pan.baidu.com/s/1bmUop4xch9Eq_F9W7jocjQ
提取码:v2t0

③烧写成功后把TF卡插入开发板,调整跳线帽为如下,则开发板会从TF卡加载linux系统(否则默认加载Android系统)

在这里插入图片描述

④接通显示屏、鼠标和键盘,然后接通电源,大约30s后显示Linux桌面


2、从内置闪存启动系统

调整跳线帽为如下,开发板会默认加载闪存里面的系统
在这里插入图片描述


3、通电准备

HDMI接通显示屏(前期配置必须要显示屏)、USB接通鼠标和键盘,然后接通电源,大约30s后显示Linux桌面



二、开发环境配置

1、必要的前提设置、更新

①从左下角菜单中找到LXTerminal终端,打开

②初始化root账户

sudo passwd root

输入root密码

③更换国内软件源
【注意:这一步如果嫌打字麻烦,可以到后面PC端SSH登录后再进行更换哈】

修改配置文件/etc/apt/sources.list,(用nano编辑器,方便粘贴)

sudo nano /etc/apt/sources.list

把原有的注释掉,更换软件源

deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main non-free contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main non-free contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main non-free contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main non-free contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main non-free contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-backports main non-free contrib
deb https://mirrors.tuna.tsinghua.edu.cn/debian-security/ stretch/updates main non-free contrib
deb-src https://mirrors.tuna.tsinghua.edu.cn/debian-security/ stretch/updates main non-free contrib

然后更新软件

sudo apt-get update

sudo apt-get upgrade

④默认部分常用命令只能root用户能用,下面步骤赋予普通用户全部命令使用权利
【注意:退出root用户!一定要在普通用户下执行以下命令!!!不能错!!!】
【注意:退出root用户!一定要在普通用户下执行以下命令!!!不能错!!!】
【注意:退出root用户!一定要在普通用户下执行以下命令!!!不能错!!!】

sudo nano ~/.bashrc

在.bashrc的最底下加入这行:

export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin

然后重启TinkerBoard


2、设置Linux端静态IP

①设置静态IP、网关

sudo vi /etc/network/interfaces

加入(注意:下面后面的中文注释要去掉)

auto eth0 #开机自动连接网络
allow-hotplug eth0 #热启动
iface eth0 inet static #static表示使用固定ip,设定为dhcp表述使用动态ip
address 192.168.1.233 #设置ip地址
netmask 255.255.255.0 #设置子网掩码
gateway 192.168.1.1 #设置网关

在这里插入图片描述

②设置DNS
TinkerBoard的网络配置预置的是国外谷歌的DNS(域名解析服务器):8.8.8.8,如果你连的是手机热点,很大几率会访问不了国内的域名,所以我们要更改DNS配置,加入国内DNS服务器:114.114.114.114

sudo nano /etc/resolv.conf

在最前面,加入

nameserver 192.168.1.1
nameserver 114.114.114.114

注: nameserver:设置DNS第一个为首选,其他为备用DNS

在这里插入图片描述

③重启TinkerBoard

重启后检查eth0的地址是否默认为设定的静态IP


3、设定PC端静态IP

①用网线把开发板和PC主机连接起来

②PC主机将该和开发板连接的网络端口设置静态地址和开发板IP同一个网段,例如·:

Linux端IP:192.168.1.233

PC端IP:192.168.1.123

③尝试互Ping

在这里插入图片描述


4、SSH客户端登录开发板

在进行下面操作之前,必须!先进行第2、3步操作!!!!!!!

①解除开发板SSH登录权限

sudo nano /etc/ssh/sshd_config

②允许登录

找到PermitRootLogin no改成yes(默认应该是被注释掉了,把#注释去掉)

③开启22端口

找到Port 22(默认应该注释掉了,把#注释去掉)

④重启sshd服务

service sshd restart

在这里插入图片描述

⑤SSH客户端登录开发板

用户名:linaro

密码:linaro

主机:(开发板设定的静态地址)

端口:22


5、VNC远程登录桌面

在进行下面操作之前,必须!先进行第2、3步操作!!!!!!!

(1)Linux端配置VNC

前言:VNC服务要求系统具备图形界面,TinkerBoard官网最新的Debian系统镜像内置了是LXDE图形界面,不用再安装(如果是Linux server版本系统需要安装图形界面,方法自行百度,本Blog仅作参考)

①Debian图形界面菜单,开启VNC选项,按照以下步骤图示打开

在这里插入图片描述

在这里插入图片描述
可能会提示设置VNC密码,输入两遍(PC上VNC端登录时用)

②下载VNC

sudo apt-get install tightvncserver

③在终端打开VNC服务

在root用户下开启VNC服务,和在普通用户下开启VNC服务不同,普通用户开的VNC有些敏感操作需要输入密码linaro

创建远程桌面,后面的“1”是第几个远程桌面的意思,对应端口5901,多开时需要递增,下面步骤中“1”和“5901”也要随之更改(例如 > vncserver :2 是创建第二个远程桌面,对应端口5092,以此类推)

第一种开启方法:在linaro用户(普通用户)下,开启VNC

开机可能自动开了一个vnc进程`这个自启的进程杀掉!!!!!不然后面麻烦,不解释

vncserver -kill :1

然后手动重新开一个进程

vncserver :1

在这里插入图片描述
PC端VNC登录密码是刚刚在步骤①那里设置的密码

第二种开启方法:在root用户下开启VNC

先杀掉普通用户原先开的VNC进程

再转root用户,重开VNC进程

可能会提示设置连接密码,输入两遍(PC端登录时用),设置一次以后不用再设置

然后会提示:

Would you like to enter a view-only password (y/n)? n

输入n按回车键Pass掉即可
该提示是“是否仅作显示?”,若选择“y”则PC端登录后,只能看,不能对Linux桌面进行鼠标键盘操作。

在这里插入图片描述

(2)PC端配置VNC

①下载、安装VNC Viewer

网线连接开发板,打开VNC Viewer软件,输入Linux系统IP地址加端口号,通常格式为:xx.xx.xx.xx:5901

VNC服务使用的端口号与桌面号相关,VNC使用TCP端口从5900开始,对应关系如下
桌面号为“1” ---- 端口号为5901
桌面号为“2” ---- 端口号为5902
桌面号为“3” ---- 端口号为5903
……

在这里插入图片描述

首次连接可能会提示“ unencrypted connect”,意思是未加密的连接,日常使用无需在意,点击“Continue”忽略即可。

在这里插入图片描述

②点击Connect连接,在弹出的对话框中输入安装时设置好的连接密码(是连接密码,不是root密码、用户密码),确认登录。

在这里插入图片描述

③登录成功后,出现在你面前的将是经典的LXDE桌面,如下图:

在这里插入图片描述

【注意】用命令行方式开启VNC,PC端可能会出现VNC Viewer不显示任务栏,重启TinkerBoard,重新打开VNC服务,PC端VNC Viewer重新连接;如果出现如上情况,建议大家TinkerBoard开机后第一次创建VNC后不要杀掉,让其运行于后台即可。

6、 FTP互传文件

①安装 FTP 服务端

sudo apt-get install vsftpd

②安装完之后, 需要对其配置文件/etc/vsftpd.conf进行修改

sudo nano /etc/vsftpd.conf

③找到文件中的以下两行语句,把注释去掉:

#local_enable=YES
#write_enable=YES

④然后执行以下命令重新启动 FTP 服务:

sudo service vsftpd restart

⑤然后在PC端用FTP客户端软件(XShell、SecureCRT等)登录

用户名:linaro

密码:linaro

主机:(开发板设定的静态地址)

端口:21


7、Samba共享文件夹

如果用第6种方法,每次更新文件都要搬运,比较繁琐,因此可用Samba共享文件夹

①安装Samba软件包

sudo apt-get install samba samba-common

②修改Samba配置文件: /etc/samba/smb.conf

sudo nano /etc/samba/smb.conf

在文件的结尾加上一段配置:

[Share]
commet = Shared Folder
path = /home/sharefile
public = yes
writable = yes
available = yes
browseable = yes

③创建要分享的目录,并设置目录权限

mkdir /home/sharefile #如已经创建目录可忽略此步骤
chmod 777 /home/sharefile

④将系统中已有的系统用户添加为Samba用户,并设置Samba访问密码
把 username 换成你的用户名,输入命令后,根据指示设置并确认密码

sudo smbpasswd -a username

⑤重启Samba服务

sudo service smbd restart

⑥Windows访问设置好的共享文件夹

在Windows资源管理器地址栏输入Linux的IP\\192.168.1.233,首次访问需要输入刚才设置的samba访问密码,就可以看到刚刚在Linux系统设置的共享文件夹,如下图。

在这里插入图片描述



三、制作.img镜像备份

前言:在Linux系统直接用dd命令生成img镜像比较复杂,出错几率大,不宜推广。因此我研究出一种比较直观,操作简化的方式备份镜像(TinkerBoard-S验证,其他开发板仅作参考)

前提:系统已烧录到闪存(TinkerBoard-S内置闪存为16GB),并且可以启动

①用USB连接电脑和开发板,开发板被识别。

②在电脑制作创建一个空.img文件(创建空.txt文件,然后更改后缀为.img即可)

③把空.img文件放到剩余空间大于16GB的磁盘下(因为读出的.img文件大小和开发板闪存大小一样大)

④用Win32DiskImager,选择刚刚创建的空.img文件,选择盘为开发板识别的盘,按下“读取”(时间较长,大约30分钟)

⑤完成后,img文件变为16GB左右大小

⑥对镜像文件进行裁剪,PiShrink 裁剪

首先把镜像文件放到Linux共享文件夹里,打开虚拟机运行终端,进入共享文件夹

下载pishrink.sh脚本,并且赋予执行限权(脚本和镜像需要在同一个文件夹下)

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh

chmod +x pishrink.sh

然后执行脚本(test.img为镜像文件)

sudo bash pishrink.sh test.img

⑦等待结束后,img文件大小会变小很多(因为只留下了有用的内容)

⑧大功告成!裁剪过的img镜像,可以使用Etcher(或Win32DiskImager)批量烧录入同类设备了。



四、TinkerBoard WIFI AP

两种方法连接wifi,选其一即可,推荐使用第一种方法

1、修改预设文件连接WiFi

电脑USB连接开发板,识别出来一个大概50M左右的盘(电脑识别出来的,其实是开发板系统的boot分区)

在这里插入图片描述

里面有很多文件,其中有一个文件叫wlan_preload.EXAMPLE,这是一个网络预设置的文件,打开看一下:

在这里插入图片描述

翻译一下就是,在主目录下创建一个文件夹命名为:system-connections,然后修改wlan_preload.EXAMPLE文件,并去掉“.EXAMPLE”后缀,另存在system-connections文件夹中。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后断开电脑和开发板的USB连接,开发板连接插头供电开机,就能实现开机自动连接到你预设的WiFi上面,前提是WiFi名和密码填写正确。

2、VNC上操作连接WiFi

在root用户下开启VNC服务,和在普通用户下开启VNC服务权限不同,普通用户开的VNC有些敏感操作需要输入密码linaro

①第一种:PC端登录了linaro用户(普通用户)开启的VNC,如何连WiFi

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

②第二种:PC端登录了root用户开启的VNC,如何连WiFi

在这里插入图片描述在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述


## 2、开启AP

(1)安装依赖包

sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq

(2)安装软件

git clone https://github.com/oblique/create_ap
cd create_ap
sudo make install

提示如下是正常的…没细看,差点以为出错了:

$ sudo make install
install -Dm755 create_ap /usr/bin/create_ap
install -Dm644 create_ap.conf /etc/create_ap.conf
[ ! -d /lib/systemd/system ] || install -Dm644 create_ap.service /usr/lib/systemd/system/create_ap.service
[ ! -e /sbin/openrc-run ] || install -Dm755 create_ap.openrc /etc/init.d/create_ap
install -Dm644 bash_completion /usr/share/bash-completion/completions/create_ap
install -Dm644 README.md /usr/share/doc/create_ap/README.md

(3)创建AP

前提:如果TinkerBoard 之前连了WiFi,先断开(图形界面右下角)

创建一个WPA + WPA2密码的Wi-Fi网络:

sudo create_ap wlan0 eth0 pi 12345678

该命令在wlan0通道上创建一个名为pi的无线网络,密码为12345678.

在这里插入图片描述

这样无线网络创建完成。打开手机即可连接。

(4)拓展命令

在github项目上,给出了使用例子:

无密码(开放网络):

create_ap wlan0 eth0 MyAccessPoint

WPA + WPA2密码:

create_ap wlan0 eth0 MyAccessPoint MyPassPhrase

没有Internet共享的AP:

create_ap -n wlan0 MyAccessPoint MyPassPhrase

桥接互联网共享:

create_ap -m bridge wlan0 eth0 MyAccessPoint MyPassPhrase

桥接Internet共享(预配置的桥接接口):

create_ap -m bridge wlan0 br0 MyAccessPoint MyPassPhrase

通过相同的WiFi接口进行Internet共享:

create_ap wlan0 wlan0 MyAccessPoint MyPassPhrase

选择其他WiFi适配器驱动程序

create_ap --driver rtl871xdrv wlan0 eth0 MyAccessPoint MyPassPhrase

没有使用管道的密码(开放网络):

echo -e “MyAccessPoint” | create_ap wlan0 eth0

使用管道的WPA + WPA2密码短语:

echo -e “MyAccessPoint\nMyPassPhrase” | create_ap wlan0 eth0

启用IEEE 802.11n

create_ap --ieee80211n --ht_capab ‘[HT40+]’ wlan0 eth0 MyAccessPoint MyPassPhrase

客户端隔离:

create_ap --isolate-clients wlan0 eth0 MyAccessPoint MyPassPhrase

(5)系统服务

使用持久化的systemd服务

立即启动服务:

systemctl start create_ap

开机启动:

systemctl enable create_ap

在这里插入图片描述

在这里插入图片描述

遇到问题欢迎留言…

在这里插入图片描述

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值