wsl2安装百度apollo及其基本配置

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

执行后重启计算机

wsl --update //尝试更新
wsl --set-version Ubuntu-18.04 2 //镜像名字需要和已安装的一致
wsl --set-default-version 2
wsl -l -v
#输出
Name              State            Version
Ubuntu            Stopped          2

​ 微软商店搜索Ubuntu下载即可,打开下载好的Ubuntu,系统初始化输入用户名和密码

1. 换国内源
//备份list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
//修改list文件
sudo vim /etc/apt/sources.list

​ 删除所有内容替换下面内容(选一)(可在vim的命令模式下,使用gg将光标移到文件首行,使用dG命令清空文件)

​ 阿里云

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

​ 中科大

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

​ 清华

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

​ 华为

sudo sed -i "s@http://.*archive.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sudo sed -i "s@http://.*security.ubuntu.com@http://mirrors.huaweicloud.com@g" /etc/apt/sources.list
sudo apt-get update
sudo apt-get upgrade

​ (1) 安装相关包

sudo apt install language-pack-zh-hans
sudo dpkg-reconfigure locales #这一步要选择en_US.UTF-8和zh_CN.UTF-8, 并且zh_CN.UTF-8为默认语言
sudo apt install fontconfig

​ (2) 安装Windows字体


    /mnt/c/Windows/Fonts

或者复制windows的字体到 /usr/share/fonts/

sudo cp -r /mnt/c/Windows/Fonts /usr/share/fonts/windows

​ (3) 刷新字体缓存

fc-cache -f -v

​ (4) 重启 wsl 即可

wsl --shutdown
sudo apt install fcitx dbus-x11 im-config fcitx-sunpinyin

(2)编辑 /etc/locale.gen文件

sudo vim /etc/locale.gen
找到 # zh_CN.UTF-8 这一行,取消注释
zh_CN.UTF-8

(3) 编辑 ~/.profile文件

export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export DefaultIMModule=fcitx
fcitx-autostart &>/dev/null

(4) 刷新 ~/.profile 或者 wsl --shutdown

source ~/.profile

fcitx 默认输入法切换快捷键是ctrl+space,使用时须先关闭主机输入法

​ 按下Windows + R 键,输入 %UserProfile%并运行进入用户文件夹,新建文件 .wslconfig

[wsl2]
memory=16GB      #内存最大值
swap=32GB        #虚拟内存最大值
processors=4   #cpu核最大值
localhostForwarding=true

​ 然后运行cmd,输入 wsl --shutdown来关闭当前的子系统,重新运行bash进入子系统

sudo apt install Nautilus #Nautilus 文件管理
sudo apt install firefox #firefox 浏览器
sudo apt install gedit #gedit 文本编辑器
sudo apt install stacer #stacer linux任务管理器
sudo apt install timeshift #timeshift linux备份软件
sudo timeshift-gtk #timeshift 的运行指令
$ wsl -l --all -v
$ wsl --export Ubuntu-18.04 d:/wsl-ubuntu-18.04.tar
$ wsl --unregister Ubuntu-18.04
$ wsl --import Ubuntu-18.04 d:/wsl-ubuntu-18.04 d:/wsl-ubuntu-18.04.tar --version 2
$ ubuntu1804 config --default-user USERNAME

​ 在文件夹路径中或者win+R输入

\\wsl$

wsl访问window

​ (1) cd /mnt/盘符 例如进入D盘:

cd /mnt/d

​ (2)在对应目录下执行

explorer.exe .

​ 1.安装Docker Desktop(方便,但是后续需要配置一下端口,建议用下面的方法2)

​ 安装完成后在设置中 Resources-> WSL INTEGRATION 选中自己下载的linux发行版。

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
//执行安装时会提示建议安装Docker Desktop,可以忽略,等一下就会自动安装。
//WSL DETECTED: We recommend using Docker Desktop for Windows.

//检验安装结果
docker -v

