日記 (1998年如月)

日記の表紙前月(睦月)翌月(弥生)
1998年2月1日(日)
もう2月。

あ、リンクどうもです。

ううむ、新種の「ホームページ」。さすがというべきか(笑)。

o 試しに旧版の Advanced PCB 2.8 を使ってみる。安定性はこっちの方が上だな。 … auto router の使い方が分からん。

1998年2月2日(月)
o お、D-Link DE-650 (NE2000 互換 PCMCIA) は ifconfig で down しておくと suspend しても大丈夫なのか。これは使えそうだ。

NetBSD のカーネルで options DIAGNOSTIC をつけると、free() したメモリは、0xDeadBeef で塗り潰されるのか。これは便利(謎)。 以前どこかで見たと思ったが忘れていた。正解は kern_malloc.c の中。

おっけー。抜き挿しも suspend も問題なし(笑)。ただし、同じ D-Link のカードを同じスロットに挿すならね(爆) (←デバイスの detach をするわけではない)。

とりあえず、これで 1.3 (あ、既に 1.3B か…)に移行しようかな。いつまでも 1.2G ってわけにもなあ。 "stray interrupt 11" とか、"lpt0: out of paper" (謎) とか言うのはご愛嬌(ぉぃ)。

o むむ、CPU speed を low にするとデバイスの再初期化に失敗するようだ。

あ、low だとふつうに ifconfig ne0 down; ifconfig ne0 up だけでもだめ。 tuple も読めないなあ。これはの謎パッチでは pcic_chip_socket_enable() がうまくいってないかららしい。

1998年2月3日(火)
o というわけで、今 Let's Note で使っているパッチ。きったねー。NetBSD/i386 1.3B 用。

o 手配線していたが、さすがに疲れたので自動配線させておいて休憩。 …落ちてた。

o ううむ、reboot されてしまった。やはり実験機で screen 起こしとくのはよくないな。

1998年2月4日(水)
o 手 routing でも落ちるの(泣)。某助教授は Mentor に手を出しているようだ。

o プロトコルは、NTT の ナンバー・ディスプレイのページの 技術情報にあります (←どうでもいいけど意味無く透明 GIF にするなー。読むの大変だったぞ)。 でもこれには例外処理がきちんと書いてないなあ。

o あ、NetBSD は boot 時にフロッピードライブをつないでないと使えないのか。 …不便だな。ヒドいパッチ(笑)。

o ちょっと Alpha を狙ってみる。

o あ、腕時計止まっちゃった。外が暗くなったのに 1時47分(12時間制ね)指してる。

1998年2月5日(木)
o 基板。手配線と Mentor の自動配線とで勝負?

o 満開の人(以前とは違って、スタッフの人) から、『激光電脳倶楽部 Vol.3』に NetBSD/x68k 1.3 のバイナリ載せたいんだけどメイル。もちろんかまわないんだけど、もうすぐ正式版出るよ〜。なんか、マスターアップ直前でキワドいらしい。 あ、GPL のもあるからソースをお忘れなく…。

というわけで R の人にも連絡が行くかも。

あ、そういえば、早くも 1.3C になったようだ。

1998年2月6日(金)
o 完全放電(謎)するとか…。

o そもそも boot を vnd に書けなかったようながするのですが…。 で、しょうがないからイメージファイルに直接書くために writefdboot の dd に conv=notrunc をつけたんですが(でないと ftruncate(2) されてしまう)、 本当は vnd に書けるはずなんですよね。i386 版は書けるし。 ちなみに ls に -g をつけたのは、クロス環境が SunOS 4 だからです(笑)。

それはそうと、disklabel -B できるようにしません? でも fd と sd とで事情が違うから面倒だな。disklabel(8) の中でデバイスの major/minor をチェックするなんてひどいことが許されるのか?

o 「ニセモード」って何? 「本物名刺」とかから推定していいのかしらん(笑)。

o 10進を16進に変換ですか。

	% dc
	16o
	123456789012345678
	p
	1B69B4BA630F34E
	q
1998年2月7日(土)
o ctype 関数の引数は、unsigned char の範囲の値と EOF しか許されないです (ISO/IEC 9899:1990 "7.3 Character handling <ctype.h>" 参照)。 ちょうど getc() の返値の範囲と同じですね。

というわけで m4 (GNU m4?) のバグですね。 Berkeley の m4 は、手許の NetBSD のソースを眺めた範囲では大丈夫そう。

o 拙作 NetBSD/x68k 1.3 のインストールフロッピーは sh が腐っているようだ。なんでやろ。crunch してないやつは正常のようだ。

