arm64v8架构ros2+autoware部署
在X86架构下构建arm64的docker
首先设置docker --platform参数使其支持多架构拉取和运行
vim /etc/docker/daemon.json
在其中设置experimental项为true
运行docker version查看里面是否为experimental:true
拉取并运行quemu来在x86架构下模拟arm架构
docker pull multiarch/qemu-user-static
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
输出下列信息为正常运行
拉取arm64v8镜像,ros2只支持linux的ubuntu发行版
docker pull --platform linux/arm64 art-internal.hobot.cc/library/arm64v8/ubuntu:22.04
容器内环境配置
docker run -itd --platform linux/arm64 --name ros_zdh -p 8827:8888 --privileged art-internal.hobot.cc/library/arm64v8/ubuntu:20.04
docker exec -it ros_zdh /bin/bash
进入docker后,由于容器是最小安装,先安装基础软件。先更新软件源,由于没有换源,会更新较慢。最小安装没有sudo
apt-get update
apt-get upgrade
apt install gnupg
apt install ca-certificates
换源(清华源):由于没有预装vim使用echo进行换源,arm架构下的源可能和x86不一样,在使用x86源的时候一直换源失败。
cd /etc/apt
mv sources.list sources_bk.list
echo "
# 默认注释了源码仓库,如有需要可自行取消注释
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal main main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ focal-proposed main restricted universe multiverse
" > sources.list
apt-get update
apt-get upgrade
安装必备依赖
apt install vim
apt install openssh-server
apt install build-essential
apt install locales
locale-gen en_US en_US.UTF-8
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
apt install software-properties-common
add-apt-repository universe
apt install curl gnupg lsb-release
安装ros2
这里使用鱼香ROS一键安装ros2_galactic和rosdep
wget http://fishros.com/install -O fishros && . fishros