Docker を使用して Linux ARM64 アーキテクチャのコンパイル環境を構築する

【序文】

クロスコンパイル環境に手間をかけたくなかったのですが、A53 でのプロジェクトのコンパイル速度の遅さにどうしても耐えられなかったので、Docker を介して arm linux 開発環境をセットアップして、コンパイルされたプロジェクトをA53 に直接コピーして実行できます。やると言ったことをやるだけで、落とし穴も踏みましたが、最終的には成功しました。以下は簡単な記録ですが、それを理解できるかどうかはあなた自身の運命にかかっています。

 

【乾燥情報】

1. 新しい管理者ユーザーを作成します (arm システム ユーザーが管理者であるため)。

sudo su
adduser admin

(全程点默认)

2. このユーザーに切り替えます

su admin

3. 管理者ユーザーを削除します

deluser admin

4. 必要な環境をいくつかインストールします。

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

5. dockerでros環境を構築する

sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes

sudo 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:kinetic

sudo docker exec -u 0 -it ros-arm sed -i 's/ports.ubuntu.com/mirrors.bfsu.edu.cn/g' /etc/apt/sources.list

sudo docker exec -u 0 -it ros-arm apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

sudo docker exec -u 0 -it ros-arm apt update

sudo docker exec -u 0 -it ros-arm apt install ros-kinetic-cv-bridge

sudo docker exec -u 0 -it ros-arm apt install ros-kinetic-move-base-msgs

sudo docker exec -u 0 -it ros-arm apt install libzmq3-dev

sudo docker exec -u 0 -it ros-arm apt install ros-kinetic-tf

6. コンテナに入り、パフォーマンスを開始します

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

7. ヒント

コードを開発するときは、コードを管理者ユーザーに直接コピーできるため、PC 上でユーザーを切り替える方法を教える必要はありません。

【追記】

いいね!迷わないでください!

おすすめ

転載: blog.csdn.net/weixin_39538031/article/details/131007362