2008/02/12

Link de 録plus(1) クロスコンパイル環境の構築

コンパイル環境は必須。なるべく手軽にしたいので、VMwareイメージ上のUbuntuにクロスコンパイル環境を構築する。
(ワシにとっては手軽(汗))
間違いが分かればどんどん修正する予定なのであしからず。

必要なもの

VMwareイメージを実行
Ubuntuの初回起動時に初期設定が行われる。
その後必要なパッケージを追加。Ubuntuの場合は、
$ sudo su
を実行することで、以降のコマンドを管理者権限で実行できるようになる。
# apt-get update
# apt-get install build-essential

ちなみに、コンパイルしたファイルの受け渡しにはsambaを利用する。

ARM用ツールチェインのインストール
UbuntuならFirefoxが標準でインストールされているので、ARM用ツールチェインはそちらでダウンロードした方がスマートかも。
本家に倣って、/opt配下に展開
# cd /opt
# mkdir /opt/arm-2005q3-2
# cd /opt/arm-2005q3-2
# tar jxvf arm-2005q3-2-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

クロスコンパイル環境完成~。

参考サイト(他にも感謝すべきサイトはたくさんあるけど、この解説がないとどうにもならなかった。感謝です!)
最初は、クロスコンパイル環境がうまく構築できなかった(Windows上で構築しようとしてたが失敗)ため、ネイティブのコンパイル環境を整 えてみたりした。しかし、コンパイルしたモジュールを動作させることができなかったので、環境が悪いのだと解釈。ちょうど山下氏がKURO-RSのクロスコンパイル環境の解説をされていたのでそちらを参考にして今に至る。思えばそのときのコンパイルは成功していた気がする。単に動作環境を理解していなかっただけ。ポイントは、gcc-3.4系でコンパイルすることくらいなのだが、時間はかかる。あと、HS-DHGLソースコードはクロスコンパイルオプションがデフォルトでONになっているので、ネイティブ環境ではOFFにすることも忘れずに。

EasyVMX!: Virtual Machine CreatorでVMwareの下地を作り、debianのインストーラCDを使ってクロスコンパイル環境を整え、現在の環境を構築できたのだが、この記事を書こうと久しぶりに触ってみると整理しきれない状態だったので、改めてUbuntuで構築しなおした。試しに赤外線リモコンのモジュールと赤外線コマンドをコンパイルして試用しているが、問題は発生していない。
むしろ、perlで赤外線コマンドを送信していたときより安定しているかも…?

しかしUbuntu、なかなかいいですな(笑)

0 件のコメント: