PX4源碼分析8:虛擬機中剛剛裝好Ubuntu系統,進行初步系統配置

在使用apt安裝任何軟件包之前,建議使用以下命令更新軟件包列表:sudo apt update

一、將源更換爲“阿里雲”

在這裏插入圖片描述

二、配置終端

配置終端快捷鍵、風格、背景、字體顏色大小等
在這裏插入圖片描述

三、安裝虛擬機VMware Tools

1.首先打開剛安裝好的ubuntu系統,點擊虛擬機下的“安裝 VMware Tool”選項,按下這個選項就好比在電腦的光驅裏放入一個光盤,點擊彈窗裏的“是”,然後桌面會出現一個“DVD”,如圖
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述
2.在桌面的“myfile文件夾”裏新建一個“VMwareTools文件夾”,將DVD裏的所有文件拷貝到這個文件夾裏,如圖:
在這裏插入圖片描述在這裏插入圖片描述
3.將壓縮包提取到此處
在這裏插入圖片描述
4.雙擊打開安裝說明進行查看,文件夾右擊打開終端,輸入sudo ./vmware-tools,回車,接下來一路回車
在這裏插入圖片描述
在這裏插入圖片描述
5.中間有可能會問你ifconfig在哪裏?此時接着輸入vmware-config-tools.pl,然後再一路回車,直到安裝完成,安裝完成後要重啓虛擬機哦!重啓虛擬機同時可以查看原來的安裝VMwareTools按鈕已經變成了重新安裝VMwareTools按鈕!並且桌面會自動匹配大小!證明已經安裝成功!

What is the location of the "ifconfig" program on your machine?
vmware-comfig-tools.pl

安裝完成界面如下:
在這裏插入圖片描述
注:安裝完成後需要重啓ubuntu系統,如果無法拖拽文件,就需要重啓電腦主系統,問題便可解決。

四、安裝搜狗輸入法

可能安裝完成後會遇到亂碼問題,請移步:https://www.tjunk.club/?p=156?(不要把搜狗輸入法放在第一位,放在第二位可以解決問題)p=156https://blog.csdn.net/xiao_sheng_jun/article/details/84073127
1.Ubuntu系統語言配置成中文或英文(如果你英語語感好的話)
在這裏插入圖片描述
2.搜狗輸入法是建立在fcitx框架之上的,所以要將輸入法框架選擇爲fictx
在這裏插入圖片描述
注意:如果沒有fcitx選項,那麼你就需要安裝fcitx框架之後在進行配置,安裝方法如下:

sudo add-apt-repository ppa:fcitx-team/nightly  //添加FCITX倉庫
sudo apt-get update					//更新倉庫
sudo apt-get install fcitx			//安裝fcitx輸入法框架
...
升級了 0 個軟件包,新安裝了 184 個軟件包,要卸載 0 個軟件包,有 3 個軟件包未被升級。
需要下載 161 MB/166 MB 的歸檔。
解壓縮後會消耗 561 MB 的額外空間。
您希望繼續執行嗎? [Y/n] Y 
...
正在處理用於 hicolor-icon-theme (0.17-2) 的觸發器 ...
正在處理用於 libgtk2.0-0:amd64 (2.24.32-1ubuntu1) 的觸發器 ...

配置好輸入法框架之後,重啓ubuntu系統。重啓之後如果配置成功,在任務欄的右上角會出現fcitx的設置選項(ubuntu16.04會在右上角出現一個小鍵盤圖標,ubuntu18.04不會出現小鍵盤圖標,但是會多出5個選項)
在這裏插入圖片描述
在這裏插入圖片描述
3.去搜狗官網下載輸入法for Linux,可以看到有32爲也有64位。
網址:https://pinyin.sogou.com/linux/?r=pinyin
我們使用uname -m命令查看系統參數

heng@U:~$ uname -m
x86_64

x86_64則說明你是64位內核, 跑的是64位的系統.
注:i386, i686說明你是32位的內核, 跑的是32位的系統
查看之後下載相應的版本即可。

sudo dpkg -i sogoupinyin_2.3.1.0112_amd64.deb

