【前言】

不想折腾交叉编译环境,但是又实在忍不了A53上编译工程的龟速,于是乎就想着是不是可以通过Docker搭一个arm linux开发环境,这样编译好的工程直接拷进A53中就可以运行了。说干就干,踩了一些坑,但是最终还是成功了。这里简单记录一下,你们能不能看懂,就看自己的造化了。

【干货】

1、新建admin用户(因为arm那边系统用户是admin):

sudo suadduser admin(全程点默认)

2、切换到该用户

su admin

3、删除admin用户

deluser admin

4、安装一些必要的环境:

sudo apt install qemu-user qemu-user-static gcc-aarch64-linux-gnu binutils-aarch64-linux-gnubuild-essential

5、在docker里面搭建ros环境

sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yessudo docker run -it --name ros-arm --user=$(id -u $USER):$(id -g $USER) --env="DISPLAY" --net=host --workdir="/home/$USER" --volume="/home/$USER:/home/$USER" --volume="/etc/group:/etc/group:ro" --volume="/etc/passwd:/etc/passwd:ro" --volume="/etc/shadow:/etc/shadow:ro" --volume="/etc/sudoers.d:/etc/sudoers.d:ro" --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" arm64v8/ros:kineticsudo docker exec -u 0 -it ros-arm sed -i 's/ports.ubuntu.com/mirrors.bfsu.edu.cn/g' /etc/apt/sources.listsudo docker exec -u 0 -it ros-arm apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654sudo docker exec -u 0 -it ros-arm apt updatesudo docker exec -u 0 -it ros-arm apt install ros-kinetic-cv-bridgesudo docker exec -u 0 -it ros-arm apt install ros-kinetic-move-base-msgssudo docker exec -u 0 -it ros-arm apt install libzmq3-devsudo docker exec -u 0 -it ros-arm apt install ros-kinetic-tf

6、进入容器,开始你的表演

sudo docker start ros-armsudo docker exec -it ros-arm bash

7、小技巧

平时开发代码,可以直接把代码拷到admin那个用户下,怎么在PC上切换用户,就不用我教了吧。

【后言】

点个赞!!!不迷路!