#安装docker-compose
sudo apt install docker-compose  //安装命令
docker-compose -v           //验证安装
#启动docker
sudo service docker start
ssh-keygen -t ed25519 -C "xxxx@qq.com"  #连按三次回车(自己的账号,上边链接会有提示操作)
cat ~/.ssh/id_ed25519.pub
ssh -T git@gitee.com
cd ~
sudo bash docker.sh(文件在文末,需自己创建)
#进入docker
cd apollo
sudo bash docker/scripts/dev_into.sh
#编译
bash apollo.sh build
#开启dreamview
bash scripts/bootstrap.sh
#关闭dreamview
bash scripts/bootstrap.sh stop
#free -m 查看内存低于16g扩大swap交换
sudo dd if=/dev/zero of=/swapfile bs=1G count=8
sudo mkswap /swapfile  #通知系统挂载swap;
sudo swapon /swapfile  #通知系统启用swap;
sudo swapon -s  #查看信息;
#移除swap
sudo swapoff /swapfile && sudo rm /swapfile
cd ~/apollo
#运行docker
bash docker/scripts/dev_start.sh
#进入
sudo bash docker/scripts/dev_into.sh
#启动dreamview
bash scripts/bootstrap.sh
#关闭dreamview
bash scripts/bootstrap.sh stop
#如果在wsl2中访问直接Ubuntu下载浏览器打开localhost即可,主机(本机)环境打开需把localhost切换成wsl地址,该地址是动态的,每次重启wsl会变#使用ifconfig 查看  eth0 的inet即wsl ip
ifconfig
由于 Docker Desktop for Windows 不支持主机网络驱动程序,在这种情况下,apollo docker 脚本将在您无法访问的隔离 netork 命名空间中创建主机网络。您可以查看官方文档:

主机网络驱动程序仅适用于 Linux 主机,在 Docker Desktop for Mac、Docker Desktop for Windows 或 Docker EE for Windows Server 上不受支持。

我使用端口映射来解决问题:

修改 docker/scripts/dev_start.sh:
将"--net host \ "替换为"-p 8888:8888 \ "

修改脚本/引导.sh:
将 DREAMVIEW_URL="http://localhost:8888" 替换为 DREAMVIEW_URL="http://0.0.0.0:8888"

然后按照安装部分进行操作,您可以通过 http://${wsl2实例ip}:8888访问dreamview。
在我的情况下,我的wsl2实例IP是172.20.88.30,所以我可以通过 http://172.20.88.30:8888/ 来访问Web服务

我在Ubuntu里打开火狐使用http://0.0.0.0:8888可以访问,系统外仍不行

docker.sh的内容

#!/bin/bash

function install_prepare()
{
    sudo apt update
    #sudo apt upgrade -y
    sudo apt install gcc g++ git vim curl make cmake gedit unzip cutecom can-utils net-tools -y
}

function install_docker()
{
    sudo modprobe overlay
    sudo docker -v 1>/dev/null 2>&1
    if [ $? -eq 0 ]
    then
        id | grep "docker" 1>/dev/null 2>&1
        if [ $? -eq 0 ]
        then
            echo "docker is OK!"
            return 1
        else
            sudo gpasswd -a $USER docker
            sudo usermod -aG docker $USER
            sudo systemctl restart docker
            echo "please reboot the computer and run the scripts again!"
            return 2
        fi
    else
        curl https://get.docker.com | sh && sudo systemctl --now enable docker
        sudo systemctl restart docker
        sudo gpasswd -a $USER docker
        sudo usermod -aG docker $USER
        sudo systemctl restart docker
        sudo chmod 777 /var/run/docker.sock
        echo "please reboot the computer and run the scripts again!"
        return 3
    fi

    return 0
}

function clone_apollo()
{
    cd ~
    git init
    git clone -b edu_sim_contest git@gitee.com:ApolloAuto/apollo.git
    cd ~/apollo
    bash docker/scripts/dev_start.sh -y
}

function main()
{
    install_prepare
    install_docker
    clone_apollo

    return 0
}

main "$@"