遇到問題,需要安裝依賴包libqtwebkit4、libopencc2、libopencc1、fcitx-libs、libfcitx-qt0
E: 有未能滿足的依賴關係。請嘗試不指明軟件包的名字來運行“apt --fix-broken install”(也可以指定一個解決辦法)。
使用apt --fix-broken install這個命令就可以解決下面這些依賴問題。

dpkg: 依賴關係問題使得 sogoupinyin 的配置工作不能繼續:
 sogoupinyin 依賴於 libqtwebkit4;然而:
  未安裝軟件包 libqtwebkit4。
 sogoupinyin 依賴於 libopencc2 | libopencc1;然而:
  未安裝軟件包 libopencc2。
  未安裝軟件包 libopencc1。
 sogoupinyin 依賴於 fcitx-libs | libfcitx-qt0;然而:
  未安裝軟件包 fcitx-libs。
  未安裝軟件包 libfcitx-qt0。

繼續使用sudo dpkg -i sogoupinyin_2.3.1.0112_amd64.deb命令來安裝搜狗輸入法

heng@U:~/桌面/安裝包$ sudo dpkg -i sogoupinyin_2.3.1.0112_amd64.deb
(正在讀取數據庫 ... 系統當前共安裝有 168523 個文件和目錄。)
...
正在處理用於 fontconfig (2.12.6-0ubuntu2) 的觸發器 ...
正在處理用於 hicolor-icon-theme (0.17-2) 的觸發器 ...

安裝完成,重啓ubuntu,可以看到右上角多了一個小鍵盤,並且有很多選項
在這裏插入圖片描述
將搜狗拼音設置成默認輸入法,記住三點:
1.要把搜狗輸入法放在第二行(解釋:若把搜狗放第一,可能會出現待選框亂碼問題)
2.要把美國英語放在第一行(解釋:若)
3.只保留兩行,其餘的都用“-”去掉
在這裏插入圖片描述

五、選用1.8.2版本固件作爲編譯測試案例

電腦最好連接手機熱點或者手機USB共享網絡,能大大提高下載速度,我也不知道爲什麼用手機流量就可以下載得那麼快…
克隆指定的分支:git clone -b 分支名 倉庫地址

heng@U:~/桌面/myfile$ git clone -b v1.8.2 https://github.com/PX4/Firmware.git
正克隆到 'Firmware'...
remote: Enumerating objects: 117, done.
remote: Counting objects: 100% (117/117), done.
remote: Compressing objects: 100% (87/87), done.
remote: Total 318492 (delta 51), reused 52 (delta 29), pack-reused 318375
接收對象中: 100% (318492/318492), 113.53 MiB | 2.20 MiB/s, 完成.
處理 delta 中: 100% (238939/238939), 完成.

使用make px4fmu-v2_default命令進行編譯,但肯定會因爲越少很多組件而無法編譯,下面我們來一點點安裝相關組件

第一步:安裝git

heng@U:~$ sudo apt install git
...
建議安裝:
  git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk
  gitweb git-cvs git-mediawiki git-svn
下列【新】軟件包將被安裝:
  git git-man liberror-perl
升級了 0 個軟件包,新安裝了 3 個軟件包,要卸載 0 個軟件包,有 3 個軟件包未被升級。
需要下載 4,741 kB 的歸檔。
解壓縮後會消耗 34.0 MB 的額外空間。
您希望繼續執行嗎? [Y/n] Y
...
正在設置 git (1:2.17.1-1ubuntu0.7) ...
正在處理用於 man-db (2.8.3-2ubuntu0.1) 的觸發器 ...
heng@U:~$ git --version
git version 2.17.1

使用git --version命令可查看安裝版本爲2.17.1

第二步:安裝make

使用超方便的apt安裝make

heng@U:~$ sudo apt install make

安裝好後輸入:make -v

heng@U:~$ make -v
GNU Make 4.2.1
爲 x86_64-pc-linux-gnu 編譯
Copyright (C) 1988-2016 Free Software Foundation, Inc.
許可證:GPLv3+GNU 通用公共許可證第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。
本軟件是自由軟件:您可以自由修改和重新發布它。
在法律允許的範圍內沒有其他保證

