文章目录
前言
随着国内科技研发人员和人才越来越多,强大的国产开发板也走进了国人的视野中,其中Firefly萤火虫开源的许多主板产品逐渐对标著名的树莓派,致力于人工智能、智能硬件、嵌入式开发、系统开发、应用程序开发等研发(Firefly开源团队打钱!)。
目前还是个视觉小白,最近在跟书开发视觉项目实例,碰巧身边有块Firefly的ROC-RK3328-CC板子,于是开始了刷系统及远程管理(还不是为了不用搞多一套键盘鼠标+小屏幕)的工作。
但是这个过程尤为艰辛,历经5天,差点就想直接入手树莓派4B了(说明一下,在树莓派最新的4B开发板问世之前,这板子的性能比树莓派的好很多),在此要吐槽一下官方,《开发手册》真的不行,写得太笼统了,玩的人少,资料不多,新手学习和开发的难度大,找开发资源也好难。
(你要说,这不是给新手玩的啊。那我直接respect+salute好吧。)
一、准备工作
这就是那块让我“魂牵梦绕”的ROC-RK3328-CC板,因为官方对其性能的描述,让很多开发者对其产生了幻想,包括我,为了那些还在Firefly路上的小伙伴们写下这篇帖,也在研发生涯中留下痕迹,也希望有dalao能在评论区指点一下我文中的一些疑问,相互交流,为科学技术的发展做贡献!!!
硬件设备:Firefly ROC-RK3328-CC(以下简称:板子)、32G SD卡、读卡器、串口下载工具(usb转ttl)、无线网卡
软件准备:VNC Viewer(PC端)、balenaEtcher(PC端)、putty(PC端)、ubuntu18.04-LXDE(从Firefly官网下载)
我选择的是LXDE版的Ubuntu,轻量级,够用就行;SD卡我选的比较大,毕竟玩视觉的,还是需要点内存的。
Firefly官网:http://wiki.t-firefly.com/zh_CN/ROC-RK3328-CC/intro.html(其他相关资料也可从此网站浏览)
VNC官网:https://www.realvnc.com/en/connect/download/viewer/
二、烧录系统
1.下载对应的烧写工具
按照官方的说法,固件分为原始固件和RK固件,具体什么区别请自行学习哈。
我选择的ubuntu18.04-LXDE属于原始固件,于是选用了Etcher进行烧录,用读卡器接入PC端,打开软件烧录即可。
注:如果选择了RK固件请使用烧写RK固件的工具进行烧写,我在摸索时打算烧写ubuntu 18.04-GPT,如果用烧写原始固件的Etcher烧录就会弹出“注意/提示”,因为GPT版本比原始固件的分区等较为复杂,所以不能同非对应的烧写工具刷系统(ubuntu 18.04-GPT烧录完系统还需要编译软件包,好麻烦,我没打算长久用这个,故直接LXDE轻量级桌面,对系统需求的高的小伙伴请刷写GPT)。
烧进SD卡后,软件会自动提示完成烧录Flash。
2.启动系统
将烧好的SD卡插入板子中,然后用串口工具连接PC作为信号传输,电源口外接5V 2A+的电源适配器(我牺牲了我的华为的充电器,没得边学习爱边摸鱼了)作为电源输入(电脑的usb口供电不足,放弃吧)。
当红灯和黄灯同时亮起时,说明系统正常开机;如果没有请检查供电和接线问题(我不会告诉你我第一次也线没接对的)。
此时,正常开机,意味着刷系统部分结束。
三、连接Windows和远程管理可视化桌面
刷写完系统后,我们当然要登陆和可视化才可以更好的管理我们的系统,知道它在做什么。
1.连接putty
这个简单,打开putty,选择Serial,给板子进行上电和连接PC。随后设置板子接入电脑的串口,设置波特率为1500000(一百五十万)。下面那一栏可以设置保存(Save)一下,名字胡乱写吧,下次直接载入(Load)这些数据就可以使用。
2.在putty下联网
载入putty后其实啥也没有,就这。
不过你如果是刚开机接入的话,会是这样的,其实没啥关系。
进去后,疯狂回车。出现了你的板子用户名就是正常的;疯狂回车毫无反应就有问题了,从接线、电压、串口等入手解决。
脸上板子后,我出现了一个未知名错误:
usb usb5-port1:cannot disable (err = -32)
经过实验室的一个大神指点,虽然不知这个是什么原因(希望有清楚原因的dalao在评论区里指点一二),但是可以降低debug等级来让窗口屏蔽此错误信息:
echo 0 > /proc/sys/kernel/printk
随后,开始搜索WiFi网络,前提是你的板子上插上了无线网卡,然后请接上手机热点,Ubuntu十大未解之谜,连vpn都不一定有手机热点管用,不连手机热点各种报错,手机热点是对于Ubuntu是真的无敌,普通且自信好吧。
iwlist scanning | grep ESSID //搜索可用wifi
nmcli device wifi connect wifiname password wifipasswd //连接WiFi,WiFiname为你想接入的WiFi名,WiFipasswd为密码
连上后有一长串反馈,其中有个successfully就说明成功了(英语学渣)。
3.重点!!!安装桌面环境及VNC
默认情况下,Ubuntu18.04桌面版安装的是GNOME桌面环境而Ubuntu 18.04服务器并没有安装图形化桌面环境或VNC服务器。故,我们将为Ubuntu18.04服务器安装最新的Xfce桌面环境,外加使用官方Ubuntu软件存储库安装TightVNC。
我最开始安装了什么GNOME、LXDE等等桌面环境,最后VNC都用不了,用不了VNC我要你们这些桌面环境干嘛?我putty又用不了你们这些桌面环境,还有,lxde版本装LXDE桌面环境竟然用不了VNC,是我菜还是Firefly要出来解释一下官方给的映像文件有啥问题(也可能是因为我菜,毕竟配置文件看不懂,后面会涉及这部分内容)。
来,开始装。
首先,update一下:
sudo apt update
随后进行安装Xfce桌面环境:
sudo apt install xfce4 xfce4-goodies
接下来是安装TightVNC服务器:
sudo apt install tightvncserver
安装完成后,执行以下命令设置VNC服务的密码(密码只能是6-8字节),重复输入两次,之后会询问是否设置个人密码,我设置成了一样的:
vncpasswd
设置完密码后,可以先执行一次,看是否安装成功:
vncserver
第一次运行会生成一系列配置文件,我们需要配置~/.vnc/xstartup
文件,说实话,我看不懂这个文件,我配置了很多次以后才出现了正常的界面,揉捏了很多个博主的文件内容,你们参考一下,希望有大神指导:
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
xsetroot -solid grey
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
# Fix to make GNOME work
export XKL_XMODMAP_DISABLE=1
/etc/X11/Xsession
#!/bin/sh
# wing two lines for normal desktop:
#unset SESSION_MANAGER
# exec /etc/X11/xinit/xinitrc
#gnome-session --session=gnome-classic &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
x-window-manager &
sesion-manager & xfdesktop & xfce4-panel &
xfce4-menu-plugin &
xfsettingsd &
xfconfd &
xfwm4 &
startlxde &
/usr/bin/ibus-daemon -d &
改变一下xstartup的权限:
这个问题是很多人容易忽视的问题,也是造成连接成功后黑屏的原因之一。
所以需要执行:chmod 777 ~/.vnc/xstartup
重启一下板子:
sudo reboot
随后,启动VNC服务,查看是否正常:
vncserver
我一般直接开2端口进行使用,指定开启某一个端口的命令如下:
vncserver :2 //以2号端口为例
注:每次配置完~/.vnc/xstartup文件后,要重新开启vnc端口,如果在配置前忘了关闭,配置后应重新关闭后再开启,关闭特定vnc端口的命令:
vncserver -kill:2 //以2号端口为例
4.Windows10系统通过VNC连接Ubuntu系统
在Windows和ROC-RK3328-CC的Ubuntu中安装好VNC后,先开启Ubuntu系统中的VNC:
vncserver :2 //以2号端口为例
同时查看Ubuntu系统的IP地址:
ip addr |grep inet |grep brd |awk '{ print $2}' |awk -F "/" '{ print $1}'
ip地址随着接入服务器和网关的不同会有所变化,但是接入的是同一台电脑的话是不会变的。
随后,打开PC端的VNC,点击左上角的“File”-“New connection”创建新的链接:
VNC Server:填写刚才在Ubuntu系统中获取的IP地址,同时加上端口号;
Name:随便命名,开心就行;
其他配置默认即可。
我的配置如下图所示:
配置好后,点击ok,便可以进入系统。
进入系统后,首先可能会有个提醒,其实没什么大碍,就是说这样的连接可能不太安全,直接点击“Continue”即可,顺便勾选不再提醒。
随后需要你填写刚才在Ubuntu系统中设置的6-8位密码,便可以进入系统,幸运的话,会有如下界面:
第一次进入,点击左边的选项“使用默认配置”,就会得到一个带有默认配置的XFCE桌面。
如果出现了上述界面,并完成了第一次进入系统,那本教程使用VNC在Ubuntu 18.04上安装VNC并连接Windows10的内容已经结束啦。
接下来是我自己的问题了,实际上,我第一次进入后,就已经报错,并且至今还是报错的。我第一次点击默认配置后的界面如下:
底端的选项有两个缺失,一个是终端选项,一个是Web浏览器选项。
至今连接后,仍会有这样的错误提示:
将错误提示关闭后,忽视浏览器和终端底端按钮问题的话,也倒能用,个人怀疑是xstartup文件配置的问题,希望有dalao解答一下应该如何配置,或者希望有小伙伴看到文件配置教程和指导可以转发给我,感激不尽!!!
祝大家科研加油!
四、Reference
- https://blog.csdn.net/qqliuzhitong/article/details/114585411
- https://blog.csdn.net/weixin_36079835/article/details/112237302
- https://blog.csdn.net/chenguang_work/article/details/86241361