o 結局、NetBSD/x68k の収録は今回は見送りのようだ。

o しまった、開会式位は聴こうと思ったのに(他は興味なし)。 音楽は久石 譲でよかったはず。

1998年2月8日(日)
強風。時折雪。

o 腕時計の電池を換えるために時計屋へ。 ジモティの話によると、学園前のパラディにあるということなので探す。PARADIS I の1階に発見。 十数分で交換してくれた。1050円。

o ついでなので(?)、雪の降る中を日本橋へ。 ぺけろく用に4倍速位の CD-ROM ドライブを物色するが(中古で)、めぼしいものなし。 共立めぐりをして、コネクタと簡易圧着工具(線1本を押し込むための治具) と生基板を購入。\ ついでに DISCPIER で 久石 譲(←公式ページらしい) 1枚に敗北(ついでが一番高い)。

o 満開からのメイルで、Human とのファイルなんたらとかあったような気がするので、るみさまよろしく。

o core 吐いてるんでは。INSTALL ドキュメントを見ると、fsck -c 2 は NetBSD 1.0 より前のバージョンから upgrade するときだけでいいらしいですけど。でも壊してくれるのはまずいか。

o ん? 何の音? 鼾(いびき)にしては連続しすぎているなあ。 ま、話し声に比べたら50億光年はましだから気にしないことにしよう。

1998年2月9日(月)
時折雪が舞う。

ファイルサーバの調子が悪い。どちらかというと CISCO のルータが死んでるのか?

作業できん(何かするたびに数十秒待たされる)ので帰って寝る。

直ってる。アナウンスないぞ。

で、Mentor に移行(笑)。

1998年2月10日(火)
風が強い。

o ううむ Mentor Board Station は操作性が今一つ(四つ位かな)だなあ。Windows に負けているようじゃなあ。 性能や安定性ははるかに上なようだが。

17時。手 placement を終えて auto routing を開始。

21時。お、4時間(maze 5pass)で 75.1% ルーティングできたぞ。さすがだねえ。 さらに maze をたくさんやらせてみる。

1998年2月11日(水)
o 0140。25pass 終了(4時間)で 97.6% routed (残り 27本)だ。 さらに 50pass ほどさせてみるか。

2時間で 99.0% (unroutes 11本)。

さらに3時間(100pass)で 99.4% (unroutes 6本)。

21時。99.9% (残り 1本)。

o crunch した sh が動かん原因が分かった。 ライブラリと共有するための common (sh の場合は optarg) を ld -dc で消してしまっている。 ううむ。これを、ちゃんとやろうとすると厄介だな…。

ま、普通のプログラムはライブラリと衝突するような大域変数を定義したり しないだろうから、とりあえずは -dc を外せばいいかな。 プログラム間で common が共有できるかもしれないし。

関係ないけど(common を探していて気付いた)、NetBSD/x68k などで <machine/cpu.h> を include すると astpending, want_resched という変数が定義されてしまって気持ち悪いっす。

1998年2月12日(木)
昨日から暑い。20℃近くあるようだ。

o 基板。残り1本がなかなか通らない。1000pass やらせて通らんもんは通らんのか?

o ん? common のせいだけじゃないのか? 数値演算でエラーって、ここでは getopt() 使ってないしなあ。 でもまずいのは確かなのでええかげんな(いろんな意味で) pr を書く

あ、sys/arch/x68k/include/disklabel.h にも配列の定義を発見。

o というわけで、なんとなく動作するようなので、NetBSD/x68k のブートフロッピーを更新

1998年2月13日(金)
o 2時。お、通った。にやり。

o 今日は修論の〆切。 ネットワークが死ぬとか、プリンタが死ぬとかを予想して M2 には早いうちに最低 1部(事務提出分(笑))は出しておくように言っておいたが、既に昨日のうちに 4部印刷してるようだ。私とはえらい違いだ(笑(←笑ってるなっ))。

o 1200 あ、まじに腐った SGI のファイルサーバ落ちてるやん。1205 なおった。

o なるほど、 net time \\remotehost /set /yes とすると時刻が合わせられるのか。Logon script ってのは NT なら User Manager の Profile のところのやつ? 使ったこと無いけど。

あう、confirm じゃなくて conform だっ。ま、分かるだろ(汗)。

1998年2月14日(土)
o ヘッダに変数定義があるーとか書いてたら、 早速修正されていた。まさか scottr 氏、ここ読んでませんよね…。 あの、できればついでに #ifdef _KERNEL で囲って欲しいんですけど…(誰に言ってる)。