可以看到現在的make版本是4.2.1,說明安裝成功!

第三步:安裝make-guile

heng@U:~$ sudo apt install make-guile
...
正在解包 make-guile (4.1-9.1ubuntu1) ...
正在設置 make-guile (4.1-9.1ubuntu1) ...
正在處理用於 man-db (2.8.3-2ubuntu0.1) 的觸發器 ...

make-guile安裝完畢

第四步:安裝cmake

使用超方便的apt安裝cmake

heng@U:~$ sudo apt install cmake

安裝好後輸入:cmake --version

heng@U:~$ cmake --version
cmake version 3.16.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).

可以看到現在的cmake版本是3.16.3,說明安裝成功!

第五步:安裝arm-none-eabi-gcc compiler

採用自動安裝的方式

heng@U:~$ sudo apt install gcc-arm-none-eabi

安裝完成後,採用如下命令查看安裝的版本。

heng@U:~$ arm-none-eabi-gcc -v
gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (15:9-2019-q4-0ubuntu1)

可知安裝的版本爲9.2.1,發佈於2019年10月25日

第六步:安裝genromfs

依然採用自動安裝的方式來安裝

heng@U:~$ sudo apt install genromfs

安裝完成後,查看版本等信息

heng@U:~$ genromfs -h
genromfs 0.5.2
Usage: genromfs [OPTIONS] -f IMAGE
Create a romfs filesystem image from a directory
...

由此可知,安裝的版本爲0.5.2,說明安裝成功!

第七步:安裝python-jinja2

heng@U:~$ sudo apt-get install python-jinja2
...
將會同時安裝下列軟件:
  libpython-stdlib python python-markupsafe python-minimal python-pkg-resources
  python2.7 python2.7-minimal
建議安裝:
  python-doc python-tk python-jinja2-doc python-setuptools python2.7-doc
  binfmt-support
下列【新】軟件包將被安裝:
  libpython-stdlib python python-jinja2 python-markupsafe python-minimal
  python-pkg-resources python2.7 python2.7-minimal
升級了 0 個軟件包,新安裝了 8 個軟件包,要卸載 0 個軟件包,有 3 個軟件包未被升級。
需要下載 411 kB/1,953 kB 的歸檔。
...

第八步:安裝python-empy

heng@U:~$ sudo apt-get install python-empy
E: 無法定位軟件包問題

有可能會出現無法定位軟件安裝包的問題(如果沒出現這個問題,直接跳過這個步驟),這時候我們需要 添加鏡像源 deb http://archive.ubuntu.com/ubuntu/ trusty main universe restricted multiverse,然後:

heng@U:~$ sudo apt-get update

接下來接着安裝

heng@U:~$ sudo apt-get install python-empy
...
下列【新】軟件包將被安裝:
  python-empy
升級了 0 個軟件包,新安裝了 1 個軟件包,要卸載 0 個軟件包,有 1 個軟件包未被升級	
需要下載 71.8 kB 的歸檔。
解壓縮後會消耗 328 kB 的額外空間。
...
正在解壓 python-empy (3.3-8) ...
正在設置 python-empy (3.3-8) ...
正在處理用於 man-db (2.9.1-1) 的觸發器 ...

安裝完成

第九步:安裝pip(這一步至關重要)

heng@U:~$ sudo pip install catkin_pkg
sudo: pip:找不到命令的問題

出現這個找不到pip命令的提示,很大一種可能是因爲沒有安裝pip,下面就對pip進行安裝

heng@U:~$ sudo apt install python-pip
...
將會同時安裝下列軟件:
  build-essential dpkg-dev fakeroot g++ g++-7 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libexpat1-dev libfakeroot
  libpython-all-dev libpython-dev libpython2.7-dev libstdc++-7-dev python-all
  python-all-dev python-asn1crypto python-cffi-backend python-crypto
  python-cryptography python-dbus python-dev python-enum34 python-gi python-idna
  python-ipaddress python-keyring python-keyrings.alt python-pip-whl
  python-secretstorage python-setuptools python-six python-wheel python-xdg
  python2.7-dev
