百度开源无人驾驶平台是基于Ubuntu开发的,初学者学习时需要先安装Ubuntu,但平时主力平台是Windows则会产生一些不便。双系统安装不便,且需重启切换系统,虚拟机效率不高,而Apollo又有性能需要。Win10 提供的Linux子系统(Windows Subsystem for Linux)则可解决上述问题。本文在参考一些其他操作文档的基础上,整理了在Win10 WSl中安装Apollo的流程。
本文使用的平台是Win10 家庭版 21H1。本操作未在其他版本验证。主要安装流程如下:
可直接在Windows Store 搜索Ubuntu发行版进行安装。安装过程中需要配置用户名和密码。
为方便命令行操作推荐在Windows Store中安装Windows Terminal
若要在计算机上启用 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 有两个途径,一个是在 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:
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"
sudo apt update
sudo apt install -y docker-ce
sudo service docker start
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 git@github.com:YOUR_GITHUB_USERNAME/apollo.git
git remote add upstream git@github.com: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会占用系统资料,为了流畅运行可在局域网内其他设备(电脑、平板、收集)访问Dreamview。需要进行必要配置:
1 查看WSL ip
ip addr show eth0
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
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的教程。