[Japanease][English]

Zaurusを世界一?IPv6で進んだPDA に仕立てる方法


□C700を買って来る
  実は他人のC700でテストしてたり......後述するアプリは基本的にSL-5500とC700で動作確認を取っています。

#やっぱり人に、みせびらかすときのインパクトがC700とSL-5500では......(^^;



□クロスコンパイル環境を整える


http://more.sbc.co.jp/sl_j/tool/tools.htm



上記の <Linux関連 開発ツール>からクロスコンパイルに必要な開発環境を落してきてインストールするだけ。Debian な人は alien で deb file に変換してからインストールすればOK。
  ツール群は

/opt/Embedix/tool

  にインストールされます。使う時には、ちゃんと/opt/Embedix/tool/bin にパスを通しましょう。

bash系の場合
$ export PATH=/opt/Embedix/tools/bin:$PATH

csh系の場合
$ setenv PATH /opt/Embedix/tools/bin:$PATH



□kernelを再構築する(SL-C700編)
  先日、とうとう C700 のカーネルソースが公開されました。やっぱり SD ドライバは、非公開のようで、残念な限り......しかも最新版ではなく、2.4.18......でもまぁ SL-5500 みたいに、2.4.8とかじゃなくてよかった(^^;

  さてさて、IPv6 をやるからには、USAGI をベースに patch をあてて行くことを考えたいと思います。ベースとなる kernelが 2.4.18 ですので、USAGI もそれに対応した snapshot 版を取ってきます。


  さらに、Zaurus のために下記の patch を取ってきます。
  これらを $somewhere へダウンロードしたものとして、以下に説明を。

  まずは USAGI 展開します。

$ cd $somewhere
$ bzip2 -cd usagi-linux24-s20020722.tar.bz2 | tar xvf -
$ cd usagi
$ make prepare TARGET=linux24
$ cd kernel/linux24

  つぎに patch をあてていきます。

$ bzcat $somewhere/patch-2.4.18-rmk7.bz2 | patch -p1
$ zcat $somewhere/diff-2.4.18-rmk7-pxa3.gz | patch -p1
$ bzcat $somewhere/linux-2.4.18-rmk7-pxa3-embedix-slc700-slb500-20021214-rom1_00.bz2 | patch -p1

  さらにMakefileで conflict が起きていると思うので、


  をあってて下さい。

$ patch -p1 < $somewhere/zau-usa.patch

  今回ターゲットにしているのは、C700 ですので、

$ cp arch/arm/def-configs/corgi .config

  とします。で、

$ make menuconfig

  として、カーネルのオプションを選択します。下記で上げるのはIPv6 のオプションだけですが、davfs2 とかを使いたい人は、Coda file system も選択しておくといいでしょう(基本的にモジュールとして選択しないでください。いや説明が面倒なだけなんですがね(^^;))

menuconfig


  さて、いよいよコンパイルです。もちろんクロスコンパイルすることになりますから、/opt/Embedix/tools/bin に PATH が通っていることを確認しておいてください(人によっては、arm-linux-gcc の場所が違うかもしれませんが、それは適当に読みかえてください)

$ make dep; make clean;make zImage

  しばらくたつと、arch/arm/boot/zImage が出来ているはずですので、これを CF などを用いて、Zaurus にインストールします



□Zaurus の kernelを入れ換える(SL-C700編)

  シャープさんのページを直接見て頂いた方が早いでしょう。

http://zaurus.spacetown.ne.jp/sl-c700/update/c700update/c700updatecard.asp


  本文中に出てくる zImage.bin と上で作った zImage とを差し替えて作業をおこないます(initrd.binはなくても大丈夫かも?)

  注意点としては、zImage.bin を小文字、大文字ともに、あわせてインストールに使用するカードに入れておくということでしょうか?zimage.bin とかでは、うまくいかないはずです。

  あと、決まり文句ではありますが、カーネルの入れ換えによって不具合が生じても私は責任を取れませんし、シャープさんも「動かないんだけど!」とか言われてもこまると思うので、あくまでも自己責任でお願いしますね。
  基本的に、不具合が生じたらアップデートを標準のものでやりなおせば大丈夫だとは思いますが、100%大丈夫だとは、私も言い切ることができませんので、覚悟の上で、お願いします(^^;
  無事起動したら、ターミナルから ifconfig を実行してみましょう。loopback address に ::1 とか付いているのが確認できれば OK です。

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:3274 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3274 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:596683 (582.6 KiB)  TX bytes:596683 (582.6 KiB)


□IPv6 に対応したアプリケーションを追加する
 not yet.


http://www.linux-ipv6.org/~kunitake/zaurus/feed/
http://zaurus-ja.sourceforge.jp/feed/


http://debian.fabbione.net/stat/