前言:最近在和百度Apollo合做,Apollo的人很nice,你們都在全力幫助咱們解決問題。但Apollo系統有點難搞,安裝起來很費勁,爲了不再次踩坑,留下筆記,流傳後人,O(∩_∩)O。linux
1. 程序版本:git
百度網盤:連接: https://pan.baidu.com/s/1z86gFcDqRyUpnzAc7q5K3g 提取碼: b8i2github
2. 安裝:docker
備份源:ubuntu
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
編輯源列表:vim
$ sudo vim /etc/apt/sources.list
複製源列表到source.list(如下是ubuntu14.04的源):bash
deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
更新網絡
$ sudo apt-get update; sudo apt-get upgrade
安裝內核:curl
$ sudo apt-get install linux-generic-lts-xenial
在個人百度網盤中下載linux-4.4.32-apollo-1.5.0.tar.gz,運行:ide
$ tar zxvf linux-4.4.32-apollo-1.5.0.tar.gz
$ cd install
$ sudo bash install_kernel.sh
$ sudo reboot
重啓後,應該是安裝ESDCAN卡驅動,但我沒有,因此就略過去了。
提示:我在安裝過程當中,沒有去弄blacklist.conf,應該沒有問題。
安裝驅動:這裏筆記本和臺式機、工控機有些不同,筆記本須要在最後加上--no-opengl-files,防止無限登錄 ;臺式機與工控機不須要。
$ sudo chmod a+x NVIDIA-Linux-x86_64-375.39.run
$ sudo bash ./NVIDIA-Linux-x86_64-375.39.run --no-x-check -a -s --no-kernel-module --no-opengl-files
查看nvidia版本
$ nvidia-smi
若是版本號顯示爲375.39,那麼安裝成功。
$ sudo chmod a+x cuda_8.0.61_375.26_linux.run
$ sudo sh cuda_8.0.61_375.26_linux.run
安裝過程當中,會有若干選項,請留意,若是遇到是否安裝驅動,請選擇n。最後應該回讓你選擇是否安裝CUDA_sample,爲了節約安裝時間,我選擇了n。
解壓cudnn-8.0-linux-x64-v7.tgz
$ tar -xzvf cudnn-8.0-linux-x64-v7.tgz
拷貝cuDNN下的.h與.so到CUDA目錄下
$ sudo cp cuda/include/cudnn.h /usr/local/cuda/include
$ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn.h
$ sudo chmod a+r /usr/local/cuda/lib64/libcudnn*
到此,系統應該配置完了。
更新
$ sudo apt-get update
安裝一個包,容許apt訪問https。
apt-transport-https $ sudo apt-get install ca-certificates curl software-properties-common
添加docker官方GPG key:
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
驗證
$ sudo apt-key fingerprint 0EBFCD88
創建倉庫。
"deb [arch=amd64] https://download.docker.com/linux/ubuntu $ sudo add-apt-repository $(lsb_release -cs) stable"
更新
$ sudo apt-get update
安裝最新的docker-ce
$ sudo apt-get install docker-ce
驗證docker是否安裝成功
$ sudo docker run hello-world
爲了讓docker運行在非管理員權限下,創建docker group
$ sudo groupadd docker
添加用戶到docker group
$ sudo usermod -aG docker $USER #這裏的$USER替換爲本身的用戶名。
$ sudo reboot
驗證沒有經過管理員訪問docker
$ docker run hello-world
下載Apollo
$ git clone https://github.com/ApolloAuto/apollo.git
$ cd apollo/ #這裏根據你選擇的下載文件夾進入apollo
進入docker
$ bash docker/scripts/dev_start.sh -C
$ bash docker/scripts/dev_into.sh
獲取build command列表
$ ./apollo.sh
開始清理
$ ./apollo.sh clean
開始build
$ bash apollo.sh build or $bash apollo.sh build_gpu(若是你帶nvidia顯卡,且在gtx1050ti版本之上)
到此應該所有結束了。
提示:若是上面執行過了,下面不須要執行。
提示:在https://github.com/ApolloAuto/apollo/blob/master/docs/howto/how_to_run_perception_module_on_your_local_computer.md 下面在編譯perception模塊時,能夠運行
$ ./apollo.sh build_gpu
或者
$ ./apollo.sh build_opt_gpu