現在、ラップトップ(amd64)で作業しているときに、BeagleBone(armhf)でSSHを介してコードをコンパイルできます。
私が今やろうとしているのは、任意のIDEを使用してそのコード(Code ::Blocks、KDevelop、またはQt Creator)をデバッグできるようにすることです。
そこで、gdbserver
を実行することを考えました。 BeagleBoneで接続しますが、応答時に予期しない値のエラーが発生します。私はそれについて読みました、そして私はgdb
のためにarmhf実行可能ファイルをローカルに構築する必要があるようです プロセスへ。しかし、armhf指向のgdb
も必要だと思います amd64用にビルドされているので、crossbuild-essential-armhf
をインストールしてみました 。そのために、dpkg --add-architecture armhf
を使用してarmhfアーキテクチャを追加しました。 、しかしその後、apt-getアップデートを実行できません。私はこれらをたくさん手に入れます:
Err http://security.ubuntu.com trusty-security/main armhf Packages
404 Not Found [IP: 2001:67c:1562::13 80]
リポジトリを確認すると、実際にはどこにもarmhfがありません。
だから、私は何が間違っているのですか?また、これは別のアーキテクチャでリモートデバッグする正しい方法ですか、それともそれを行うためのより良い方法はありますか?
承認された回答:
Ubuntuはarmhに個別のリポジトリを使用します(つまり、http://ports.ubuntu.com/
)。
crossbuild-essential-armhfを正常にインストールするには、次の手順を実行する必要があります。
-
dpkg --add-architecture armhf
を実行します -
/etc/apt/sources.list
ですべてのaptdeb行に正しいアーキテクチャを指定します および/etc/apt/sources.list.d
、例:deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu trusty main universe deb [arch=armhf] http://ports.ubuntu.com/ trusty main universe
deb-src行のアーチを指定することは意味がないことに注意してください。
3.apt-get update
を実行します。 4. apt-get install crossbuild-essential-armhf
を実行します
https://wiki.debian.org/Multiarch/HOWTO
をご覧ください。このガイドで説明されているように、これらのコマンドをchroot(またはdockerコンテナー)で実行することもできます:UbuntuでのMultiArch(armel / armhf)入門