近くの秋葉神社に走って初詣。お賽銭を外しまくる。
曇りで、昼過ぎから雨。
ウィーンフィル(だっけ)の中継で音飛びまくり。
68000 のコードを書いたり。
トラの耳の後ろは黒地に白丸らしい。
大河ドラマのテーマ曲って、最近は池部晋一郎じゃないのか。
郵便局で貯金を引出したり預けたり。 学生証では住所が分からないとか言われてしまった。厳しくなってるなあ。 健康保険証なら寮と実家と両方の住所が書いてあるから便利(謎)だ。
鞄を買う。
日記者のみなさま、明けましておめでとうございます。 読者のみなさまには、30日 あたりから続きをお読み頂くとよろしいかと。大したこと書いてないですけど。
メルヘンは8時から23時(日曜定休)らしい。
o メイルチェック。
% msgchk You have 37 messages (120881 bytes) on mailgate
o m68k のシグナルのバグ再現しねーぞメイルが来てたけど、68060 では落ちないのか? 英語書くの面倒だぞ。
NetBSD-1.3 は 4日にリリースされたようだ。PCMCIA あのまんまだ。
o 人が少ないことをいいことに、研究室の Ultra を移動させ、ついでに 100MB のスイッチを移動したり線を引き直したりする。
o SPARC だと、整数の長さもバイトオーダも一緒でかつ a.out だから、m68k のクロス開発がとても楽(nm, ranrib から、cap_mkdb なんかも共用できる)ですよ。にやり。
o Protel Advanced PCB 3.1 で自動配線するときは、SMD Stringer を外せとのこと。バグってるらしい。電源ラインが長くなりそうだけど、大丈夫かな?
o NetBSD/m68k のバグ再現しねーぞメイルに、 あやしげな横文字で返答。
o 68010 のバスエラーフレーム($8)と 020 以降の($A, $B)とは、共通のデータ(SSW とか、アクセスアドレスとか)の位置も違うのか。でもそこ直しても動かんなあ(謎)。
o MS Windows NT の primary ドメインコントローラのマシンを変更しようとしたができない。 何回インストールし直してもだめ。あれこれ試したところ、どうやら元の primary と CD key が同じなのでハネられるようだ。 アカウントデータを移すだけのためにもう一つライセンス買えってか。 それはそうと、ちゃんとそれと分かるエラーを出せ。全然分からんかったぞ。
他に primary を移せるマシンがあったので事無きを得。
o 新しく北大和に出来た郵便局に行ってみる。 サーバが少ない(2人)のでちょっと混むと行列できそう。 ATM の前に立つだけで「いらっしゃいませ」攻撃を受ける。
今度は学生証で OK だった。
o 曜日付きで日記を書くようになって、 曜日を間違えることが少なくなりました。毎回手作業で書いてたりするので。
o 風邪ひいた。頭痛がひどかったが保健管理センターで薬をもらってきて飲んだら 2時間位で収まる。よく効く薬だ。え、早う帰って寝れ?
各地に 9801 が…。日記の URL。
o NetBSD/x68k 1.3 のバイナリを作ってみる。
o i386 の I/O ポート出力の関数 (outb, outw, outl) の引数の順序は、NetBSD と Linux とで逆。おいおい。
o というわけで、なんとなくできた NetBSD/x68k 1.3 のバイナリを置いておきます。動作確認はしてません(おい)。
4.2BSD になってましたが…。おかしいな。
o あ、そういえば、i386 版をインストールしたときに Extract ってのを使ったような気が(汗)。x68k はいつも make install していたもので(笑)。 というわけで修正 (元は tar 使って書いていた)。
o Linux 上で Let's Note (AL-N1T51xJx) の設定をするプログラム (setupn1-0.4.tar.gz) なんてのがあるのか。すごい。どうやって調べたんだ? これはきっと根性で トイレで頭をぶつけまくって神のお告げにより突如閃いた(謎)に違いない。
さくっと NetBSD/i386 に移植。これで MS Windows を上げなくても BIOS 設定ができる。パッチ欲しい人います?
o 基板 router、グリッドを粗くしたのにやっぱり変。こうなったらアレを使うしかないのか?
o 午後に、学内ネットワークが落ちていた。 これだけならあまりに日常で日記のネタにもならないが(ぉぃ)、 なんと、その後ちゃんとアナウンスがあったのだ。 いつもこうだといいんだけどなー。
o setupn1 へのパッチを公開。 しかし、私以外に Let's Note で NetBSD を動かしている人っているんだろうか。
o ふむ、HTML ヘッダに
<link href="URL" rel="next" title="次へ">
のように書いておくと Lynx では上の方に toolbar が出るのか。 next 以外にも prev や ToC などが使えるようだが(Lynx の HTML.c 参照)、HTML/2.0 見ても分からん。
o 空いたマシンに NetBSD/i386 をインストールして遊ぼうとしたが、 AT1700 互換の Ether ボード(RE2000)を認識しない。INSTALL カーネルには入っているはずなんだが。
o ガビーン、setenv LANG Pig していると sysinst のコンパイルに失敗する。
o というわけで必要に迫られて(?) NetBSD-1.3 の PCMCIA をいじくる。 1.2G あたりのパッチを見ながら格闘して、なんとか tuple は読めるようになった。 が、カードの抜き挿しができない。一回挿すのはいいが、抜いても資源が解放されず、 もう一回挿すと unit # が増える。また、suspend/resume すると発狂する。
調べてみると、どうやら 1.3 にはデバイスを取り外す機能が実装されていないようだ。以前の PCMCIA パッチで kern/* に当たる部分はその機能を実現する部分だったようだ。ううむ。
そういえば major/minor も振られてないんだった。 すると、conf.c もいじって xxopen(), xxclose(), xxioctl(), xxpoll() なども書かないといかんのか。
……こりゃなかなか 1.3 に移行できんな。1.3 用に PCMCIA パッチとか出る気配はないのかな?
o NetBSD/x68k で Linux/m68k のバイナリを実行するパッチをまともな場所に置いた。 …と書く前に早速持って行った人がいるようだ。動作報告くれるとうれしいな。
o
SunOS (4も5も)の sh は for i; do
みたいに書くとエラーだ。; の代りに改行なら OK。これは OSF/1 の sh
も同じ。
ついでに do
と done
の間が空だとエラー。
そういうもんらしい。
ash ではどちらも通ってしまうので、 移植性のあるシェルスクリプトを書きたいときには注意が必要だな。
さらに、SunOS の sh で v="`echo '"'"foo"'"'`"
とかすると、echo に ""\f\o\o""
なんてのが渡るらしい。爆謎。OSF/1
の sh もまた違ったふるまいをする("""foo"""
)。send-pr ものか? (謎)
"
として残したい "
を \"
のように
quote すればいい(どのシェルでも期待する動作をする)ようだ。
15時。研究会。
1740 研究室の新年会。
o ふと、NetBSD-1.2G の頃の PCMCIA パッチが -current で簡単に動くんじゃないかと思って作業する。結果から言ってダメ。config から変わっているので、それほど簡単には動きそうにない。 さすが 1.3B になっているだけはあるな。 入っている PCMCIA ドライバをちまちまと変更していく方が楽そう。
しかし、i386 ってどうしてこう簡単にリセットしてしまうんだ? デバッグしにくいぞ。x68k なら DDB に入ることが多いのに。
o NetBSD-1.3 のインストールノートに、故 今田氏への献詞を発見。
o 私も同年の生まれです。早生まれ(1月)だから吉田君より学年は1コ上だけど。 ちなみに、先月へのリンクが98年になってるって気づいてる?
o SDB の時刻チェックが GET になっているが、もしかして更新時刻だけでなくて 更新量も量るつもりなのかな(笑)。
o 1.3B の PCMCIA は、スロット毎に pcmcian (n: 0, 1, ...) というデバイスになる。struct pcmcia_softc にはカードの構造体(struct pcmcia_card) が1つ付いていて、そこに struct pcmcia_function のリスト(multi-function card のためにリストになっている)がぶら下がる。で、中のデバイスは?
ううむ、とりあえず、抜いたときにデバイスの削除ができればいいんだが…。
o NetBSD/x68k 1.3 のバイナリのうち、ブートフロッピーだけ更新。 てきとーに直しただけ。ま、正式な更新は、そのうちロ^H マサルさんからあるであろう。
あ、cp やっぱり動かないや、というわけで bin.tar.gz も更新。
o Solaris 2 で 2GB 超のファイルシステムを NFS 3 でマウントすると、tcsh などで一部のファイルが echo * で見えない。調べてみると、ディレクトリの位置が 31bit を越えていると見えなくなるようだ。
64bit なプログラムにするためには readdir64(3)
などを使って書き直せばいいのだが、簡単には lfcompile(5)
にあるように、プログラムはそのままでコンパイルオプションに
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
(または `getconf LFS_CFLAGS`
) を加えればよい。
o RE2000 のドライバが動かないのは、I/O アドレスが違うだけだった。
o 19時。SS20 (SunOS 4.1.3_U1) でクロスコンパイル開始。 bin/sh, usr.bin/tn3270, usr.bin/xlint/llib, games/boggle, games/fortune, games/hack, games/monop, games/phantasia, gnu/usr.bin/gcc/common はクロスコンパイルに注意が必要。 phantasia の setup は、make install を行うマシンで実行される。 それって CC か? HOST_CC か?
lib/libc は tags に書かれるパスを、本来のパス(/usr/src/...)に書き換えた。 usr.sbin/amd/libamu では config_local.h にホストの環境を書いてしまうので修正。
1時。コンパイル終了。make snapshot は make install の最中。
5時。make snapshot 終了。ポートマスタ直伝の手法により binary distribution set 作成。DESTDIR を設定しておいて、
mkdir /mnt/sets # ここにできる cd /usr/src/distrib/sets sh maketars -arch x68k -tars /mnt/sets
ちなみに gzip は rsh で飛ばして速いマシンで実行。
o
前から気になっていたのだが、
distrib/x68k/floppies/ramdisk/Makfile とかでやっている
"cat /*bin/* > /dev/null
" って何のおまじない?
o SDB の、更新頻度得点ってどうやってつけているんでしょうか。 私ってそんな上位じゃないと思うんですが。
o 0745。できたー。 動作未確認なのは相変わらずだが一応ちゃんと作ったはずの NetBSD/x68k 1.3 のバイナリ。
o あうっ、 ボロボロでしたね。ごめんなさい。stat まわりの変更があったからかな。今度のは大丈夫だと思います。
ちなみに、make includes は必要な部分だけにする、make depend はしない(どうせ全部コンパイルするから)などの姑息な手を使って早く上げました。
なるほど、cinv が無いのか(笑)。そうするとこのパッチでは boot がちゃんと書けない虞があるな。動いているけど…。
o 附属図書館でアルゴリズム研があったようだが、終了が 17時を回ったため、中に閉じ込められた人多数(出るにもカードキーが必要)。
o Lynx 2.7.2 では、2.7.1 でハマるページも、 ハマりページでなくなったようだ([BUTTON] と見える)。 もちろん、コマンドエスケープもあるから、別のハマり方のページでも OK。
o NetBSD の AT1700 互換ボード(アライドテレシス RE2000) のドライバ、ちょっとまとまった書き込みをするとすぐハングする。なぜだー。 その筋によると、Linux でも似たような症状があったらしいので、Linux の新旧のドライバを眺めてみたが、良く分からん。 富士通ってデータシートくれるかなあ…。
o なるほど。ふつうの人が更新しない時刻に更新してたりすると、 得点をかせいでしまうわけですね(汗)。
o fe のドライバください。とにかく動いてくれないことにはなんともかんとも。
o tuple すら読めないというのなら Let's Note と同じ症状ですので(こいつも RICOH の)、 1.2G を参考に書き換えるといいかも (←パッチはあまりにもはずかしいので期間限定)。 カードの抜き挿しができるようにしてくれると嬉しいなあ。
o Mozilla が公開デバッグ(じゃないか…)らしい。ばぐばぐだからな。
やっぱりソースがないとねえ。だから早く仕様公開してほしいなあ。
o
なんか同じファイルを何回も持って行く人がいるなあ。
これはきっとセーブ方法が分からないに違いない。でも .htaccess に
AddType application/octet-stream gz
と書いてあるからまともな WWW
ブラウザなら何も考えなくていいはず。あ、MSIE って Content-Type: 無視だっけ?
o 最近話題の著作権法を見てみる。ふうん、日本の著作権法ではプログラムを移植や改良のために改変することは 認められているのか(二十条 (もちろんそのプログラムの合法コピーを所有している必要はある))。
プログラムを解析せずに移植や改良なんかできないから、当然、 少なくとも移植や改良のためには、 プログラムの解析をするのも認められていると解釈していいのかな?
o 20時。研究科前の池が凍っている。 「こおる」を『広辞苑 第四版』で索いてみたら 「水分などが寒気にあって凝結する。…」だと。 「凝結」って気体が液体になることなんだが…。
o ネットワーク満開の会員さんから、NetBSD/x68k 1.3 のバイナリの配布したいんだけど、とメイル。 もちろんかまわないけど、沖さんから正式バイナリが出たらそっちの方がいいかも と返事。GNU のもあるからソースつけてね。あ、もしかして、 libgcc が GPL(LGPL ではない)だから、ほぼ全てのソースをつけないとだめなのか?
今分かっているバグって、060 で動かん、INSTALL.x68k がウソ、ぐらいだっけ。
注意点としては、Xellent はアドレスを変える、/usr/share/man の容量が増えてる、だな。
o ODIN とかいう検索エンジンは NOINDEX を無視するようだ。しょうがないから .htaccess で deny する(手遅れか?)。
o COMPAQ が DEC を買収らしい。
o NetBSD/x68k 1.3 動かんメイルをもらってしまうが、うちの環境では再現できないので ML に丸投げ。あ、一応、デバッグ支援用フロッピーイメージは作って公開。
o 基板。あとは自動配線。routing grid を適当に設定すればそれなりに引いてくれるようだ。
o Linux マシンについている RE-2000 を奪って NetBSD マシンにつけてみる。同じ症状。 ボードがおかしいわけではないようだ。 ということはやはりドライバか。あ、マシン本体(Packard Bell)が変なのかも。
ボード上のパケットを送ってしまうより前に、次のパケットを書いている? あ、double buffering だからこれでいいのか。ううむ、わからん。
o この前の gs の日本語 PDF パッチはちゃんと動くようだ。なぜ MAC の Osaka フォントが見えるのかは謎。
o 健康診断の再検査の再検査(ぉぃ)に行ってくる。 今回は特に異常なし。
o 異音を立てるようになった MO ドライブのファンを交換。この前も CD-ROM ドライブのを交換したぞ。シコー技研の ICFAN って寿命短いんじゃないか?
o さらに詳しいレポートをもらったりして、NetBSD/x68k 動かんバグの原因判明。ぽて2号 ドライバの mhaintr() の attach 判定が間違っていて、ふつうの SCSI ボードの割り込み時に謎な softc を使おうとしている。
で、直し(たつもりになっ)て更新。
o Protel Advanced Schematic で同名ネットが分断されるのを防ぐには、global net に全てラベルを付けないとだめらしい。何のために線でつないでいるのやら…。
o 石ノ森章太郎氏 死去(28日)。
…結論。Ether ボードも NetBSD の fe ドライバも悪くない。おかしなのは PC 本体(Packard Bell)だ。RE2000 を Dell や、別の Packard Bell (こちらは PS/2 ポートが壊れている)に挿すと正常動作。
くっそー。ぼろぼろだな、Packard Bell。廃棄だ、廃棄! ま、Ether のドライバの構造が分かったのでよしとしよう(一瞬で忘れるだろうが)。 しかし、なぜこんなので MS Windows NT Server が動いていたんだ? SCSI やビデオボードが動いているのは? あ、でも SCSI もデータ化けを起こしたことがあったな…。
o SMD Fanout というのは、表面実装デバイスの の fanout パターンを作ってくれるのではないのか? やはり手配線か?