Zaurusの開発環境をDockerで作成

かなり昔にVirtualbox上に作成していたZaurusのクロスコンパイル環境をDocker上に作成してみる
今でもSharpのサイトからパッケージをダウンロードできたのは驚き
github上にDockerfileを作成して管理する

準備

今回はWindows上で作成

Dockerfile作成

Dockerfile自体はgithubで作成して管理
CentOS上に必要なパッケージをインストールしているだけ github.com

Dockerfileからイメージを作成

-tでイメージ名を指定

$ git clone https://github.com/kkimigawa/zaurus-cross-compile-on-docker.git
$ cd zaurus-cross-compile-on-docker
$ docker build ./ -t zaurus-dev

コンテナ作成

ホストとファイルのやり取りをするために-vオプションでDockerからc:/Usersにアクセスできるようにする
runしたらそのままzaurusユーザとしてログインするはず

$ docker run -it -v c:/Users:/data zaurus-dev /bin/bash

コンパイルテスト

$ vi test.c
/* テストプログラム */
#include <stdio.h>

int main(void) {
  printf("test\n");

  return 0;
}
$ arm-linux-gcc -o test test.c
$ file test 
test: ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped

arm向けにビルドできているっぽい
testをZaurusに持っていって実行したところ問題なく動作した
Virtualbox上の開発環境ではOpenSSLやnethackとかビルドしていたみたいなので今後はそれらをビルドしてみたい