LAN Tankその3

LAN Tankいじり。いままでLANTANKと書いてきたが、よく見るとLAN Tankというのが正しい表記であった。I-O DATAブランドの完成品はLANDISKで正しい。

WoL
/home/LANDISK/scriptsに謎のファイルがいっぱいあった。この中にsetwol.shなるスクリプトがあって、WoLを有効にできるようだ。LANDISKにはこの機能があることが明記されているので、LAN Tankにもないわけはないと思っていた。主な用途がバックアップなので、深夜の自動バックアップでも夜通し電源を入れっぱなしにしておく必要がなくて助かる。これはなかなかよい。どうやら毎回設定しないといけないみたいなので、rcの中に仕込む。
SH-Linux Kernel Switcher
なんか便利そうなものが。要は最近のLinuxに入っているkexec(2)、NetBSDでいうoptions KLOADER。ブートローダの設定を変えなくても好きなカーネルが試せる。動かなかったらぶちっとコンセントから引き抜いてやればよい (リセットスイッチはあるが、ハードウェアリセットではないようだ)。シリアルコンソールなしでもちょっとした実験ならできそうなので、カスタムカーネルを試してみよう。
カーネルソース
付属CDにカーネルソースやらパッチやらがいくつも入っているが、unameから見てlinux-2.4.21-iodata.tar.bz2というのが該当すると思われる。GPLマンセー。configらしきものも入っているが、あきらかにデフォルトのものとは違う (たとえばNFSv3が有効になっている)。参考にはなるかな。
カスタムカーネル
さっそくgccとかを導入して、カスタムカーネルを作ってみた。Makefileがクロスコンパイル前提になっているので、makeにCROSS_COMPILE=とかのオプションを付けないとセルフコンパイルできないようだ。
Kernel-2.4 サイズ制限緩和パッチ
んが、どういじっても起動しないカーネルしかできないのでググる。Kernel Switcherと同じサイトのすみっこで発見。カーネルが2MBあまりを越えると起動できないらしいのでパッチを当てる。これで起動するカーネルができた。今度NFSv2とv3で性能を比べてみよう。
いろいろ削る
メモリ節約のため、いろいろ削ったりモジュール化したり。/etc/default/bootlogdをBOOTLOGD_ENABLE=Yesにすると、rcの中のメッセージが/var/log/bootに吐き出されるので参考にする (/var、というか、LAN Tankでは/をマウントする前にコケるとダメだが)。なぜか普通のhotplugデーモンの代わりにmurasakiとかいうのが入っていて、USB関連とかのドライバをうまくロードしてくれない。なにやらfork failedとかのメッセージが残されているのだが… むーん。
NIC
おなじみのカニがオンボードだが、こいつはRTL8139C+という、まともなDMAを持ち、ハードウェアチェックサムなどのオフローディング機能のついたリビジョンだ。RTL8169の100Mbps版とも言える。すばらしい。C+以前の8139と互換性もあるが、Linuxなら8139cpドライバ、NetBSDならreドライバを使うのが吉。標準カーネルでも8139cpを使うようになっている。linux-2.4.21-iodataでは、送信チェックサムがexperimentalとか書いてあって無効になっているが、ついでなので有効にしてみた。動かないようならethtoolで無効にできる。とはいえ、この程度のNAS箱では、SH4 266MHzですら余裕があると思われ、効果は薄いかも。まぁ気持ちの問題。これもいずれ性能比べてみよう。
RTC
いつの間にかRTCの読み書きに失敗するようになった。標準のカーネルでも失敗してるぽい。むーん。
murasaki
straceしたら、/proc/sys/kernel/modprobeを読もうとして失敗している。カーネルソースをよく見ると、CONFIG_KMOD (たとえば、NFSサーバ機能を使おうとしたときに、modprobe nfsdをカーネル自ら実行する機能) を有効にしたカーネルにしかないファイルだ。むーん。murasakiのソースでも、ここでfork failedという嘘を吐くことを確認。むーん。CONFIG_KMODを追加して解決。hotplugデーモンだとPCIデバイスのドライバもロードしてくれるんだが… っと、-DONLY_CARDBUSとか付いてるんだな。まぁ8139cpとEHCI、OHCIだけだからstaticに組込むか。
NetBSDおためしパック
Kernel Switcherで試せるらしい。今んところLinuxでいいやと思っているので試しただけ。NICのドライバがrtkしか入ってないのでreに入れ替えるべきだろうなぁ。

トラックバック(0)

トラックバックURL: http://makoto.minoura.org/d/mt/mt-tb.cgi/86

コメントする

このブログ記事について

このページは、みが2005年11月 3日 00:17に書いたブログ記事です。

ひとつ前のブログ記事は「何事だその2」です。

次のブログ記事は「LAN Tank その4」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。