1. 程式人生 > >友善S5P6818開發板配置ubuntu桌面環境與ROS kinetic全過程

友善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

安裝過程中就出現了一堆問題:


貌似是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問題:


這次我懷疑是他們的4.4版核心有問題,因為在3.4版核心的韌體上包括debian是沒有這些問題的。