Under-Construction

▲Zaurus Top | ↑Up(設定・システム) | ←Prev(opie-sh と qcop と簡単ツール) | →Next(ローカルメール環境)


セルフ開発環境

(2003/07/21)

いろいろとソフトをインストールしたいとき、ipk が無いものは、ソースからコンパイルしないといけない。母艦上でクロスで作ってもいいのだけど、環境構築が面倒だったので、dev_imgによるセルフ開発環境を zaurus 上に構築する。つまり、gcc を元とする開発環境をインストールする。最近の Linux は、ほとんどバイナリパッケージから入れるので、自分でコンパイルするなんて久しぶり。昔 SunOS を使っていた時以来かな。

セルフ環境の構築方法はhttp://www.netfort.gr.jp/~tosihisa/zaurus/gcc_self.txtに詳しい。以下、私の作業メモ。

  1. イメージファイルのダウンロード。
    http://prdownloads.sourceforge.net/zaurus/dev_img-1.3?download
  2. この dev_img-1.3 は、gcc を中心としたコンパイル環境のファイルツリーをそのまま、cramfs のイメージとして固めたもの。今回、このイメージは、SD カード上(/mnt/card/dev_img-1.3)に置いておく。
  3. イメージのマウントポイントを作る。デフォルト(SL-5500がデフォルト環境だ)は /mnt/dev らしいけど、C760 の場合 /mnt は rom 上にあり、マウントポイントを作成できない。/home/zaurus/mnt を作成し、マウントポイントとした。
  4. /etc/fstab に、dev_img 関係を追加。SDカードを挿していない時のため、起動時に自動で mount しないように noauto としておいた。
    /usr/mnt.rom/card/dev_img-1.3 /home/zaurus/mnt cramfs noauto,loop,ro 0 0
    
  5. root になって、次のコマンドで dev_img が /home/zaurus/mnt にマウントできる。
    bash-2.05# mount /home/zaurus/mnt
    ループバックファイルシステムなので、df コマンドでは見えない。mount コマンドを引数無しで使うと見える。これは、再起動と mount は解除されるので、再起動後、gcc を使いたい度にやりなおす必要がある。
    bash-2.05$ mount
    /dev/root on / type jffs2 (ro)
    /proc on /proc type proc (rw)
    /dev/ram1 on /dev type minix (rw)
    /dev/mtdblock3 on /home type jffs2 (rw,noatime)
    none on /dev/shm type tmpfs (rw)
    none on /dev/pts type devpts (rw)
    /dev/mmcda1 on /usr/mnt.rom/card type vfat (rw)
    /dev/loop0 on /home/zaurus/mnt type cramfs (ro)
    
  6. /home/zaurus/mnt/bin/compiler_setup.sh を使って、メインの /usr 以下のファイルシステムに symlink を張る。これは一度やっておけば良い。
    bash-2.05# /home/zaurus/mnt/bin/compiler_setup.sh -r /home/zaurus/mnt
    
  7. ただし、dev_img に含まれている bin/compiler_setup.sh だが、どうやらバグ有り。libstdc++-3-libc6.1-2-2.10.0.so が $QTDIR/ に symlink される。$QTDIR/lib/ が正しいと思うので、symlink を修整してあげよう。
  8. $PATH に /home/zaurus/mnt/bin を追加。これは、shell 起動の度にする必要がある。
    bash-2.05$ export PATH=$PATH:/home/zaurus/mnt/bin
    
  9. gcc --version でなんか表示されたらOK。

▲Zaurus Top | ↑Up(設定・システム) | ←Prev(opie-sh と qcop と簡単ツール) | →Next(ローカルメール環境)


近藤靖浩