bamboo’s blog

Bambooの気まぐれブログ

RustでArmバイナリをビルドする

はじめに

 今回はRustでArmバイナリをビルドする手順について紹介します。記事を作成するにあたり、以下の記事を参考にさせていただきました。

実行環境

1. 新しいプロジェクトの作成

今回は例としてhelloという名前でプロジェクトを作成します。

$ cargo new hello
$ cd hello
$ cargo run

Hello, world!と表示されればひとまずOK。

2. .cargo/configに設定を記述

.cargo/configにクロスコンパイルするための設定を記述します。今回はtargetにarm-unknown-linux-gnueabiを、linkerにarm-linux-gnueabi-gccを指定します。

.cargoディレクトリの作成
$ mkdir .cargo
.cargo/configの中身
[target.arm-unknown-linux-gnueabi]
linker = "arm-linux-gnueabi-gcc"

3. ツールチェーンを追加し、リンカをインストール

$ rustup target add arm-unknown-linux-gnueabi
$ sudo apt install gcc-arm-linux-gnueabi

4. ターゲットを指定してビルド

$ cargo build --target=arm-unknown-linux-gnueabi

5. QEMUで実行

$ qemu-arm -L /usr/arm-linux-gnueabi/ target/arm-unknown-linux-gnueabi/debug/hello

Hello, world!と表示されれば成功です。