本年もよろしくお願い致します。
日記のファイル名が jdiary991216.html みたいになっていたので、y2k問題が発生していたんだけど、2000年の日記ファイルは jdiaryA00101.html にすることで一気に回避………。
高速検索ページでは、いきなりgrep *を実行しているので、shが展開するファイル名の順番ぢうようってことで、jdiary20000101.html とか jdiary000101.html は使えなかったのだ。
年号の10の位にA〜Zまで使えるから、あと260年は大丈夫かな〜。
今年の抱負。
例年抱負が変わっていないあたりがダメダメだ。
ちなみに、去年の抱負の結果は
と悲惨な有り様だったりする。
そんなわけで、今年の抱負は
解説:FM/V BIBLO NC313用のFDドライブを会社に置き忘れてきたので、FreeBSD 2.2.7RからFreeBSD 3.3RへOSのアップグレードを冬休み中にするつもりだったのに全然できないことに気が付いたときの一句。
そーいや、FreeBSDのインストールには必ずブートフロッピーを使うか、あるいはCD-ROMブートを行う必要があるよな………。
今回のインストール対象の FM/V BIBLO NC313 は、CD-ROMブートはできないからフロッピーがないと全然インストールできないや。
フロッピーがないとインストールできないとゆーのも何か悲しいものがあるので、ちくとねばってみる。
fbsdboot.exeというプログラムがCD-ROM内部に入っているが、おそらくこれはaout形式のkernel用なんでダメっぽい。
(そーいえヴぁ、このツールってばいつまでも放置されとるよなぁ……。)
検索してみたら、FreeBSD-users-jp [45745]にて、bsdboot.comが紹介されていた。
bsdboot.com (1999 年 7 月 21 日)(30245 bytes) i386 (PC/AT) の FreeBSD/ NetBSD/ OpenBSD を DOS からブートす るためのプログラムです。
とのこと。
上のページって、結構色々置いてある。
GMTで2000年を越えたあたりから、読んでいる日記ページが惨敗しはじめる。
朝日奈アンテナ ページから最新版の 2.110 を拾ってきても状況は同じだった。
そんなわけでデバッグ開始。
以下、朝日奈アンテナ 2.110 へのパッチ。
diff -uwr hina-2.110.orig/hina.pl hina-2.110/hina.pl --- hina-2.110.orig/hina.pl Thu Aug 26 02:56:12 1999 +++ hina-2.110/hina.pl Sun Jan 2 18:41:35 2000 @@ -1388,8 +1388,7 @@ { local($msg) = shift; local($sec, $min, $hour, $mday, $mon, $year) = localtime(time); - $year += 1900 if ($year < 100); - $year += 100 if ($year < 1970); + $year += 1900; local($str) = sprintf("%04d/%02d/%02d %02d:%02d:%02d [%d] %s", diff -uwr hina-2.110.orig/hinadc.pl hina-2.110/hinadc.pl --- hina-2.110.orig/hinadc.pl Thu Aug 26 02:56:07 1999 +++ hina-2.110/hinadc.pl Mon Jan 3 02:15:03 2000 @@ -1244,8 +1244,7 @@ { local($msg) = shift; local($sec, $min, $hour, $mday, $mon, $year) = localtime(time); - $year += 1900 if ($year < 100); - $year += 100 if ($year < 1970); + $year += 1900; local($str) = sprintf("%04d/%02d/%02d %02d:%02d:%02d [%d] %s", diff -uwr hina-2.110.orig/libhina.pl hina-2.110/libhina.pl --- hina-2.110.orig/libhina.pl Thu Aug 26 02:56:16 1999 +++ hina-2.110/libhina.pl Mon Jan 3 03:42:57 2000 @@ -358,7 +358,7 @@ $_ = $line; - @field = split(/ /, $line); + @field = split(/[ ]+/, $line); if ($DEBUG) { print STDERR "line: $line\n"; diff -uwr hina-2.110.orig/libtime.pl hina-2.110/libtime.pl --- hina-2.110.orig/libtime.pl Wed Nov 25 15:58:33 1998 +++ hina-2.110/libtime.pl Mon Jan 3 03:06:27 2000 @@ -51,6 +51,7 @@ { local($sec, $min, $hour, $mday, $mon, $year) = @_; $year += 1900; + if ( $year < 1970 ) { $year += 100; } local($time) = &xtimegm($sec, $min, $hour, $mday, $mon, $year) - &xtimegm(0, 0, 0, 1, 0, 1970);
$year と 100 を比較して、100未満なら1900を足す処理で死んでいることが判明。
localtimeで帰ってくる $year は 1900年からの経過年数を返すハズだが、こんな処理が入っているちうことはそーわなっていない処理系もあるんだろうな〜。
あと、libhina.pl:sub anldate内部で$dyear = $year % 100 という計算をしてから main'timegm を呼んでいる部分があったので、libtime.pl:sub main'timegm関数の中で$yearに1900を足しても1970に届かない場合はさらに+100するという処理を追加してみたり。
RFCによれば、「Last-Modifiedなどで西暦の下2桁をもらったら、現在の年から50年以内の年を指していると解釈せよ」ということらしいので、厳密には間違った処理なんだけどねん。
ついに究極の破壊を成し遂げた。
tulip_media_set関数内部に、mi->mi_type == TULIP_MEDIAINFO_MII で、かつ mi->mi_reset_length == 0 かつ mi->mi_gpr_length == 0 なら、CSR13とCSR14に 0 を書き込むコードを追加。
(CSR13とCSR14に0を書き込むのはデータシートから得たネタ。)
athlonに挿さっているDEC 21143 Rev 0x41カードの場合、tulip_srom_decode関数で読み込まれる情報が、メディアはMIIでリセット用データの長さが0バイト、初期化時にgprレジスタに書き込むデータの長さが0バイトになっているので、上の条件でヒットするわけだ。
これにより、magi (FreeBSD 3.2R 21140A) → athlon (FreeBSD 3.3R 21143 Rev 0x41) への ftp 速度は 2.94MB/sec になった。
どうやら100baseTXでの初期化に成功したらしい。
以下に、FreeBSD 3.3R用の差分を示す。
# Size of the kernel message buffer. Should be N * pagesize. options "MSGBUF_SIZE=81920"のように記述して、メッセージバッファサイズを増やしておかないとバッファがあふれてメッセージが見えないので注意。
上のパッチをあてて、見事条件にヒットした場合は
de0: tulip_media_set: TULIP_CSR_WRITE(CSR15, 00000000) de0: tulip_media_set: TULIP_CSR_WRITE(CSR14, 00000000) de0: tulip_media_set: TULIP_CSR_WRITE(CSR13, 00000000)
というメッセージが表示されるハズ。 これで100baseTXの速度がマトモになれば大成功というわけ。
そんなわけで、今年の抱負は早くも達成されてしまった。
結局、関西弁のおにーちゃんは殴られに来たのか〜〜。
ここから拾ったMozilla 5 Milestone 12 の FreeBSD用のバイナリを試してみた。
スクリーンショット。
run-mozilla.shがある所にPATHを通せば、あっさり動く模様。
もっとも、mozillaコンパイル用の環境(gtkとか)も全部揃っているマシン上で試したから、そりゃあっさり動くやね。
日本語のページを表示させようとしたら、フォントサーバ(ふつーのやつ)が落ちてしまったけど。
半日でおしまいになった。
会社に置いていたBIBLO NC313用のフロッピーを確保したので、FM/V BIBLO NC313にFreeBSD 3.3Rを最初からインストール。
DOS領域からのインストールをするつもりなので、あらかじめWindows98側でFreeBSD 3.3RのCD-ROMの内容をc:\freebsdディレクトリ内部に入れておく。
インストールはExpressを選択してみた。 なるほど、最小限のことしか聞いてこない。 タイムゾーン設定とか、rootのパスワードはファイル展開後に自分でメニューを選択して設定する。 ここでrootのパスワード設定を忘れると、いきなりログインできなくなるんだろうな〜〜。
インストールはあっさり終り、再起動。
まずは、XFree86の設定。
これまで、BIBLO上では Accelerated-X 4.1 を使用していたが、XFree86にNeomagicサポートが加わったのでXFree86を使用してみる。
XF86Setupを実行する....。
グラフィックカードの所でNeomagicを選択。
800x600モードを選択すると、Xサーバが起動しないんですけど。
(640x480モードなら、Xサーバは起動する。)
Laptop-XからBIBLO NC313用の設定を探す………。
あった。
これを使えば、800x600 8bppでのXサーバの起動に成功。
神田さんありがとうございます〜〜。
追記:XF86Setupでは、640x480の設定しかできないらしい。
/etc/XF86Configに直接書くか、xf86configコマンドで設定すると、800x600の設定もできるらしい。
でもって、/etc/XF86Configを直接編集。16bpp設定を追加したら、あっさりと動作。
とっても快適。
続いて/etc/pccard.confの設定。
サンプルファイル /etc/pccard.conf.sample には、手持ちのEtherカードの設定は無かった。
いつもは Megahertz PCMCIA ETHERNET With XJACK Connector CC10BT/2 を使っていたのだが、FreeBSD 3.3Rにはこれをサポートする sn0 のデバイスドライバが存在しないようだ。
アレってPAOにしか無かったのか。
とりあえず、ed0(NE-2000コンパチ)なcorega K.K. PCC-Tが手元にあるので、これを使うことにする。
pccardc dumpcisして情報をゲット。
(以下のdumpcisの結果は、必要なタプルのみ抜粋。)
Configuration data for card in slot 0 Tuple #1, code = 0x1 (Common memory descriptor), length = 3 Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3 Tuple #3, code = 0x20 (Manufacturer ID), length = 4 Tuple #4, code = 0x15 (Version 1 info), length = 34 000: 04 01 63 6f 72 65 67 61 20 4b 2e 4b 2e 00 63 6f 010: 72 65 67 61 20 45 74 68 65 72 20 50 43 43 2d 54 020: 00 ff Version = 4.1, Manuf = [corega K.K.],card vers = [corega Ether PCC-T] Addit. info = [,A],[] Tuple #5, code = 0x13 (Link target), length = 3 Tuple #6, code = 0x21 (Functional ID), length = 2 000: 06 00 Network/LAN adapter Tuple #7, code = 0x1a (Configuration map), length = 5 Tuple #8, code = 0x1b (Configuration entry), length = 17 000: e0 81 1d 3f 55 4d 5d 06 86 46 26 fc 24 65 30 ff 010: ff Config index = 0x20(default) Interface byte = 0x81 (I/O) wait signal supported Vcc pwr: Nominal operating supply voltage: 5 x 1V Minimum operating supply voltage: 4.5 x 1V Maximum operating supply voltage: 5.5 x 1V Continuous supply current: 1 x 100mA Max current average over 1 second: 1 x 100mA, ext = 0x46 Max current average over 10 ms: 2 x 100mA Wait scale Speed = 1.5 x 10 us Card decodes 4 address lines, 8 Bit I/O only IRQ modes: Level IRQ level = 4
これを踏まえて、/etc/pccard.conf内部に記入。
# corega Ether PCC-T card "corega K.K." "corega Ether PCC-T" config 0x20 "ed0" ? insert echo corega K.K. PCC-T Ether inserted insert /etc/pccard_ether ed0 remove echo corega K.K. PCC-T Ether removed remove /sbin/ifconfig ed0 delete
よっしゃ。
認識された。
あとはrsyncをpkg_add。 デスクトップマシンからファイルをコピーしまくる。
使用しているパッケージを手動で選択してpkg_addするのが面倒だったので、すでに FreeBSD 3.3Rで動作しているマシン上で pkg_info -a -I | awk '{print $1}' などとしてインストール済パッケージ一覧をゲット。
パッケージファイルはWalnut Creek CD-ROMの1枚目と3枚目に分散しているので、使用しているものだけデスクトップマシン上のHDDにコピーしてみる。
使っているパッケージを全部あわせても144MB程度なのね〜。
ファイル群をノートマシンにコピー。
for i in *.tgz ; do pkg_add $i ; done とかやって(ぉぃぉぃ)一気にpkg_add。
ja-xemacs関連のパッケージもあっさり稼働状態でインストールできた。
ここまでで5時間ほどかかっていたり。 各種デーモン / サーバの設定でさらに3時間ほど使用して、BIBLO NC313をフル稼働状態まで持って行った。 フルインストールって面倒だわ。
骸骨、ゾンビ、リッチー相手に人間と共同戦闘でバトルしてみる。
やっぱり共同戦線を張るとおもしろいねっ。
de0:を倒したと思っていたが、なんだか問題があるようだ。
100baseTXモードでしばらく使用していると、corega switching HUBのLEDランプが激しく点滅をはじめて、athlon(DEC 21143 Rev 0x41)の通信が全然できなくなる事態に陥る。
手動で10baseT/UTPモードに設定した場合は、長時間(と言っても7時間くらいしか試していないけど)は安定して通信できる模様。
de0おそるべし。
通信ができなくなる瞬間、コンソールにはde0のprintトレースログは全く表示されないので、勝手に初期化ルーチンが走っているとかではなさそう。
はてさて、困った。
pkg_info -aI しなくても ls /var/db/pkg でいいんぢゃ…………って、本当にそうっすね。
こちらこそ、今年も宜しくお願いしますぅ。
M12で日本語のページ(もちろん、ひらがなも使っている)を表示させると落ちるのは、ひょっとして中国語フォントがあると落ちるってゆーのにヒットしたかな?
athlon上でWindows98 SEを使うことしばし(1時間くらいかな)。
Corega Fast SWII-8PのLEDが激しく点滅し、athlonは通信不能状態に陥った。
なんだ。
Windows98 SEのドライバでもダメぢゃん。
別にFreeBSDのdeドライバが悪いわけぢゃないんだね。
HUBが悪いのかカードが悪いのかはよくわかんないけど。
とりあえず、これぢゃーマズイので予備で持っているDEC 21140-AFのカードに交換しようかな。
ひょっとすると物理層かもしれないと思って、ケーブルをぐりぐりしてみる。
おや?ぐりぐりするだけでLINK LEDが点滅するぞ?
隣にささっている他のケーブルもぐりぐりしてみる。
他の4本のケーブルはみんなぐりぐりしてもLINK LEDは点灯を続けている。
そんなわけで、athlon - switching HUB間ケーブルを交換。
しばらく様子を見よう。
超助かりました〜。
16bpp設定つきのXF86ConfigはLAPTOP-Xに送った方がいいですよね。
後で書いておきます。
(後日談:16bppの設定もちゃんと書いてあった…。)
そんなわけで、de0を稼働状態にしたままお休みなさい。
この週末中使っていて問題が無ければ、de0パッチをFreeBSD-tech-jpに投げる予定。
会社で待機中。
ヒマなのでホームページのリンク先チェックなんてしていたり。
このファイルへ、16bppの設定を追加しようとしてファイルを見物。
あれ?
ちゃんと16bppの設定が書いてあるぢゃん。
オレの目は節穴だ〜〜〜〜。
ケーブルを変えてからのathlon DEC 21143 Rev 4.1 は100Mモードで使用していても順調。
よかよか。
さて、tech-jpに投げるため、さらにパッチを変更する。
さすがにprint沢山な差分だと、大きすぎてメーリングリストには投げられない。
ふにふに。
ふにふに。
ふにふに。
結構削ったのに、差分がまだ300行もあるぞ。
ここらで妥協しよ〜かな〜。
未開封にしていたDVD-ROMドライブをathlonに装着。
そして、蔦屋にてDVDソフトをレンタル。
DVDではあんまり見たいタイトルが無かったので、「THE END OF EVANGELION」と「TERMINATOR」を借りる。
でもって、早速AthlonマシンでDVD再生をしてみる。
athlonに刺さっているRIVA TNT2の添付CDについていたMPEGプレーヤーでは再生できないらしい。
検索してみた所、Soft DVD playerの比較一覧ページがあった。
ここから辿ってSMI Soft HomePageからMightyPEG/DVD IIの評価版をゲット。
映像5分、音声3分まで再生できるというものだ。
動画再生はちゃんとできていて、Athlon 500MHz + RIVA TNT2の組合せでコマ落ちなく鑑賞できるようだ。
(コマ落ちを見逃している可能性はあるけど。)
続けて、The Next Digital Video & Audio Evolution in Cyberspace! からPowerDVD評価版をゲット。
再生エンジンは上のMightyPEG/DVD IIと同じらしい。
どのくらい同じかってゆーと、インストール後に行うベンチマークテストのメッセージまで一字一句同じ(笑)。
どうやら、ユーザーが操作するパネルウィンドウしか違わないらしい。
こちらは音声3分、映像6分の再生制限がある。
再生エンジンが同じとゆーことで、再生状況も同じ。
わりかし再生できている雰囲気なので、今すぐ全部見たくなって来た。
(罠に落ちたのかも〜)
PowerDVDの方は、ベクターデザイン内部のPowerDVDコーナーにてオンライン販売しているらしいので、注文してみる。
レジストキーが送られて来るまで20分らしい。
で、その間にぐるぐる。
レジストキー(後日談:修正(^^;))ライセンスキーが来ないな〜と思っていたら、 メールがspock.vector.co.jpからmx1.rim.or.jp に届くまでに2時間50分ほどかかっていた模様。
これじゃーVectorの申し込み処理時間がいくら速くても意味無いやん。
リムネットメールサーバ、ひょっとして落ちてた?
で、PowerDVDで鑑賞。 1152x900 24bppの全画面で再生していても、結構見れる画面だ。 ごく稀にフレームが飛んでいるのが分かるが、フレーム飛んだかな?と思うのは1映画あたり1,2回くらいなので満足できるレベル。 よかよか。
DVDで遊んでいたので、if_deの差分縮小作業が停止してしまっつ。 うう。
i386 (PC/AT) の FreeBSD/ NetBSD/ OpenBSD を DOS からブートするためのプログラムbsdboot.comが置いてあるPagina de Kurati: Downloadから、どうあがいてもbsdbootがダウンロードできなかったので、作者さんに泣きつく。
どうやらWebサーバ側の設定で、テキストファイル扱いされていたのでCRLF変換されていたのが展開エラーの原因とのこと。
現在は、tar.gz.uue として、テキストに変えて置いてあるのでゲットできるようになっているとの返事を頂きました。
ありがとうございました。
wwwoffle -fetch -O URL | less すりゃわかるんだから、気付よ>オレ。
反抗する鍵ってなんやねんとゆーつっこみありがとうございます。
よくよく見たら「ライセンスキー」って書いてありました。
で、下の方に<作者によってはライセンスキーのことを「パスワード」「解除キー」「ID」「レジストコード」などの呼び方で説明している場合があります。>と書いてあったので、頭の中で混ざったよーです。
遊んでいて午前様になったわけではないあたりはちょっと悲しい。
帰って来て、NewTypeの真中辺を読んですぐ沈没。
NLX筐体のCeleron 400MHzマシンにFreeBSD 3.3Rを新規インストール。
自分が使っているパッケージ一式は前に一覧を作っていたので一気インストール状態。
とってもらくちん。
デスクトップマシン(しかもIntel Etherチップ)だと、何も悩むポイントが無い〜。
portsがらみのメモについて。 個人的な要望を。
自分でインストールてるのって、qvwmとwwwoffleとWanderlustとw3mくらいかも...。
明日はなぜか出社だし、日曜日に買おう。
新年会。 北の家族でうだうだ。
ボスやんの絶対0度攻撃のコマ、ランドに斬られた右手が復活しているような…………。