o やはり /netbsd が 1GB を越える所にあると読めないな。READEXT 使わないと。どうせだから 64bit 化か?

o ふむ、64bit の引数は 8byte 続けてスタックに積まれるのか。返値は d0, d1 (d0 が上位)に入るようだ。gcc は 64bit 演算はライブラリを呼ぶようだ。

o ひそかに 7650番を狙っていたが、 7653 だった。

1998年2月15日(日)
o 以下、NetBSD/m68k の話。off_t (ファイル/デバイスオフセット)は int64_t; ファイルサイズ(struct dinode の di_size メンバ)は u_int64_t (わりと謎)。 size_t は仮想記憶空間の話なので u_int32_t; ただし read(2)/write(2) の返値のための ssize_t は符号付きで int32_t。 daddr_t (disk address) は int32_t (なぜ符号付)。

…結局、整数の長さや符号の有無を知っておかないとプログラム書けないやん。 -Wconversion が便利だけどちょっとうるさすぎ。

o にやり。READEXT 化 & 64bit 化できた。でも boot のプログラムサイズが 8KB 越えた(泣)。どこで 500byte も増えたんだ? 謎スクリプトでなんとか 8KB に納める。符号拡張&無符号演算ではまりまくり。

1998年2月16日(月)
o NetBSD/m68k の gdb には、シグナルハンドラより上にたどれないバグがいたはず。 修正されたのはごく最近(先月15日)なので -current をどうぞ。 でもハングるのは変だなあ。

o Solaris2 で X の解像度を変えるのは /usr/sbin/ffbconfig らしい。

1998年2月17日(火)
o 全然関係無いですが、ANSI C だと最後に改行が無いと undefined (要するに間違い)です。GNU C は -ansi -pedantic をつけると warning を吐きます。

o やはり 64bit 演算は容量食うようだ。ファイルサイズのカウンタを int に戻したら(そんな大きなファイル読めないし)、180byte ほど減った。

o やっぱり 64bit 化する必要ないや(爆):

  1. SCSI コマンドの READEXT でもアドレスは 32bit しかない。
  2. 512byte/sector でも 32bit あれば 2TB まで扱えるから当分困るまい。 それよりパーティションテーブルの 16GB の壁の方が問題。

つうわけで、RAW_READ() に 512byte 単位のアドレスを渡すことにすれば 32bit で十分。気がかかりなのは、512byte/sector 以外に対応するために、dbtob() が単に 512倍するだけというのが変わるかもしれない、ってことだな。 そのときはセクタ長も渡すように変更すればよかろう。

o おかしい。今朝は紙いっぱいにプリントアウトできたのに。

↑ fablink で Panel name に何か書くとだめみたい。空白のままにすべし(ぉぃ)。

1998年2月18日(水)
o BOOT MENU Ver.2.22 も純正 SCSI HDD メニューも 1GB (512bytes/sector の場合) 以上の位置にあるパーティションからブートできないやん。

o あっ、調子に乗って書いてたら、アセンブリ部分が 200byte も増えてる〜。特に 1KB にないといけない部分が。入るけど。でも野望(謎)が…。

libsa 化すると network boot とかできるのかな? でもその boot をどこに置こう…。

o ううむ a.out ではアドレスシンボル2つの差がとれんのか。ま、C で書く分には十分なのだが。

1998年2月19日(木)
o NetBSD が 1.3D になった。

o Alpha を GET。HDD の中身は更になっていて起動しないそうだ。なぜわざわざ…。 なんか、偶然にも自分で使っていた機械に当たった。

SPARCAlpha AXP を査収…でなくて、Spark 氏も無事 GET の模様。

ちなみに、このマシンは NetBSD/alpha が動くが、キーボードとフレームバッファがサポートされていない。誰か書いて〜。

o RISC NEWS 用の NetBSD ってのがあるのか。どうせなら CISC NEWS も…。

o 重いっすか。ウチの大学はネットワークが遅いので、そのせいでしょう(笑)。 あ、もしかして httpd が DNS 逆索きや ident する設定になっているからかな? 「重い」ってのは、レスポンスですか? スループットですか?

1998年2月20日(金)
o とか書いているうちにマージされてるやん。おそるべし。

o DEC のマニュアルは ftp で取得できるのか。すばらしい。 (ftp.netbsd.org は各所にミラーされているのでお近くからどうぞ。)

というわけで、情報は十分あるようなので、デバイスドライバ書き募集。 私はぺけろくで忙しいし(←研究しろ)。

o NetBSD/alpha 1.3 のインストールフロッピーを試してみる。Alpha 版も libsa+zlib のようだ。……ダメじゃん、DEC 3000/300 はこのカーネルではだめ、と言われてしまう。どうせい言うんや。 センターの AlphaStation をちょっと拝借…って訳にもいかんだろうしなあ。 ううむ、これは NetBSD/alpha チームに何台か寄付するしか(をい)。

o NetBSD/x68k の話。boot の改造が一段落。カーネルの bootdev に 0xa0020304 (sd の controller 0, unit 2, partition 3; 要するに sd2d) を渡しているのに(DDB で確認)、sd1d をマウントしに行ってしまうんですけど。

o ソースを見た感じ、 Linux/alpha は、PCI バスマシンしかサポートしていないようなので、さらに道が険しそうです。 NetBSD は、options DEC_3000_300 を追加したカーネルなら動くはず…。 あれ、1.3 のソースの INSTALL には入ってるやん。 バイナリリリース時にわざわざ外してあるのは何故?

あ、どうもです。それでは NetBSD/x68k のメンテの合間のお暇な時にでも…。

↑あ、なんかローカルで作った人がいるようですので、とりあえず結構です。

1998年2月21日(土)
あ、曽田さんここ読まれてたんですね(汗)。

o なるほど、EISA も OK ですか。でも DEC 3000 のバスは TURBOchannel (爆謎)なのです。

o メモ。DEC 3000/300 は、ジャンパ W2 を 2-3 にすると serial console になる。 9600bps, 8bit, no parity, 1 stop bit. ちなみに筐体の開け方は、後面の上の方にあるネジ2個を外し、 ゴムキャップに親指を当て、筐体の下の方から上蓋を持ち上げる。

フロッピー(SCSI ID 5)から boot するには、boot dka500 とする (分からん時は show device)。

o IBM の 4GB HDD が降りてきたので換装ついでに Let's Note の NetBSD/i386 を 1.3 にする。面倒なので手許でコンパイルしたバイナリはそのまま持ってきたが、 どうも端末制御が変。termios 構造体が変わったんだっけ。あ、dirent もだ。

o この HDD、最初に入っている東芝の 1GB に比べて、動いているか心配になるほど静か。消費電力も小さいようだ。IBM の 3GB はもっと静からしい(だから 4GB が降りてきた)。

o setupn1 for NetBSD の mkhiber を使ってみた。ちゃんとできたみたい。mkhiber の後、再起動しないとハイバネーションできないのは仕様か?

1998年2月22日(日)
o レスポンスですか。すると…… やはり ident しているからのようです (←長くなったので別ページ(←いやがらせか?(笑)))。

o むむ、NetBSD/x68k で auto configuration 途中に MO メディアを入れると panic する。ドライブが ready になる前に timeout でデータが得られていないのに、成功したと同じように帰ってくるのが原因のようだが (スタックのゴミを見ている)。……どうしよう。architecture independent 部分か? i386 や alpha でも試してみよう。

1320 それより眠いのでおやすみなさい。 とかいいつつ夕方まで起きていた。

1998年2月23日(月)
o sendmail の設定。NetBSD 1.3 についている sendmail.cf の DM にメイルのドメイン名を書いただけ。良く分からんが、勝手に MX を索いて送ってくれるようだ。

o Alpha 6台の人(職場で使うなどするそうだ)に、運んだお礼とかでお昼をよばれる。 ごちそうさまでした。

o 今日から3日間、修論の発表会らしい(うちは「公聴会」ではないそうだ)。

o どうやら WWW の影響で LAN が重いようだ。私がでかいの置いているせいだが…。 ううむ、どうしよう。 公式版まだ〜?(笑)

o 質問に答えるフリして SGI のファイルサーバの悪口(笑)。

1998年2月24日(火)
雨。

o そんな完璧でなくてもいいのでは。i386 版では ftp が passive にできなくて sysinst そのままでは使えんとか、 NetBSD/alpha (← alpha 版と書くと別の意味になりそう)は DEC 3000 が入ってないとかですし。

ま、気合いが入るのはいいことなんですけどね(笑)。

o そういえば、NetBSD 1.3 のインストールドキュメントにある、

Due to changes in the NFS subsystem, the old NFS daemon binaries will not work correctly, and will cause serious problems.
の serious problems ってのは NFS で書いたファイルがしばらくして 0byte になったりすることとかでいいのかな(←よくやった(泣))。

