[从零开始环境配置] 联想R9000X-无人驾驶相关环境配置历程-Ubuntu16.04+anaconda+pcl-1.8+ros+cuda10.0+cudnn7.3

序言

换了一台新笔记本,想着给它配上之前常用的环境,但是这台电脑是AMD+NVIDIA的组合,和之前配置的intel+NVIDIA还有些不同,再加上硬件更新快,配置稍老版本一点的ubuntu还是会出不少问题的。如今就把问题汇总一下,方便以后查阅。
在此首先非常感谢这篇文章,为我一开始解决了不少问题
https://blog.csdn.net/xyt723916/article/details/106317594/

1.Ubuntu 16.04 基本环境配置

1.1 系统盘制作

这一部分就没什么好说的,用UltraISO制作即可,首先去官网下载ubuntu相关镜像文件,
这里给出几个镜像地址:

[官方] [中科大] [北理工] [阿里云]

这里就以北理工的为例子,选择
在这里插入图片描述进行下载。

下载后利用UltraISO进行系统盘制作

UltraISO下载地址: https://cn.ultraiso.net/

下载好后打开软件选择继续试用即可。
找一个空u盘,先进行格式化,然后进行如下操作
(1)打开镜像
在这里插入图片描述
(2)写入硬盘参数
在这里插入图片描述在这里插入图片描述

(3)按红色框选的顺序进行引导扇区写入,当出现扇区写入成功后,再点击写入,等待写入完成即可制作成系统盘。
在这里插入图片描述

1.2 系统安装

这里由于我安装的时候没有截图,可以直接参考最开始我引的那篇链接即可。

这里只说几个重点:

(1)安装之前关闭windows的快速启动
在这里插入图片描述
(2)硬盘分区,右键windows标志,选择磁盘管理,选择你要安装的磁盘,右键选择压缩卷,填入你想要用的磁盘大小即可。

在这里插入图片描述
进入BIOS 需要对照不同机型一般就是F12,F2之类的;
进入后记得讲boot order调整USB启动为第一个,这样就可以进入到系统安装中;
然后就是分区、安装即可,具体可看 https://blog.csdn.net/xyt723916/article/details/106317594/

2. 基本环境配置

2.1 网卡配置

有时候会出现配置完后,没有WiFi模块的情况,因此需要进一步解决这个问题。
此处只针对型号为Intel WiFi 6 AX200 160MHz的无线网卡,其他型号可自行百度
首先打开终端,输入

rfkill list all

应该看到

在这里插入图片描述本应该有四行,但一开始终端只显示两行,需要安装驱动,驱动下载链接:

https://www.intel.com/content/www/us/en/support/articles/000005511/network-and-i-o/wireless-networking.html

但是要先更新内核,因为一般ubuntu安装的初始内核为4.15,而这个驱动需要5.1以上。因此首先要更新ubuntu的内核:

https://kernel.ubuntu.com/~kernel-ppa/mainline/

这里也参考之前链接,选择5.1.21,因为我试过后5.7的内核,发现会和显卡驱动冲突,导致一直会在登录界面无限重复。

首先先安装一个libssl1.1包,这个包原链接好像没了,我后续提供百度云吧

安装命令

sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb

之后选择内核下载中for amd64下载中的四个文件:

linux-headers-5.1.21-050121_5.1.21-050121.201907280731_all.deb

linux-headers-5.1.21-050121-generic_5.1.21-050121.201907280731_amd64.deb

linux-image-unsigned-5.1.21-050121-generic_5.1.21-050121.201907280731_amd64.deb

linux-modules-5.1.21-050121-generic_5.1.21-050121.201907280731_amd64.deb

放入一个文件夹下,执行命令

sudo dpkg -i *.deb

内核就安装完成,重启计算机

[bug 1] 重启后直接进入windows系统

解决方法:

进入BIOS,关闭security boot 即可

[bug 2] 重启进入ubuntu后在登录界面无线循环,发现内核5.1.21 recovery模式下可以进去,正常情况下内核4.15也可以,但是5.1.21不行

解决方法:

可以以内核5.1.21的recovery模式进去,或者以内核4.15进入系统,执行命令

sudo gedit /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 中加入nomodeset

如下

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

这时候再次重启即可进入系统。

进入系统后,执行:

wget https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi/iwlwifi-cc-46.3cfab8da.0.tgz
tar -xf iwlwifi-cc-46.3cfab8da.0.tgz
cd iwlwifi-cc-46.3cfab8da.0/
sudo cp * /lib/firmware

执行过后,再执行:

sudo gedit /etc/rc.local

添加:

echo "123" | sudo modprobe -r ideapad_laptop

重启电脑,wifi模块即可使用。

2.2 镜像源配置

可以进入系统后,我们希望首先能够更换掉其原本的下载镜像地址,因为默认的很慢,在后续安装或者update的时候浪费时间,所以先更新镜像源。

先备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

然后打开该文件

sudo gedit /etc/apt/sources.list

将文件内容替换为其他镜像源,如清华镜像源

https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/

在这里插入图片描述
注意ubuntu的版本一定要选对。

更新完后,选择另开一个终端,执行

sudo apt-get update

来更新源。

2.3 显卡驱动配置

做完上述操作后,进行显卡驱动的配置,我的显卡是RTX2060MQ,相较于普通2060还有些特殊,所以要找驱动有些麻烦。

首先按照一些教程所述,添加nvidia镜像源:

sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update

然后通过软件更新即可搜索出驱动,但是发现这个方法不行,我的搜索不出

在这里插入图片描述

因此打算手动添加:

首先上英伟达驱动官网搜索相关驱动程序:

https://www.nvidia.cn/geforce/drivers/

在这里插入图片描述
搜索出一堆.run格式的驱动安装文件,然后你需要自己去试一下那个驱动是比较合适你显卡。

然后进行安装。

重启电脑,在登录界面,使用组合键

Ctrl+Alt+F1

进入非图形化界面,然后登录,输入你的用户名和密码。登录后,输入命令

sudo service lightdm stop

之后进入到你下载驱动程序的地方,执行

sudo bash NVIDIA-Linux-x86_64-460.39.run

进行安装。

此处注意有一个问题:

The kernel was built with gcc version with 9.1.0, but the current complie version is cc (Ubuntu5.4.0...)

在这里插入图片描述

这里主要是说当前核的gcc编译版本和现在的使用的编译版本不同,

这里我们选择忽略它,这里注意,一定要选择合适的内核版本,因为有时候不合适的内核版本会导致显卡驱动装不上去。

安装完成后,执行

reboot

进入设置查看

在这里插入图片描述可以看到显卡版本和我电脑对应上了,注意这里一定要选择一个合适的驱动版本,否则可能那个驱动还不能很好适配你的显卡,比如我之前用430版本,它就不能够显示正确我的显卡型号。

2.4 搜狗拼音安装

这个直接去官网安装最新的即可

https://pinyin.sogou.com/linux/?r=pinyin

然后执行

sudo dpkg -i sogoupinyin_2.4.0.2942_amd64.deb

发现报错无法安装,然后执行

sudo apt-get install -f

然后再安装,发现能够成功安装。

安装完成后,进入语言设置里,注意他会有一个让你更新的选择,不要选择更新,否则会和之前安装的有冲突。
在这里插入图片描述
选择 remindm me later即可,然后这里选择 fcitx

在这里插入图片描述
重启电脑,选择configure

在这里插入图片描述
点击下方加号,不勾选only show current language,然后搜索sogou添加即可。

[bug 3] WiFi模块失效

注意,我们在选择语言的时候尽可能保持我们原有安装的语言即可,当我试图添加中文时,重启电脑发现wifi模块失效,删除掉中文模块后,wifi模块又恢复正常。
在这里插入图片描述

2.5 ubuntu 与 windows 双系统时间不对

执行

timedatectl set-local-rtc 1 --adjust-system-clock

3. 学习环境配置

3.1 Anaconda

直接从官网下载即可,然后运行

sudo bash Anaconda3-5.1.0-Linux-x86_64.sh

安装即可。

然后anaconda 再building environment的时候很慢,这时候需要对其更改镜像源

执行:

sudo gedit ~/.condarc

然后更新为新的镜像源即可,此处为清华镜像源:

https://mirror.tuna.tsinghua.edu.cn/help/anaconda/

channels:
  - defaults
show_channel_urls: true
default_channels:
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r
  - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:
  conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
  simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud

3.2 CUDA10.0+CUDNN7.3

3.2.1 CUDA10.0

CUDA从英伟达官网下载即可

https://developer.nvidia.com/cuda-10.0-download-archive

然后执行

sudo bash cuda_10.0.130_410.48_linux.run

注意不同cuda可能有不同安装界面,但无论如何都不要选择安装额外驱动,然后就可以安装成功。

安装完成后,执行

sudo gedit ~/.bashrc

在里面添加

export PATH=/usr/local/cuda-10.0/bin${PATH:+:${PATH}}
export
LD_LIBRARY_PATH=/usr/local/cuda10.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda/lib64/

执行nvidia-smi可查看
在这里插入图片描述
或者也可以进入cuda samples查看cuda是否安装正确,执行:

cd /usr/local/cuda-10.0/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery

可查看结果

在这里插入图片描述

3.2.2 CUDNN

cudnn一定要选择和cuda相对应的版本,英伟达官网上也有相关提示,仔细选择。

下载好后,进行解压

tar -xvzf cudnn-10.0-linux-x64-v7.3.0.29.tgz

然后执行

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 /usr/local/cuda/lib64/libcudnn* //给所有用户赋予读的权限

复制完成后,对库进行重新软连接

cd /usr/local/cuda/lib64/ //进入到 cuda 库文件的目录下
sudo rm -rf libcudnn.so libcudnn.so.7 //删除原先的符号链接
sudo ln -s libcudnn.so.7.3.0 libcudnn.so.7 //建立新的软连接
sudo ln -s libcudnn.so.7 libcudnn.so //建立新的软连接

至此,cuda与cudnn均安装完成。

3.3 PCL库安装

安装之前 ,先安装相关依赖库

    sudo apt-get update  
    sudo apt-get install git build-essential linux-libc-dev  
    sudo apt-get install cmake cmake-gui   
    sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev  
    sudo apt-get install mpi-default-dev openmpi-bin openmpi-common    
    sudo apt-get install libflann1.8 libflann-dev  
    sudo apt-get install libeigen3-dev  
    sudo apt-get install libboost-all-dev  
    sudo apt-get install libqhull* libgtest-dev  
    sudo apt-get install freeglut3-dev pkg-config  
    sudo apt-get install libxmu-dev libxi-dev   
    sudo apt-get install mono-complete  
    sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre  

然后解压,进入pcl-master,执行

mkdir release
cd release 
cmake -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_GPU=ON -DBUILD_apps=ON -DBUILD_examples=ON -DCMAKE_INSTALL_PREFIX=/usr .. 

[bug4]

编译出现问题:

nvcc fatal : Unsupported gpu architecture ‘compute_20’ CMake Error at pcl_gpu_utils_generated_repacks.cu.o.cmake:209 (message): Error generating
Unsupported gpu architecture ‘compute_20’ CMake Error at pcl_gpu_utils_generated_repacks.cu.o.cmake:209 (message): Error generating

这是由于pcl版本本身对与高版本cuda不支持,由于我不需要用pcl的gpu版本,所以在编译的时候注释掉即可。

进入CMakeLists.txt,找到下图部分,将WITH_CUDA部分的TRUE改为FALSE即可

在这里插入图片描述

3.4 ROS安装

ros的安装就按照ros-wiki上的来就可以了

[bug5] rosdep init 会提示Website may be down的错误。

这就是github的网页链接出现了一些问题,执行

 sudo gedit /etc/hosts

添加

151.101.84.133  raw.githubusercontent.com

即可解决上述问题。

其他的一些问题

1. conda命令不能用sudo

执行:

sudo  gedit  ~/.bashrc

添加

alias sudo='sudo env PATH=$PATH'

然后

source  ~/.bashrc

即可。

2. pcl 在有anaconda下cmake编译问题

 runtime library [libQt5Core.so.5] in /usr/lib/x86_64-linux-gnu may be hidden by files in:
      /home/xcy/anaconda3/lib

  Some of these libraries may not be found correctly.

可以先把anaconda 声明的lib路径关闭

或者,执行:

conda install setuptools
pip install -U rosdep rosinstall_generator wstool rosinstall six vcstools

猜你喜欢

转载自blog.csdn.net/weixin_43885544/article/details/113621497
今日推荐