感谢电子发烧友平台组织本次试用活动,感谢塞昉科技提供的VisionFive2开发板。
本文首先放两张开箱图,然后分别介绍Debian系统系统安装和调整、软件源更新、常用软件安装,添加用户以及SSH登录。其中,系统安装和调整部分,包括串口登录、查看硬件和系统信息、扩展分区和文件系统、联网查看IP地址、设置时区和时间。软件源更新部分,包括apt update报错ESPKEYSIG的解决、更换国内软件源、找到最快的软件源。常用软件包安装部分,包括温度监控、图形化性能监控、常用开发工具 软件的安装。添加用户和SSH登录部分,包括添加用户、添加sudo权限、允许root用户通过SSH登录。
一、简单开箱
1.1 包装和外观
包装盒外观挺好看:
打开包装盒,里面看起来也很精致:
1.2 硬件简介
开发板核心元器件:
- CPU:惊鸿7110 RISC-V 四核64位RV64GC,2 MB二级缓存,最高频率1.5 GHz
- GPU:Imagination IMG BXE-4-32 MC1,最高频率 600MHz
- RAM:4GB,另外还有2GB和8GB版本
- 存储: 16MB SPI Flash,用于存储固件;另外还有Micro SD卡槽和eMMC插座;
1.3 接口简介
主要接口:
- 4个USB 3.0;
- 2个RJ45网口;
- 1个HDMI 2.0接口;
- 1个3.5 mm音频接口;
- 1个2-lane MIPI CSI
- 1个2-lane MIPI DSI
- 1个4-lane MIPI DSI
- 1个40pin接口;
二、Debian系统安装和调整
开箱之后,第一时间需要进行的就是准备烧录系统,以及对系统进行一些简单的调整。烧录系统,这里我采用的是树莓派玩法——即使用SD卡烧写镜像。完成系统烧录后,我将介绍串口登录、查看硬件和系统信息、扩展分区和文件系统、联网查看IP地址、设置时区和时间。这些操作基本上是大家拿到开发板之后,第一时间希望了解的。
2.1 烧写镜像
参考官网文档《昉·星光2单板计算机快速参考手册》: https://doc.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf
镜像下载页面: https://debian.starfivetech.com/
烧写参考官方文档,官方文档很详细,参考一下没啥问题。
我这里用的Rufus软件:
Rufus软件上,点蓝色书型图标可以看到日志,烧写完成后,日志窗口可以看到分区情况:
可以看到,SD卡是64GB的,一共是4个分区,最大的Partition 4也只有2.5GB,并没有充分用到这张64GB的卡。
2.2 串口登录
串口登录,需要用USB转UART将PC连接到开发板40pin接口的UART上,具体参还是参考官方的VisionFive2_QSG.pdf;具体位于3.4.3. 使用USB转串口转换器连接并登录 一节;
连接方式:
PS:地线连接其他GND也可以。
串口参数:
- 波特率: 115200
- 数据位:8
- 停止位:1
- 奇偶校验位:none
启动日志输出结束,进入登录提示:
默认用户root,密码starfive;
成功登录系统!
2.3 查看硬件和系统信息
CPU:
内存:
磁盘:
2.4 扩展分区和文件系统
初次登录系统,查看分区和文件系统大小:
lsblk可以看到SD卡识别到是58.3GB,标称的64G单位是GiB,而系统用的是GB,二者存在一定差异。
因此: 对于使用大于4GB的SD卡的,建议调整分区和文件系统大小 ;
仍然是参考官网文档《昉·星光2单板计算机快速参考手册》,4.2. 在SD卡和eMMC上扩展分区节有详细说明,这里仅作一个流程记录。
首先,fdisk -l 查看所有分区:
结果和 lsblk 命令看到的类似,多了 /dev/mtdblkX ,这些是板载SPI Nor Flash上的分区,不用管。
使用命令: fdisk /dev/mmcblk1 ,进入交互式 fdisk 命令行:
提示m用于查看帮主信息:
接下来,打印分区表(p命令):
接下来,删除最后一个分区(d命令):
接下来,创建新分区(n命令):
中间三步提示的数字都是对的,可以不输入,直接回车;
最后问是是否删除signature(分区标头),选择N,不要删除;
以上都正确操作后,写入操作修改(w命令):
直到这里,前面的操作才全部生效(最后一步相当于确认,可以一定程度防止误操作)。
此时,lsblk命令,可以看到 /dev/mmcblkp4 这个分区已经编程 58.2G了:
接下来,扩展文件系统大小:
操作之后,再次df -h查看文件系统:
已经变大了。
2.5 联网查看IP地址
接下来插上网线,可以看到串口有内核日志输出:
查看IP地址:
2.6 设置时区和时间
查看时区和时间:
设置时区,dpkg-reconfigure tzdata 命令,进入交互式命令行界面:
首先选择 亚洲 回车,然后选择 上海:
时区切换成功,时间已经正确了(有NTP联网对时):
如果没有成功联网对时,使用 date -s 命令手动设置时间也是可以的。
三、Debian软件源更新
完成了系统安装和调整后,接下来就需要安装一些常用的软件了。但在安装软件包之前,需要先将软件源切切换为国内的,可以加速后续的软件包安装过程。
3.1 apt update 报错EXPKEYSIG解决方法
初次运行apt update可能会遇到EXPKEYSIG报错,如下图所示:
原因是签名过期了。
【解决方法】安装当前发型版(bookwarm)最新的 debian-ports-archive-keyring 包即可。
可以从这里搜索到该软件包: https://www.debian.org/distrib/packages
国内下载连接: http://ftp.cn.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2023.02.01_all.deb
下载命令和安装命令:
wget http://ftp.cn.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2023.02.01_all.deb
dpkg -i debian-ports-archive-keyring_2023.02.01_all.deb
实际运行:
3.2 更换国内软件软件源
可以将软件源替换位国内的,加速apt install下载速度。
首先,查看当前软件源配置:
然后,将其备份为/etc/apt/sources.list.bak:
接着,替换为阿里源:
然后,更新包索引:
3.3 netselect 找最快的软件源
国内提供RISC-V架构支持的debian-ports软件源:
接下来使用 netselect 测试一下哪个更快一点。
安装:apt install netselect
测试:
显示腾讯速度比较快。
更新,换成腾讯源:
更新包索引:
四、常用软件包安装
完成软件源更新后,就可以丝滑的安装常用软件了。
4.1 温度监控lm-sensors
包管理网站(https://packages.debian.org/)上搜索 sensors ,可以找到报名: lm-sensors
安装命令:
apt install lm-sensors
安装后,就有sensors命令了,可以查看JH7110片内温度:
4.2 图形化监控性能htop
安装命令:
apt install htop
htop比传统的top功能强大很多。
安装之后,就可以使用htop查看CPU、内存占用量、开机时间,以及正在运行的进程信息了:
4.3 安装常用开发工具
安装命令:
apt install build-essential cmake g++ vim
安装完这些工具,就可以在VisionFive2上编译代码了。
比如写一个简单的C++的Hello, World,编译运行:
4.4 更新软件包
apt update之后,会提示有多少个软件包可以更新,
如果想更新,则可以使用该命令: apt upgrade
该命令可以更新所有有新版本的软件包。
注意:如果网络环境不好,耗时较长,不建议轻易尝试。另外,部分软件包新版本的配置文件和当前系统版本的配置文件可能会 不一致,安装过程中需要谨慎处理 ,例如uboot参数需要保持原来的,不能用新版本覆盖。
五、添加用户和SSH登录
安装完常用软件之后,你可能会让VisionFive2开发板做为一个小型服务器,随时可以登录访问。
如果想用VisionFive2板子长期带电运行,建议不外接显示器,通过网络登录系统,还可以买个配套的CNC铝合金外壳装起来。
通过网络登录系统,最常用的就是SSH协议了,当然还有VNC登录桌面,以及Telnet(不推荐)。但出于安全星考虑,默认的SSH服务配置不允许root用户登录(root权限可以随意删除其他用户的文件,以及系统文件)。因此,建议添加普通用户,需要root权限则将其加入到sudo组中;当然,如果不考虑安全性,修改ssh服务配置,运行root用户登录也是可以的(不推荐)。
5.1 添加用户
添加用户,建议用 adduser USERNAME 命令,具有交互式的提示,使用更方便(虽然用useradd也可以):
5.2 添加sudo组权限
使用 usermod -aG sudo USER 命令,可以将 USER 用户添加到 sudo 组中。
PS:发现默认的 PATH 里面没有 /user/sbin ,所以直接输入 usermod 提示没有命令,实际上是有的。解决方法也很简单,手动在 /etc/profile 文件的最后加上一行即可:
export PATH="$PATH:/usr/sbin"
5.3 允许root用户通过SSH登录
打开 /etc/ssh/sshd_config 文件,向其中添加一行:
PermitRootLogin yes
重启ssh服务:
service ssh restart
之后,root用于也可以使用ssh协议登录了:
这里用的Win10自带的ssh命令。
六、参考链接
- VisionFive2中文文档汇总入口: https://wiki.rvspace.org/zh/project/Document_Publish_Status
- VisionFive2 Debian镜像下载: https://debian.starfivetech.com/
- JH7110产品概述: https://doc.rvspace.org/JH7110/PDF/JH7110_PB.pdf
- 昉·星光2数据手册:https://doc.rvspace.org/VisionFive2/PDF/VisionFive2_DS.pdf
- 昉·星光2单板计算机快速参考手册:http://doc.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf