wiki:ChumbyRebuildToolchain

Chumbyのツールチェインを再構築する

最近、 Chumbyをいじってます。 詳しくは他のサイトに譲りますが、無線LANでネットにつながる、フルカラー液晶+タッチスクリーン付きの目覚まし時計…のようなものです。 メーカーのサーバから配信されてくるFlashムービーを常に流し続けておき、気が向いたらタッチスクリーンに触ってインタラクトするというコンセプト。 この時代らしく、自作のFlashムービーをサーバに掲載してもらうこともできます。 中身は当然のようにLinux。 中身のソフトウェアはほぼオープンソースで、ハードウェアさえもオープンソース。 技術者から見たらいじらずにはいられないデバイスです。 「ほぼ」というのは、Flashムービーを再生するためにAdobe純正のFlash Liteプレーヤを搭載しているからです。

さて、中に入れるソフトをコンパイルするコンパイラ類(ツールチェイン)は メーカーが提供しています。 しかし、これをこのままインストールするのはあまりお勧めしません。 なぜならば、/usr/localではなく、/usr以下の複数のディレクトリにばらばらとコンパイラやらライブラリやらがインストールされるからです。 Chumby自体はとってもすてきでセンスがいいなーって思うけれど、こういうところはちょっとイマイチ。 いちお、弁護しておくと、どうも組み込み系ってツール類の特定のバージョンの組み合わせが要求されることが多く、一台の開発マシン(実マシンまたはVM)を開発目的ごとに専用にしてしまうことが多いから、/usr以下にばらばらとインストールしても気にしないかもしれない。 でも、僕らのように、一台のマシンでいろんな開発をする立場からすると、PATHの設定でぱぱっと開発環境を切り替えたり、いらなくなったらぱぱっと削除したりしたい。 この点からは、たとえば「/usr/local/chumby」のような一つのディレクトリ以下にインストールされる方がいいよね。

そんなわけで、/usr/local/chumby以下にインストールされるツールチェインを作りました。 正確に言えば、そんなツールチェインを自分でビルドするためのシェルスクリプトを作りました。

何をしているかは、上記のソースを読んでいただけばわかりますが、概要は以下の通りです。

  1. メーカーが配布しているツールチェインをもらってきて、libc等のバイナリ、ヘッダーファイルを抜き出す。
  2. GNU binutils、GNU GCCのソースアーカイブをもらってくる。
  3. /usr/local/chumbyディレクトリを作成し、自分の物にしちゃう。
  4. /usr/local/chumby以下に配置するように指定してビルドする。
  5. インストールしちゃう。

途中でsudoが必要なので、パスワードを聞かれたら自分のパスワードを入力してください。 つまり、「sudoで何でもできる人」じゃないとうまくいきません。

/usr/local/chumbyの所有者を自分に変更してしまいます。 都合が悪い人は、全てが完了してからrootなどに変更してください。 このスクリプト自体をrootで動かすのはお勧めしません。 make installが、/usr/local/chumbyの外に変更を加えてしまうかもしれないからです。

使うには、PATHに/usr/local/chumby/binを追加してください。

(2008/3/12 - sgk)