□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
も選択しておくといいでしょう(基本的にモジュールとして選択しないでください。いや説明が面倒なだけなんですがね(^^;))
さて、いよいよコンパイルです。もちろんクロスコンパイルすることになりますから、/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.
- ssh
- tcp_wrappers
- inetd
- telnet
- w3m
- cvs
- ncftp
- ninfod
- pfkey
- ppp
- cadaver
- davfs2
- vnc
- usagi-tools
http://www.linux-ipv6.org/~kunitake/zaurus/feed/
http://zaurus-ja.sourceforge.jp/feed/
http://debian.fabbione.net/stat/