Original: https://www.cnblogs.com/yitaiyang/p/16446875.html
Author: 以太羊
Title: wsl2安装百度apollo及其基本配置

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/582059/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ArchLinux安装-2022-01-12

    这篇教程,是我基于B站up住theCW的视频教程整理的,其中添加了一些我在安装n次之后的经验(虽然失败过几次,但我现在安装不会再出差错,所以请放心的看此教程) 当然,我认为theC…

    Linux 2023年5月27日
    094
  • 3.20 什么是环境变量,Linux环境变量有哪些?

    变量是计算机系统用于保存可变值的数据类型,我们可以直接通过变量名称来提取到对应的变量值。在 Linux 系统中,环境变量是用来定义系统运行环境的一些参数,比如每个用户不同的家目录(…

    Linux 2023年6月7日
    0109
  • 线段树扫描线(一) 矩形面积 以hdu 1542为例

    还是老规矩,传送门 hdu 1542 不做过多解释了,就是给出n个矩形,求出这些矩形所覆盖的面积和。由于n很小,因而这道题不是必须用线段树 先想想怎么办,先来一个例图(稍微有点复杂…

    Linux 2023年6月6日
    0115
  • (Java初学篇)IDEA项目新建流程和软件配置优化以及怎么彻底删除项目

    相信很多小伙伴们在初学 Java 时都会出现这样的情况,就是在网上一顿搜索加捣鼓终于把 JDK 和IDEA 这两款软件安装配置好,但是发现面对这个陌生的软件此时却无从下手,那么接下…

    Linux 2023年6月6日
    0147
  • Docker部署Dotnet

    方法一:打包+镜像 部署 将要部署的项目及其依赖的项目上传至指定文件夹下 要部署的项目添加Docker支持,生成Dockerfile文件 将生成的Dockerfile文件上传至要部…

    Linux 2023年6月13日
    0119
  • 大数库GMP测试

    任务详情 在openEuler(推荐)或Ubuntu或Windows(不推荐)中完成下面任务 用自己8位学号建两个文件夹xxxxxxxxsrc,xxxxxxxx,到GMP官网htt…

    Linux 2023年6月8日
    0101
  • 一维热传导方程的回焊炉子炉温模型

    赛题链接 论文链接 1. 有限差分方法 参考 1.1 一阶微分 由泰勒公式: 对上式变形即可以得到 一阶微分的向前差分公式: 将上式中的h用-h替代,则可以得到 一阶微分的向后差分…

    Linux 2023年6月14日
    0112
  • 剑指offer计划19( 搜索与回溯算法中等)—java

    1.1、题目1 剑指 Offer 64. 求1+2+…+n 1.2、解法 这题看评论区真的绝了,都是人才,各个说话都好听,我看到个还有用异常来结束的就离谱。这题用了&a…

    Linux 2023年6月11日
    096
  • 2020年12月-第02阶段-前端基础-CSS Day07

    CSS Day07 CSS高级技巧 *理解 能说出元素显示隐藏最常见的写法能说出精灵图产生的目的能说出去除图片底侧空白缝隙的方法 *应用 能写出最常见的鼠标样式能使用精灵图技术能用…

    Linux 2023年6月8日
    0135
  • Workshop与会议形式的分类

    在计算机科研工作阅读的过程中,我们经常遇到workshop和conference等关键词,通过这些关键词我们可以一定程度上了解文章的水平,从而方便自己的学习,下面记录了一些我从网络…

    Linux 2023年6月14日
    0191
  • 系统执行命令记录到message 日志文件中

    直接 配置 /etc/profile 配置文件添加一样,简单高定。 export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; e…

    Linux 2023年6月8日
    084
  • rsync

    Rsync-远程同步 简介 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同…

    Linux 2023年6月13日
    076
  • NoteOfMySQL-14-日志管理

    一、MySQL日志 日志是MySQL数据库的重要组成部分,日志文件记录了MySQL数据库的日常操作和错误信息,可以通过分析这些日志文件了解MySQL数据库的运行情况。MySQL数据…

    Linux 2023年6月14日
    091
  • Nginx禁止ip加端口访问

    使用 iptables 限制对应端口,再利用Nginx将80端口转发到对应端口 CentOS7默认的防火墙是 firewalle,先看看服务器中有没有安装 iptables [ro…

    Linux 2023年5月27日
    093
  • QT官方社区及版本说明

    Qt版本说明 版本分类 Qt商业版:提供给商业软件开发。它们提供传统商业软件发行版并且提供在协议有效期内的免费升级和技术支持服务。 Qt开源版:提供了和商业版本同样的功能。它是免费…

    Linux 2023年6月13日
    0174
  • linux系统基于新磁盘和同磁盘其他分区的目录扩容

    linux系统基于新磁盘和同磁盘其他分区的目录扩容 (1) 基于新建磁盘目录扩容 例如:新增1 块3G 的磁盘sdb ,扩容/tmp 至13G pvcreate /dev/sdb1…

    Linux 2023年6月13日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球