CAT709,CAT760は IPv6プロトコルに対応していますが出荷時のカーネルコンフィグレーションでは組み込んでいません。
以下 IPv6プロトコルの組み込み方法を記述します。
- 必要なもの
- クロスコンパイル環境(クロス・コンパイラ)
- カーネルソースコード
注意点としては、CAT709,CAT760の場合カーネルの保存領域がFLASH ROMの 0x10000〜0x140000の間の 0x130000バイト(1,245,184バイト)となっているため、コンパイル後のzImageサイズが1,245,184以下である必要があります。
- カーネルを展開します。開発PCにて
$ mkdir cat-kernel (作業ディレクトリを作る)
$ cd cat-kernel
$ tar xzvf /CDROMのkernelディレクトリに入っています/linux-2.6.15-cat_20080502.tgz
$ cd linux-2.6.15-cat/
- デフォルトのコンフィグレーションにします
$ make cat709_defconfig CAT709の場合
$ make cat760_defconfig CAT760の場合
$ make mb760_defconfig CAT760+MB760マザーボードの場合
- コンフィグレーションを変更します
$ make menuconfig
General setup --->
[*] Optimize for size (Look out for broken compilers!)
Networking --->
Networking options --->
<*> The IPv6 protocol
カーネルのサイズを小さくするため、コンパイル時の最適化としてサイズ優先オプションを有効にします(-Osが使われます)。
- ビルド
$ make
しばらく待ちます
$ ls -l arch/sh/boot/zImage ↓CAT709の場合
-rwxr-xr-x 1 ebihara ebihara 1150976 Nov 25 01:15 arch/sh/boot/zImage
コンパイル後のzImageのサイズが1,245,184バイト以下であることを確認してください。
(ファイルサイズはカーネルのソースコードのバージョンなどによって異なる可能性があります)
- CAT709へのインストール
CAT709にて、Linuxが動作している状況で
$ cp zImage /dev/mtdblock1
へ書き込み、再起動してください。
TELNET等のIPv6対応 †
/etc/inetd.conf への追加設定が必要です。
telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
の行をコピーし、tcp6 のエントリーを追加してください。
telnet stream tcp6 nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd
変更後再起動します。
関連 †