建議安裝:
  debian-keyring g++-multilib g++-7-multilib gcc-7-doc libstdc++6-7-dbg
  libstdc++-7-doc python-crypto-doc python-cryptography-doc
  python-cryptography-vectors python-dbus-dbg python-dbus-doc python-enum34-doc
  python-gi-cairo libkf5wallet-bin gir1.2-gnomekeyring-1.0 python-fs python-gdata
  python-keyczar python-secretstorage-doc python-setuptools-doc
下列【新】軟件包將被安裝:
  build-essential dpkg-dev fakeroot g++ g++-7 libalgorithm-diff-perl
  libalgorithm-diff-xs-perl libalgorithm-merge-perl libexpat1-dev libfakeroot
  libpython-all-dev libpython-dev libpython2.7-dev libstdc++-7-dev python-all
  python-all-dev python-asn1crypto python-cffi-backend python-crypto
  python-cryptography python-dbus python-dev python-enum34 python-gi python-idna
  python-ipaddress python-keyring python-keyrings.alt python-pip python-pip-whl
  python-secretstorage python-setuptools python-six python-wheel python-xdg
  python2.7-dev
升級了 0 個軟件包,新安裝了 36 個軟件包,要卸載 0 個軟件包,有 3 個軟件包未被升級。
需要下載 43.9 MB 的歸檔。
解壓縮後會消耗 98.1 MB 的額外空間。
您希望繼續執行嗎? [Y/n] Y
...
正在設置 g++ (4:7.4.0-1ubuntu2.3) ...
update-alternatives: 使用 /usr/bin/g++ 來在自動模式中提供 /usr/bin/c++ (c++)
正在設置 python-secretstorage (2.3.1-2) ...
正在設置 python-keyring (10.6.0-1) ...
正在設置 build-essential (12.4ubuntu1) ...
正在處理用於 man-db (2.8.3-2ubuntu0.1) 的觸發器 ...
正在處理用於 libc-bin (2.27-3ubuntu1) 的觸發器 ...

至此pip安裝完成

heng@U:~$ pip --version
pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

輸入pip --version可得知安裝的版本爲9.0.1

第九步:安裝catkin_pkg

heng@U:~$ sudo pip install catkin_pkg
...
Running setup.py install for catkin-pkg ... done
Successfully installed catkin-pkg-0.4.17 docutils-0.16 pyparsing-2.4.7 python-dateutil-2.8.1

至此catkin_pkg已經安裝完成

第十步:安裝numpy、toml

heng@U:~$ sudo pip install numpy toml
...
Installing collected packages: numpy, toml
Successfully installed numpy-1.16.6 toml-0.10.0

至此numpy、toml已經安裝完成,且numpy的版本號爲1.16.6,toml的版本號爲0.10.0

附錄:解決“找不到pip命令”的問題(如果已經安裝pip還是沒用)

heng@U:~$ sudo pip install catkin_pkg
sudo: pip:找不到命令的問題

1.vi命令編輯 /etc/sudoers 文件,將 Defaults env_reset ,改爲 Defaults !env_reset,並按“ctrl+O”保存

//或者sudo visudo -f /etc/sudoers
heng@U:~$ sudo visudo /etc/sudoers

在這裏插入圖片描述
2.vi命令編輯.bashrc文件

sudo vi ~/.bashrc

待續…

第八步:安裝python

heng@U:~$ sudo apt install python

安裝完成後查看版本

heng@U:~$ python -v
Python 2.7.18rc1 (default, Apr  7 2020, 12:05:55) 
[GCC 9.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.

由此可知安裝的版本爲2.7.18rc1

第步:安裝pip

heng@U:~$ sudo apt-get install pip

但是運行結果卻是:

heng@U:~$ sudo apt-get install pip
[sudo] heng 的密碼: 
正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹       
正在讀取狀態信息... 完成       
E: 無法定位軟件包 pip

無法定位軟件包 pip

第步:修改/etc/sudoers

heng@U:~$ sudo visudo /etc/sudoers

進入到如下界面

將env_reset改成!env_reset,並按“ctrl+O”保存

heng@U:~$ sudo visudo /etc/sudoers
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章