トップ «前の日記(2003年03月22日) 最新 次の日記(2003年03月25日)» 編集
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2003年03月24日

仕事

会社のコンピュータがいろいろと不調だ。だましだまし使っているが、大事件に発展する前に直しておかなければいけない。たとえばファイルサーバのミラーRAIDの片一方が落ちたままだとか(笑い事ではないな)

今週末くらいにいっせいにリプレースの予定で、現行機種は予備として保存用し、現在保存してあるやつは廃棄とする。今保存してある中で最古のマシン DELL Optiplex 466/L を、廃棄前の最後の仕事としてCAT709との速度比べに使用した。

この Optiplex 466/L はホスト名 "delly" として 99年頃までメールサーバとして活躍してくれた。CPUも、オリジナルの486DX2-66から、ゲタをはかせて 486DX4-100に置換し、その後 AMD 5x86-133へと順調な成長をした。現役を退いた後もしばらくは自宅でサーバとして使用していた(動作音が静かでほとんど音がしない名機だった)

久しぶりにdellyを起動させようとしたが850M のE-IDE HDDは壊れていたし、CPUファンもグリスが固まってしまっていてファンがまったく動かない状態になっていた。急遽外付けにファンを仮設し、HDDの代わりにIDE-CF変換基板によりSiliconLinuxで起動させた(こういうときIDE-CFやSiliconLinuxは本当に便利だ)

試験はカーネルソースの展開時間を計測する方法で行った。ベンチとしては正確ではないが、日常でよく見かける場面での速度調査だ。

# time tar xzvf linux-2.4.20.tar.gz
dellyCAT709
AMD 5x86 133MHz / memory 32M
kernel-2.4.20 debian woody
SH3 117MHz / memory 32M
kernel-2.4.19 debian sid
real    6m32.344s
user    1m9.690s
sys     2m8.960s
U+S 約3分18秒
real      4m 9.04s
user      1m 10.47s
sys       2m 6.95s
U+S 約3分17秒

というわけでこれは偶然か?user+system 時間(つまりプロセスの走行時間)はほとんど同じだった。前々からSH3のパフォーマンスは同クロックの486程度と感じていたが、動作クロック差は多少あるが、実行速度は誤差の範囲だった。CAT709のパフォーマンスは結構いい感じだろう。

delly君はこうしてバラされて廃棄されることとなった。さようならdelly君。ありがとうdelly君。 形見の品として、まだ動作に支障がない「 AMD5x86-133MHzCPU + マザーボード + 32MバイトSIMM 」を取っておくので欲しい方(いるのか?笑)に差し上げます。写真のように IDE-CFをつかってSiliconLinux機として使うのが吉と思います。

CAT709

IPLプログラムに改造を加えてオンボードCFからのブートをサポートした。先日書いたようにext2-fs解読ルーチンを組み込み、zImageファイルを直接起動できるように予定しているが、取り急ぎ従来のCAT68701と同じようにliloにてブートする方法をサポートした。ipl-romのイメージファイルをFTPサーバに置いた。sh-stub_2003-03-24.bin を IPL-ROMとして書き込む。

cat709にて
# cp sh-stub_2003-03-24.bin /dev/mtd0
これでIPLのアップデート完了だ。起動時の日付が
SH IPL+g version 0.11, Copyright (C) 2001 Free Software Foundation, Inc.
build Mar 24 2003 23:39:26
となっていればIPLのアップデートはOKだ。CAT68701と同じようにbキーでオンボードCFからliloブートする。

lilo でブートする時はカーネルパラメータはコマンドラインでCキーでタイプして記録するパラメータよりも lilo.confのappend=行のほうが優先される。以下のようなlilo.confで動作を確認した。

linear
boot = /dev/hde   ← 開発機からみたCFデバイス
disk = /dev/hde   ← 開発機からみたCFデバイス
bios=0x80
append="ro root=301 console=ttySC0,115200 ide0=0xb80001f0,0xb80003f6,34"
delay = 30
vga = normal
image = /boot/vmlinuz
label = linux
root = /dev/hda1
read-only
なお、カーネルソースにも一箇所だけ修正が必要だ。
linux-2.4.19カーネルのdrivers/ide/ide.cの3426行付近を
/*
 * Cryptic check to ensure chipset not already set for hwif:
 */
 if (i > 0 || i <= -11) {                        /* is parameter a chipset name? */
 #if ! (defined(CONFIG_SH_CAT68701) || defined(CONFIG_SH_CAT709))
     if (hwif->chipset != ide_unknown)
          goto bad_option;        /* chipset already specified */
 #endif
     if (i <= -11 && i != -18 && hw != 0)
といった具合に #if 〜 #endif 節を加える。これでオンボードCFからブートできるようになった。

su

suが動作しないのは/bin/su が setuidされていなかったからだ。ちょいミスだった。chmod u+s /bin/su で ok.