友善S5P6818开发板配置ubuntu桌面环境与ROS kinetic全过程

    友善提供的可用的固件有ubuntu core 16(arm64)、ubuntu core 16(armhf)、Lubuntu desktop(armhf)、debian jessie desktop(armhf)。关于armhf和arm64的区别,请参阅点击打开链接。值得一提的是,他们固件的kernel分两个版本,一个3.4一个4.4版,debian固件的kernel就是3.4版的,ubuntu core 16(armhf)有两种内核版本,ubuntu core 16(arm64)只有kernel 4.4版。

1.ubuntu core 16(arm64)

    最开始安装了ubuntu core 16(arm64),没有桌面,没有GUI,只有命令行操作,使用起来非常不方便,编辑什么文档一定要使用vim。安装好系统后,第一步是更换国内的镜像源,国内ubuntu arm平台的镜像源只有清华和中科大有,选择一个就可以。方法是修改"/etc/apt/sources.list"文件的内容,使用指令:

sudo vim /etc/apt/sources.list

将其中的内容替换为:

deb http://mirrors.ustc.edu.cn/ubuntu-ports/  xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/  xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/  xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/  xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-ports/  xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/  xenial-security main restricted universe multiverse

然后保存退出,执行更新即可:

sudo apt-get update

    根据官网教程安装ROS,ROS可以成功安装,但是和GUI相关的功能如rviz rqt等无法使用。然后就想着自己装一个桌面环境,第一想到的是树莓派上常用的ubuntu mate,这是一个轻量级的ubuntu桌面,安装命令为:

sudo apt-get install ubuntu-mate-core ubuntu-mate-desktop

除此之外,还需安装桌面显示管理器:

sudo apt-get install lightdm

安装过程中就出现了一堆问题:

友善S5P6818开发板配置ubuntu桌面环境与ROS kinetic全过程_第1张图片

貌似是arm64平台的动态链接库缺少或者不适配什么的,暂时放弃这个系统。

2.Lubuntu desktop(armhf)

    然后尝试Lubuntu desktop,此系统使用LXDE桌面环境,也是一个轻量级的桌面。但是这个系统使用起来有很多问题,最大的问题是桌面操作非常不流畅,拖动桌面一卡一卡的,客服说Lubuntu的桌面性能就这样了,可能和显示驱动有关;ROS倒也安装成功了,但是rviz等gui工具无法启动,怀疑和此桌面环境有关系。最后也放弃这个固件。

3.Debian jessie desktop(armhf)

    之后又尝试debian jessie desktop系统,此系统使用gnome为桌面环境,流畅度比Lubnutu高了很多。此系统默认安装了vncserver,但还是需要修改一下.vnc/xstartup文件才能解决远程连接桌面出现灰屏的问题。在安装ROS的时候才发现ROS kinetic并不支持armhf平台的debian系统(只支持arm64平台),所以ROS在这里无法安装,也放弃了这个固件。

4.ubuntu core 16(armhf)

    最后还是刷回ubuntu core 16,这次我使用armhf的版本,再次安装ubuntu mate桌面环境,终于这次没有出现那些问题,安装成功后稍微配置一下.vnc/xstartup文件就可以远程连接到mate桌面,下面是我的xstartup文件内容:

#!/bin/sh

# Uncomment the following two lines for normal desktop:
#unset SESSION_MANAGER
#exec /etc/X11/xinit/xinitrc

[ -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 &
mate-session &

参考网上的教材可以把vncserver配置为开机自启点击打开链接:在 /etc/profile.d文件夹,创建文件vnc_startup.sh,内容为"vncserver -geometry 1280x720 :1",-geometry参数可以设定启动桌面的分辨率,默认为800x600,这里设置为1280x720。随后根据官网教程安装ROS即可点击打开链接,需要注意的就是建议安装非完整的ros,因为这么小一块arm开发板的资源是绝对不够运行gazebo仿真环境的。

sudo apt-get install ros-kinetic-desktop
按这个安装,rqt rviz等gui工具都可以正常使用。

    后来才发现ubuntu core 16 armhf友善提供kernel3.4版和4.4版的固件,仔细一看我之前刷的ubuntu core 16 armhf固件是3.4版的内核。所以我又尝试刷了4.4版的固件,想看看有什么区别,结果是安装mate桌面环境的时候就失败了,报错信息依然是和之前在arm64系统上类似的ldconfig问题:

友善S5P6818开发板配置ubuntu桌面环境与ROS kinetic全过程_第2张图片

这次我怀疑是他们的4.4版内核有问题,因为在3.4版内核的固件上包括debian是没有这些问题的。    

你可能感兴趣的:(友善S5P6818开发板配置ubuntu桌面环境与ROS kinetic全过程)