OBS266で提供されている最新ファームのlinuxカーネルは2.6.16でIPv6のコネクショントラッキングに対応していないようです。
ip6tablesでRELATED,ESTABLISHEDを使いたいのでCVSで取得できるssdlinuxのソースコードを調べてみるとOBS266で2.6.26が使えそうな雰囲気です。
そこでカーネル2.6.26が動くファームをbuildしてみることにします。
SSD Linuxのクロス開発環境としては
http://www.plathome.co.jp/support/labo/ssdlinux/
から0.4-LATESTのイメージファイル
ftp://ftp.plathome.co.jp/pub/ssdlinux/0.4-LATEST/vmware_i386/ssdlinux-0.4-20111102.zip
をダウンロードしました。
うちの古いVMware server 2.0上でも利用可能でした。
この環境が準備できたらまずはssdlinuxの最新ソースコード一式を取得します。
http://www.plathome.co.jp/support/labo/cvsserver/ を参考にしながら、
ssdlinux$ cvs -d:pserver:anoncvs@cvs.plathome.co.jp:/cvs/ssdlinux login
ssdlinux$ cvs -d:pserver:anoncvs@cvs.plathome.co.jp:/cvs/ssdlinux co src
取得したものを/usr/srcに移動します。
ssdlinux# mv src/* /usr/src
次にbuildの準備です。/etc/mk.confで以下を有効にします。
SSDCVSTAG?=
HAVE_CVS?= yes
DEVELOPTOOLS?= yes
USE_PAM?= yes
USE_PCMCIA?= yes
USE_EXT3FS?= yes
IPV6?= yes
SSDVERSION= 0.4
MTA?= sendmail
# ここ以降を追加
CROSS_BUILD= powerpc
DESTDIR?= /home/dest-powerpc
RELEASEDIR?= /home/release-powerpc
OPENBLOCKS= obs266
KERNEL_PATCHLEVEL=26
SYSTEM_ROM_SIZE=16
準備ができたらビルドします。
ssdlinux# cd /usr/src
ssdlinux# bmake build
OBS266 128M/16 用のファームを生成します。
ssdlinux# cd /usr/src/distrib/powerpc-obs2xx
ssdlinux# bmake
/usr/src/distrib/powerpc-obs2xx/product-huge/treeboot
に
zImage.initrd.treeboot.huge-product
が生成されるので、これをOBS266にコピーします。
OBS266側でこれをflashに書き込みます。
obs266# flashcfg -f zImage.initrd.treeboot.huge-product
あとはobs266をリブートすればOKです。
うちのOBS266はdebian lenny環境なのですが、この2.6.26カーネルでudevが使えるようになったので直接/dev/に作っていたものをudevの方式にしたがって作成します。
obs266# mknod /lib/udev/devices/segled c 10 171
obs266# mknod /lib/udev/devices/mtd/0 c 90 0
obs266# mknod /lib/udev/devices/mtd/0.ro c 90 1
obs266# mknod /lib/udev/devices/mtd/1 c 90 2
obs266# mknod /lib/udev/devices/mtd/1.ro c 90 3
これらはLED点滅用とflash書き込み用のデバイスです。
yellowback's blog 日時 : IPv6 ip6tables設定
yellowback's blog 日時 : OBS266でOCN IPv6へ接続