Last-modified: Fri, 16 Jun 2000 01:31:01 JST
[static,style:furuta,jconv:jcode,cache:on]
powered by tds-Tomsoft Diary System 1.01-beta0
しばらくの間客先常駐らしいです。 というわけで、朝から環境構築作業だす。 ssh-keygen して indentity.pub を配ってほえほえ。 network 的には太いところなので、ssh して作業するのも 苦にならないのが救いと言えば救い。
しっかし、何が我慢できないって、やはしキーボードですな。 My keyboard を使っても良いらしいので、 月曜には忘れずに持ってくることにしよう。
とあるところに LFS 布教話を書いた手前、自分でも 使いこんでみることにするのです。 NetBSD-current (1.4Z) での fsck_lfs での 修正コードもcommitされたようですし。
確かに、以前(1.1 の頃だったっけ..)とは 比べものにならないほど安定して使えます... Log が一周しないうちは。
一周以内に納まるなら(つまり、ガベージコレクタが 動き出さないうちは)かなり安定している雰囲気です。 X11 の make World や NetBSD-current の make dependall にも耐えます。 しかし、ガベージコレクタが動きだすと、かなり不安定です。 panic 死や突然死がよくおきます。
dumplfs(8) で "ifile" が拾えなくなることが多いです。 fsck_lfs(8) である程度修復が可能になるようですが、 検出した問題を全て修復できるわけではないようです。 dump_lfs(8) (dumplfs(8) と紛らわしいが、こちらは dump(8) の LFS 版) は 全く動作していないようみ見えます。
あ、そうそう、致命的なのは、-o ro で mount_lfs(8) したものを umount(8) すると、固まります。 正確に言うと、umount(8) の kernel context が突っ走り初めて、 他の process がほとんど実行されなくなります。 でも我慢して待っていればちょっとは実行されるみたい。 ちょうど、300bps の modem 経由で使っている感じです。:-)
一体 kernel で何がおこってるんだろうといろいろ調べようとする けど、やがて "no more segment" panic 死します。 ddb で trace すると、umount が sync 経由で lfs_segwrite とか呼び出してやんの。 おい、-o ro で mount されてるのに、 sync から lfs_segwrite って一体? (^^;
先週はかなり無理をしていたようで、 断続的に電池不足でダウン。無駄が多い。
NetBSD-current base の X 環境を作って使ってみる。 なぜだかわからないけど、かなり頻繁にキー event を拾えなくなる症状が 頻発する。しかし、その状態でも fvwm95 はキー event を拾っている。 ショートカットに割り当てたメニューは起動するけど、 kterm やら emacs やらでキー入力できなくなっている状態。
格闘してみたが、簡単には解決できそうになかったので、断念。
Polytechnique Montreal Modula-3から source コードを持ってきて(でかい、26MB もある) FreeBSD で bootstrap コンパイルしてみる。Modula-3 はコンパイラ自身が Modula-3 で書かれているし、make の代替(m3build)も Modula-3 で記述されていて、 makefile も m3makefile とやらの謎のコードを書かないといけないらしい。 そこで、各環境用にコンパイルしてあるもの(ただしアセンブル以前)を 持ってきてアセンブル&リンクを行なってコンパイラ、リンカ、m3build など を作成してから、膨大な量のライブラリやパッケージをコンパイルする。
途中でコンパイルに失敗する場所があったので、 いろいろ調べてみる。 どうやら、lex の出力コードをコンパイルしようとして、 flex と lex の微妙な違いでコケている感じ。 m3makefile 中に
if equal (TARGET, "LINUX") or equal (TARGET, "LINUXELF") or equal(TARGET, "LINUXLIBC6") include_dir ("flex-bison") else include_dir ("lex-yacc") end
なんていうのがあったので、ここに or equal(TARGET, "FreeBSD3") を 入れたら、上手く通るようになった。本当にテストしてるんかいな。
ところで、これはデフォルトでは /usr/local/pm3 というディレクトリ以下に bin, doc, lib, man などのサブディレクトリを作って インストールするみたいですけど、ports を作るとしたらそういう形式で いいのかしらん? それとも /usr/local 以下に直接展開する方が正しいんだろうか?
NetBSD native に移植できないか、いろいろ調べてみてまわる。 まぁ絶対無理ではなさそうだけど、安定して動いてくれるかどうかは 謎な雰囲気。とりあえず、C のサポートルーチンをいくつかと、 設定ファイルをいくつかごにょごにょしてやれば、動きそうなめぼしは つけられたと思うけど、こればっかりは実際に動かしてみないと何とも。
ところで、せっかく作業をしたばかりだと言うのに次のバージョンが release されとるじゃないか。がびーん。
部屋の収拾がつかなくなっている状態なので、 意を決してお掃除モードに突入する。 結果、堆く積上げられた本の山に呆然としてしまう。 本棚足りません。本棚を置く部屋も足りません(泣)
という訳で、BSD week 予定。6/8 のみ午後半休なのです。
そこ、うるさくて話が聞けないです。
わしら「merge どうすんの」 jkh「SMP は走り出したけど、他は全然未定かな。まあいいとこどりになるっしょ」 <- 意訳しすぎ。
...てな感じですか。 やぱし、BSD/OS のカーネルに FreeBSD のドライバを移植するってのが いいとこ取りの基本っしょ (^^;
BOF 前に集まって dconf-jp のオフミ。 面子は uch, itojun, aki, AoiMoe, nakagawa, furuta だったっけ? うーむ、最初に書記決めとくんだった、失敗。
とりあえず、
... てな話だっけ? 求むつっこみ。
補完予定
補完予定