在Win10 WSL中安装百度Apollo

在Win10 WSL中安装百度Apollo

  • 前言
    • 说明
    • 安装WSL及Ubuntu发行版
    • 配置WSL 1 ^1 1
    • 安装 Docker
    • 安装Apollo
    • 局域网其他设备接入Dreamview 4 ^4 4

前言

百度开源无人驾驶平台是基于Ubuntu开发的,初学者学习时需要先安装Ubuntu,但平时主力平台是Windows则会产生一些不便。双系统安装不便,且需重启切换系统,虚拟机效率不高,而Apollo又有性能需要。Win10 提供的Linux子系统(Windows Subsystem for Linux)则可解决上述问题。本文在参考一些其他操作文档的基础上,整理了在Win10 WSl中安装Apollo的流程。

说明

本文使用的平台是Win10 家庭版 21H1。本操作未在其他版本验证。主要安装流程如下:

  1. 安装WSL及Ubuntu发行版
  2. 配置WSL
  3. 安装Docker
  4. 安装及编译Apollo
  5. 局域网其他设备接入Dreamview

安装WSL及Ubuntu发行版

可直接在Windows Store 搜索Ubuntu发行版进行安装。安装过程中需要配置用户名和密码。
为方便命令行操作推荐在Windows Store中安装Windows Terminal

配置WSL 1 ^1 1

若要在计算机上启用 Windows Subsystem for Linux (WSL),必须执行以下操作:
(1)以管理员身份打开 PowerShell。在“启动”菜单上,键入“PowerShell”以显示桌面应用。 右键单击“Windows PowerShell”,然后选择“以管理员身份运行”。
(2)在“管理员:Windows Powershell”命令窗口打开后,复制并粘贴下面的脚本,以启用 WSL 功能:
PowerShell命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

(3)请在系统提示时重启计算机。

安装 Docker

安装 Docker 有两个途径,一个是在 Win10 中安装 Docker Desktop,并启用 WSL 引擎 2 ^2 2。另一个是在WSL中安装 Linux 版的 Docker。
目前正式版本的Win10中WSL暂不支持GUI(Win10 Insider Preview build 21362 和 Win11 可支持),所以在WSL中安装完Apollo需要用Win10中的浏览器查看Dreamview。如果安装Docker Desktop,难以在 Win10 浏览器中访问 WSL Docker中的服务。所以此处一定要在WSL中安装Docker。安装方法如下 3 ^3 3

  1. 添加密钥和国内源
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository \
   "deb [arch=amd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
  1. 更新
sudo apt update
  1. 安装Docker
sudo apt install -y docker-ce
  1. 启动docker
sudo service docker start

安装Apollo

1.Home中建立Apollo目录

mkdir Apollo

2.从gitee克隆Apollo源文件
克隆前增大git 缓存

git config --global http.postBuffer 524288000
git clone https://gitee.com/ApolloAuto/apollo.git

3.重新fork github

cd apollo
git remote set-url origin [email protected]:YOUR_GITHUB_USERNAME/apollo.git
git remote add upstream [email protected]:ApolloAuto/apollo.git
git pull --rebase upstream master

3.进入docker拉取apollo镜像并编译
①增加内存
在docker中编译apollo是gcc会占用大量内容,如果内存不够,可能在中途报错退出。
重点:在安装apollo之前,提升内存容量:适用8GB以下的内存,:
准备:如8GB内存的,需提升虚拟内存容量,16GB的不需要,可直接安装apollo,运行apollo出现问题时,一般都是内存不够。
首先:查看当前系统内存的命令:

free -m

8GB的一定不够用,增加8GB虚拟内存:

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

该命令后需输入Ubuntn的密码,之后,输入:

sudo mkswap /swapfile  #通知系统挂载swap;
sudo swapon /swapfile  #通知系统启用swap;
sudo swapon -s  #查看信息;

再查看当前系统内存的命令

free -m

发现增加了8GB虚拟内存。
以上完成swap设置,如果想移除swap执行

sudo swapoff /swapfile && sudo rm /swapfile

但是如果系统重启,再开机就不能自动使用swap了,
②在apollo目录启动docker

bash docker/scripts/dev_start.sh

该命令会拉取apollo镜像,执行时间较长,取决于网速。
③进入apollo docker

bash docker/scripts/dev_into.sh

④编译Apollo

./apollo.sh build

编译完可以启动Dreamview

./scripts/bootstrap.sh

在Win10浏览器地址栏中输入URL,就可以查看Dreamview界面了

http://localhost:8888

局域网其他设备接入Dreamview 4 ^4 4

渲染Dreamview会占用系统资料,为了流畅运行可在局域网内其他设备(电脑、平板、收集)访问Dreamview。需要进行必要配置:

1 查看WSL ip

ip addr show eth0
  1. 设置端口转发
    管理员权限启动Powershell
netsh interface portproxy add v4tov4 listenport= 8888 listenaddress=0.0.0.0 connectport= 8888 connectaddress= 172.17.218.203 protocol=tcp

#172.17.218.203为wsl ip
3. 配置入站规则
设置–>更新和安全–>Windows安全中心–>防火墙和网络保护–>高级设置—>入站规则–>新建规则–>端口–>TCP,特定本地端口–>允许连接
4. 查看Windows IP

Ipconfig /all
  1. 局域网其他设备访问
    浏览器输入
http://【windows ip】:8888

参考资料:
[1] 启用 Windows Subsystem for Linux,并安装发行版本 - Learn | Microsoft Docs
[2] WSL 上的 Docker 容器入门 | Microsoft Docs
[3] Win10 WSL2 安装Docker - 简书 (jianshu.com)
[4] wsl2设置局域网网访问_cf313995的博客-CSDN博客_wsl2网络桥接
本文参考了Appollo星火计划第一期正式群中杨隆帅老师Win11中WSL安装Apollo的教程。

你可能感兴趣的:(docker,自动驾驶,百度,windows,10,ubuntu)