o 学生課より気が^H^Hメイル:

	昨年通知しましたように多くの学生宿舎入居者の希望により、
	??棟??階(←さすがに秘密です)を、女性専用階化を進めています。
	さて、この度新入生に対し入居者を募集したところ、4月に学生宿舎に入居
	する女性の数が増える見込みです。
	つきましては、4月からも引き続き入居される男性の方で他の階に移動して
	もかまわないという方は、学生課の方まで連絡ください。

ガビーン(3点)。あと1年しかいないのに引っ越しか? でも「昨年通知し」てきてないぞ(inbox の下漁ったけど)。

o この前メーカに発送した PCB データ、結構ぼろぼろらしい(汗)。再提出か?

1998年2月25日(水)
昼過ぎには晴れた。あ、また降ってきた。

o ウチの M2 の修論発表があった。

o ぷにぐらま〜ずまにゅあるを見ていたら…… FDC に READID を発行する IOCS があるではないか。XC のプログラマーズマニュアルにはついてなかったぞ(だから xxboot では自前でやってるのに)。 あ、PD libc にもついてる。公然の秘密か? どの ROM でも OK なのか?

o MC68020 のビットフィールド演算は便利。gcc はあまり使わないみたいだが、遅いのか?

o はんだレジストは、PAD の Geometry に銅箔と同じパタンで描いておけばいいのかな。

1998年2月26日(木)
o Mentor Board Station の fablink で thermal aperture を default にしておくとつながってくれないようだ。全 power aperture に対して寸法を書くべし。なお、現在の設定値は見られないと思った方がよい(泣)。

つうわけで、2回目のデータ発送。FD 2枚。

o 昼に寮に帰ったら、留守電が光ってる。そういや昨日停電だったな。さらに今日は断水だったようだ。

1998年2月27日(金)
o いろいろ落ちた。1. 実験機、2. 常用 Alpha の screen、3. Let's Note が電池切れで「ぷち」(suspend せずに)。ガビーン×3 (9点)。

o フォローどもです。なるほど、IOCS READID は使えないから書いてないのね…。

o SysV IPC なんか使うもんじゃありません(かなり偏見)。 親子関係のあるプロセスなら、mmap() かなあ。 こっちはプロセスが持っているからカーネル資源の制約もないし。

o DEC 3000 のモニタは、H-sync 76.7kHz, V-sync 72Hz で sync on green だ。 XFree86 で使うのは簡単。MS Windows は全然分からん。

バラしてみると同期信号を入れられそうなところがあるようだ。

o fvwm で Restart "Start twm" twm とかで twm を上げて、twm を restart すると fvwm が上がるのか。なるほど、argv[0] に "fvwm" を渡してるのね。

o 食堂で晩飯。どこからともなく「1.3 インストーラ 1.2」「ぺけろく boot」 「ガビーン(3点)」などのキーワードが(最後のはウソ)。向こうの棟の人達だったのか?

1998年2月28日(土)
晴後雨。

o ぴぎゃー。M68000 で rol/ror は X フラグを変えないのね。ハマりまくった。

ついでに、gas で lea a2@(4),a0 のつもりで lea a2(4),a0 と書くと、何も言わずに lea 4:w,a0 のコードを吐くようだ。

o NetBSD/alpha で mfs に savecore してみたら(するなよ)、16MB 書いたところでハング。主記憶を使い切ったらしい(笑)。

ところで NetBSD/x68k ってクラッシュダンプ取れるんでしょうか。 最近見ないような…。

o SCSI で panic を NetBSD/alpha 1.3 で実験。X68030 から MO ドライブを奪ってつなぎ、立ち上がり途中にメディアを挿す。

sd1 at scsibus0 targ 3 lun 0: <FUJITSU, M2512A, 1314> SCSI2 7/optical removable
sd1: sd1(asc0:3:0):  Check Condition on opcode 0x25
    SENSE KEY:  Unit Attention
     ASC/ASCQ:  Power On, Reset, or Bus Device Reset Occurred
 
sd1(asc0:3:0): could not get size
drive offline
asc0: !TC [intr 10, stat 87, step 1] prevphase 6, resid 0

とか言うけど落ちない。ふむ、ドライバの方でなんとかすべきなのか?

o うーん容量足らね。アレに 700byte 使ったりしなければ余裕なんだが、そこはそこ…(謎汗)。

o この日記もなんとか 1年続きました。読者のみなさま、日記者のみなさまに感謝。

日記の表紙前月(睦月)翌月(弥生)
ITOH Yasufumi