虚拟机下安装Ubuntu以及apollo(细节避坑和处理方案)

近期生活中,在安装apollo中遇到了各种问题,参考了各类博主会答,在此整理一下,方便后期再次安装方便

1、虚拟机安装Ubuntu蓝屏

博主自己在看虚拟机安装时,在网上随意参考一篇博客既可以安装成功,具体安装过程这里我就不多说了,这里主要说一下,安装ubuntu后,启动虚拟机无法正常运行,虚拟机出现蓝屏,然后只能强制重启的解决方案。

具体方案就是打开   控制面板  --> 点击程序  --> 点击启用或关闭windows功能,进入上面的页面即可,选择红色框线圈起来的地方,进行同样的勾选即可,然后重启电脑,重新运行虚拟机即可。

2、安装apollo 

1、必备环境安装

根据Apollo开发文档所说,推荐使用Ubuntu18.04及以上版本。此处我选用了20.04版本的Ubuntu进行配置。首先先进行更新软件源 

sudo apt-get update
sudo apt-get upgrade

2、NVIDIA GPU驱动安装(虚拟机不用安装) 

这里为了结构完整性,把显卡驱动 安装也写了下来

对于N卡用户,需要单独安装对应显卡驱动及cuda,安装之前,需要根据Ubuntu的内核版本来确定对应版本的显卡驱动。查看命令如下:

ubuntu-drivers devices

 根据recommended的推荐安装:

sudo apt-add-repository multiverse
sudo apt-get update
sudo apt-get install nvidia-driver-510

 此处演示如何使用图形化界面进行安装驱动,首先打开软件与更新,在附加项一栏中选择需要的驱动版本即可,此处选择nvidia-driver-510

这里由于自己的是虚拟机,无法展示,贴了一张网图

随后点击应用更改,等待下载完成即可。所需要的时间适网络情况而视。安装完成后可以使用指令查看驱动是否生效(建议重新启动后查看) 

nvidia-smi

显示信息如下所示: 

表示显卡安装成功。 

2、Docker安装

 首先,需要安装依赖并卸载旧版本 

# 安装依赖项
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# 卸载旧版本(可能不存在)
sudo apt-get remove docker docker-engine docker-ce docker.io

随后,添加docker官方提供的密钥并更新软件源

# 添加gpg密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 设置stable存储库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 更新软件源
sudo apt-get update

之后,直接安装最新版本的docker即可。

# 安装docker
sudo apt-get install docker-ce docker-ce-cli containerd.io

 安装完成后还需要添加权限

#添加docker用户组
sudo groupadd docker
#将登陆用户加入到docker用户组中
sudo gpasswd -a $USER docker
#更新用户组
newgrp docker

然后输入:

docker ps

当出现如下所示:

 

docker安装成功。 

3、NVIDIA Container Toolkit (虚拟机下不用安装)

基于Apollo的CUDA的docker镜像需要依赖于NVIDIA Container Toolkit。使用如下指令进行安装 

distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get -y update
sudo apt-get install -y nvidia-docker2

随后,重启Docker完成应用。 

sudo service docker start

 4、下载apollo源码

 可以直接去github上下载,再解压,或者自己下载到U盘在拷到虚拟机上,都可以。

git clone https://github.com/ApolloAuto/apollo.git

5、下载完成,开始进行编译

1、 启动Docker

打开终端(ctrl + alt + t)执行apollo目录下的镜像版本

cd apollo
cd docker/scripts
bash dev_start.sh -g cn

此步骤需要耐心等待完成,成功后将显示如下字样:

[ OK ] Congratulations! You have successfully finished setting up Apollo Dev Environment.
[ OK ] To login into the newly created apollo_dev_jasonLi container, please run the following command:
[ OK ]   bash docker/scripts/dev_into.sh
[ OK ] Enjoy!

紧接着输入如下指令,进入docke容器

bash dev_into.sh 

出现这个界面代表进入docker容器成功。 

2、编译apollo(建议早上和晚上网速较好)

需要有较好的网络环境 ,输入一下指令,虚拟机选择cpu下编译。

# 优化模式编译(GPU)
bash apollo.sh build_opt_gpu
# 优化模式编译(CPU)
bash apollo.sh build_cpu

编译成功后,将显示如下字样,这个过程有点漫长,中间会出错多次,一次不成功,继续重新编译。

(09:58:11) INFO: Elapsed time: 3331.877s, Critical Path: 204.26s
(09:58:11) INFO: 30716 processes: 18774 internal, 11942 local.
(09:58:11) INFO: Build completed successfully, 30716 total actions
==============================================
[ OK ] Done building apollo. Enjoy!
==============================================

3、启动 Dreamview(也有大坑)

完成编译后,即可在Docker环境下启动Dreamview进行测试: 

bash scripts/bootstrap.sh

此时如果出现如下报错。 

nohup: appending output to 'nohup.out'
[ OK ] Launched module monitor.
nohup: appending output to 'nohup.out'
[ OK ] Launched module dreamview.
Failed to start Dreamview. Please check /apollo/data/log or /apollo/data/core for more information

 可以按照如下操作:也就是关闭在打开一次。

bash scripts/bootstrap.sh stop
bash scripts/bootstrap.sh

如果出现如下问题:

[xx@in-dev-docker:/apollo]$ bash scripts/bootstrap.sh
[WARNING] nvidia-smi not found. CPU will be used.
[WARNING] nvidia-smi not found. CPU will be used.
scripts/bootstrap.sh: line 34: ./scripts/monitor.sh: Permission denied
scripts/bootstrap.sh: line 35: ./scripts/dreamview.sh: Permission denied

属于权限问题,利用chmod授权,可以执行如下操作:

sudo chmod +x scripts/bootstrap.sh
还不行的话,执行下面的
sudo chmod +x scripts/ -R

 启动成功后可以在浏览器中打开链接进行查看Dreamview:https://localhost:8888

复制链接在浏览器中打开即可出现如下界面:

 6、播放record数据

1、 先下载record数据包:

需要重新打开一个终端,

cd apollo
wget https://apollo-system.cdn.bcebos.com/dataset/6.0_edu/demo_3.5.record

稍微等待下载, 

 

 2. 使用cyber RT运行播放数据

 在第一个启动的dreamview的终端下输入如下:

cyber_recorder play -f demo_3.5.record --loop  #–loop 用于设置循环回放模式

打开浏览器,既可以看到demo的运行。 

 

  • 28
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值