【序文】
クロスコンパイル環境に手間をかけたくなかったのですが、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 上でユーザーを切り替える方法を教える必要はありません。
【追記】
いいね!!!迷わないでください!