Last-Modified 2010/10/25 11:35:18

その日あった事ダス第213週


10月7日(日曜日)[前年][翌年]
Linux と格闘中

昼過ぎに起きて昨日の続き。たけはるさんが irc にいらっしゃったので、逃げられる前に捕獲(ぉぃ initrd.img の作り直しについて教えてもらう。俺様.org のひろゆきさんにも助言をいただく。なるほどー、と早速チャレンジ。

まず、boot.img から initrd.img を取り出す。んでもって更に initrd.img から modules.cgz と pcitable を抽出。更に modules.cgz を解凍して、3w-xxxx.o を突っ込んで圧縮。pcitable を書き換えて、先ほどと逆の手順で initrd.img を作成。

$ mount -t msdos -o loop boot.img boot
$ cp boot/initrd.img .
$ gzip -d -S .img initrd.img
$ mount -t ext2 -o loop initrd img
$ cp img/modules/modules.cgz .
$ gzip -d -S .cgz modules.cgz
$ cpio -id --file=modules
$ cp /lib/modules/2.2.18-0lv4.2/scsi/3w-xxxx.o 2.2.18-0lv4.2BOOT/
$ find 2.2.18-0lv4.2BOOT -print | cpio -o --format=newc > modules
$ gzip -9 -S .cgz modules
$ cp modules.cgz img/modules/modules.cgz
$ vi img/modules/pcitable
$ umount img
$ gzip -9 -S .img initrd

う、できた initrd.img がでかい。そういえば検索中にぱぱんださんの日記でサイズがでかくなるという話があったのを思い出す。というわけで initrd2 を作って中身をコピー。

$ dd if=/dev/zero of=initrd2 bs=1k count=3000
$ mke2fs -F initrd2
$ mount -t ext2 -o loop initrd img
$ mount -t ext2 -o loop initrd2 img2
$ cd img
$ find * -print | cpio -pdmv ../img2
$ cd ..
$ umount img
$ umount img2
$ gzip -9 -S .img initrd2

こうやって作った initrd2.img を boot.img の中の initrd.img と置き換え、dd if=boot.img of=/dev/fd0 してインストールディスク作成。

しかーし。これでは動かなかったのでありました(汗; ここから格闘3時間(含む1時間ちょいの昼寝)。解決せず。

仕方が無いのでドライバディスクを作るように作戦変更。まずはドライバディスクの中の modules.cgz を解凍。ディレクトリが9つ。それぞれに 3w-xxxx.o が入ってる。おそらく 6.1,6.2,7.0 のカーネルのバージョンごとに、通常,BOOT,smp の3種で9つ。

…ん? ちょっと待て。通常,BOOT,smp の3種!? 先ほどのインストールディスクには BOOT 用のディレクトリに通常のドライバを置いたぞ。それがまずいのか? というか、そもそも BOOT 用のディレクトリに置いたこと自体が間違ってるんじゃないか!?

あとで再度インストールディスクにチャレンジすることにして、まずは通常,BOOT,smp の3種の 3w-xxxx.o を準備。後者の二つは rpm で kernel-BOOT と kernel-smp を入れれば簡単に入手可能。/boot 以下も書き換わっちゃうけど^^;
んでもって他のカーネルと同じようなディレクトリ構成で3種の 3w-xxxx.o をコピーして modules.cgz を作成。ドライバディスクの同ファイルを置き換え。

$ for dir in 2.2.18-0lv4.2 2.2.18-0lv4.2BOOT 2.2.18-0lv4.2smp
$ do
$ mkdir $dir
$ cp /lib/modules/$dir/scsi/3w-xxxx.o $dir
$ done
$ find 2.2.18-0lv4.2* -print | cpio -o --format=newc > modules
$ gzip -9 -S .cgz modules
$ cp modules.cgz /mnt/floppy/

んでもってインストール開始。expert モードでドライバを読み込み。よっしゃ! うまくいった!

同様にインストールディスクも再作成。ディレクトリも 2.2.18-0lv4.2BOOT じゃなくて 2.2.18-0lv4.2 を作成して 3w-xxxx.o をコピー。これで上手くいくはず! と思ったら boot.img に収まる大きさをオーバーしてしまった(汗; 面倒になったので、先ほどドライバディスク用に作った modules.cgz を利用してインストールディスク作成。

$ mount -t msdos -o loop boot.img boot
$ cp boot/initrd.img .
$ gzip -d -S .img initrd.img
$ mount -t ext2 -o loop initrd img
$ cp /mnt/floppy/modules.cgz img/modules/
$ cp /mnt/floppy/pcitable img/modules/
(以下最初にやったのと同じ手順)

そして起動。こっちも成功。

という感じで、認識させただけで満足してインストールはまだだったりして(ぉ

残り未開封品は ATA/100 I/F カードと 40GB HDD。おうちサーバの HDD が残り 4% になってしまったので(原因は iso イメージ落としすぎ(汗;)、早急に入れ替えねば。

今日はお出かけする予定だったのが結局日中ずっと家にいたので夜中にうろうろ。

HELLSING の (3) がない…。店員に尋ねたところ、昨日も今日も探している人がいたらしい^^; 今日注文書書いたので届くのは10日ぐらい後と言われてしまった。別の本屋探すのが吉だな。

あ、ぽんばしで売ってましたか! というわけで現在明日日本橋に出撃しそうな人と交渉中。明日は休日出勤なので(苦笑 しかしぷろきししてもらうにも値段が値段だけに厳しいかも…。


10月8日(月曜日)[前年][翌年]
おうちサーバ OS 入れ替え

会社行く前に HELLSING(3) を確保。全巻通して読む…平野耕太やなーという感想しか。

マンガついでに昨日買った「すべてが F になる」。一番気になるのは「萌絵が全然憎たらしくない」ところかな。こんなの萌絵じゃネー。犀川センセは…もうちょっと身なりのピシッとした人のような印象あるけどなぁ。あと、眼鏡かけてたっけ? 私のイメージではかけてないんだけど…どうだったっけ。

このマンガ、はっきりいって内容むちゃくちゃ分かりにくい。というかあのページ数に小説全部を詰め込むことがそもそも無理だって。小説読んでいることが前提かもね。

おうちサーバの HDD の入れ替え。ついでに OS も NetBSD 1.5 -> 1.5.2 に変更。流石に 8GB 近くのデータ転送は時間かかるね^^; 一部の機能はまだ復旧させてないけどとりあえず使えるレベルまで。じゃないと日記が書けない(ぉ カーネルも不要なところを削って GENERIC の 6 割ぐらいの大きさに。メモリが 2MB ぐらい浮いたのが嬉しい^^; 起動も若干速くなったし。40GB もあれば足りなくなることはしばらくなかろう。

問題は NLX のケースにテスクトップに使ってた IDE ケーブルを使ったもんだから余ったケーブルが邪魔。通気が悪くなりそうなので、もし短いケーブルが売ってたら買い換えよう。あと、ATA/100 I/F 使ってるので HDD アクセスランプが付かん。ボード側にはちゃんとコネクタあるんだが、NLX なので専用のケーブルを使ってて使いまわしがきかないんだよな。

さて、10GB の HDD が一つ余ってしまった。そろそろ不良セクタのある 2GB の HDD は破棄かなぁ。

結局この週末は PC いじりしかしてないような気が(汗; 結局 Vine インストールしてないし(爆

主役二人がネタベンダでなければそうたいしたことにはならないではないかと:-)

ちょこちょこと見かける King'sField の記述にちょっと食指が。でも本体が…の前に時間が…^^;


10月9日(火曜日)[前年][翌年]
EachObject::collect

会社の経費でおんなのこマウス(オプティカルマウス)購入。調子が悪いのは私のマシンではないのだけど、私の使ってたマウスを渡して買ってきたマウスを自分のマシンに繋ぐ(ぉ いや、だって買ってきたの私だし。

う、軽い。おうちでワイヤレスマウス(=電池内蔵だから重い)使ってるから余計に。軽すぎて逆にストレス溜まりそう(汗;

久々に更新してると思ったらやはり…というか昨日 IRC で(以下自粛

あ、ruby-lang.org の Hotlinks から日記系は分離されたのね。実はかなりほっとした。いや、だって、ここ最近の日記って結構アレだし、Marshal もちょっと放置状態。

いや、ホントは放置ってわけじゃなくて。Marshal にさせたい機能をホントに Marshal にさせるべきなのかを考えてて別のものを作ってたのでありました。こんな感じ。

class EachObject
  def self.collect(obj,&block)
    self::new.collect(obj,&block)
  end
  def self.clone(obj)
    self::collect(obj){|o| o.clone}
  end
  def self.dup(obj)
    self::collect(obj){|o| o.dup}
  end
  def self.each(obj,&block)
    self::collect(obj){|o| block.call(o); o}
  end
  def self.objs(obj)
    tmp = self::new
    tmp.collect(obj){|o| o}
    tmp.objs
  end
  def collect(obj,&block)
    @hash = Hash::new
    collect_sub(obj,&block)
  end
  def objs
    @hash.values
  end
private
  def collect_sub(obj,&block)
    id = obj.id
    unless @hash.key? id then
      newobj = yield obj
      @hash[id] = newobj
      case newobj
      when Array
        newobj.collect!{|c| collect_sub(c,&block)}
      when Hash
        ary = newobj.to_a
        newobj.clear
        ary.each do |a|
          newobj[collect_sub(a[0],&block)] = collect_sub(a[1],&block)
        end
      when Range
        # not support
      end
      newobj.instance_variables.each do |ivar|
        newivar = collect_sub(newobj.instance_eval{eval ivar},&block)
        newobj.instance_eval{eval "#{ivar} = newivar"}
      end
    end
    @hash[id]
  end
end

EachObject::dup/clone はそれぞれ深い複製を作ります。EachObject::collect の方が使い道あるかな? Range は未対応。この辺は [ruby-dev:14549] を参考にすれば実装可能だけど、スレッドセーフにするにはもうちょい手を加えないといけないかな。

で、こんなもの作っちゃったので、Marshal は今のままでもええかなと思うようになっちゃってたり(汗;


10月10日(水曜日)[前年][翌年]

旧体育の日。でも雨。バスだと強制的に帰る時間が決まってしまうのでチャリ&カッパ。いや、強制的に決まった方が肉体的には楽なんだが(苦笑

ダイエットを決意。5kg 落とすぞ。

全日本妹選手権。何の雑誌に連載してるのか未だに覚えてないけど、自分が読んでる雑誌(ただし立ち読み)に載ってるのでほぼ毎回読んでたり。そういやそういう設定あったねぇ。今じゃ(というかかなり前から)もはや妹云々は全然関係ないオタクマンガになっている気はするが。変な外人まで出てきたし。読んでて痛い内容がなんとも言えず。純粋な人は読んではいけないマンガだ、あれは。ショック受けるぞ、きっと(笑

…でもあのマンガで大笑いできる人間も結構大概かも知れず(ぉ


10月11日(木曜日)[前年][翌年]

ダイエットを決意した次の日に 0.4kg 増えるってどうよ?(汗;
まー、思いっきり便秘中なんだが、だから増えた…とは考えたくないな。

本日6時までという締め切りのあるブツがあったのでさっきまで激ニセ。コード freeze 直前の commit はダメなんだがなー(苦笑 朝の内に社内向けをリリースする予定が、朝は起きれないわ、最終確認中にバグ発見で報告してたりとかしてる間に昼。昼飯も食わずに社内向けリリース。直後に動作不良報告(汗; 速攻修正してコンパイルして、微々たるバグをちまちまと潰して、客先向けに「ベース画面ですにょ」というサンプルデータを書き直して、ヘルシングって昨日だった事に愕然としたり<ぉぃ

ここ2日ほどえっらい大変だったから今日はさくっと帰ろう。本職の方が3日ほど進捗0なのは多分気のせいだ(汗;

Ruby Conf 2001 は明日、明後日なのね。中継されても英語だから全然分からんだろうな。

AirH" petit。よく曲がるのカー。気をつけないと。

最近えらく猫背になっているので背筋を伸ばしたら気持ち悪くなった。って大丈夫なんかいな。


10月12日(金曜日)[前年][翌年]
CFE-02 発表

ダウン。さくっと帰ろうとか言いながら結局 11 時前までいたからなぁ、昨日。今週はホント家と会社の往復だったからなぁ。
しかしここ最近定期的にダウンしてるよな。もうダメかも。体弱すぎ。

しゅがぴのところから CF TypeII AirH"。まぢですかい。CardH" petit と同じ大きさやん…って型番も CFE-02 か。ちんまいものスキーにはたまらない一品ですな。ってこの前 CF TypeI のを買ったばっかりやん。6ヶ月縛りあるし、年契約あるし。どうしよう…。

とりあえず可愛い店員さんに会いにCardH" 用の契約を解約しに行くので、その時にどれだけ罰金を払えば機種変更できるのか尋ねよう(汗; ああ、敗北だ…なぜあと1週間早く発表してくれないんダー。

寝よう。もう動きたくネー。

おもむろに [PS] NightmareCreatures 起動。このゲーム、そこそこ面白いんだけど操作に慣れなくてちょっとしか進めてないんだよなぁ…って何年前の話だ? 探せばセーブデータあるだろうけど面倒だったので最初から。結構覚えてるもんだなぁと 5 面まで。そうそう、前のときもここら辺で海に落ちまくって死にまくって止めたんだっけか。とりあえずゴールまで行ったがアイテム回収が 80% 程度だったのでここで終わり。

またしばらく封印かな(ぉ


10月13日(土曜日)[前年][翌年]
デジカメ購入

昨日は良く寝た。これ以上ないってくらい良く寝た。おかげで寝すぎで今もむっちゃ眠い(汗;

まだちょっと体がだるいがこのまま寝てるとダメな人になりそうだったのでお買い物に出発。

まずは CardH" の解約をしに。あう、この前の店員さんじゃなかった(悲 いや、たかがはがき持ってきただけなんだけども。今機種変更したらいくらかかるんですかー、と聞いたら、定価になるだけですー、との答え。CFE-02 の発売日が決まったら定価聞きに行くかな。

そういえば CFE-01 を引き取る際、「また使うときがあるかもしれないですしね」と言われたが、それは絶対にないな。まあ、このお姉ちゃんは私が AirH" 持ってることは知らんだろうけど^^;

デジカメを買おうとカメラのキタムラへ。うーん、やっぱり結構な値段するのねぇ。3万ぐらいで買えないかなと思ってたのは甘かったらしい。つってもこの辺じゃここが一番安そうだったので購入。

動画も撮れるらしい。いや多分撮らないけど。

そういや Norton AntiVirus 2002 が出てるはず〜、と電気屋めぐりをしてる途中に中古ゲーム屋の前を通りかかる。あ、PC ゲームの買取もしてるのか。やっぱエロゲも扱ってるのかしらんとふらふらと吸い込まれる。あ、やっぱあるね。いや買わないけど。

ちうか、そんなコーナーがあった事よりも、そのコーナーで 4,5 才ぐらいのくらいの女の子がパッケージを手に取り、熱心に裏を見てた事の方がすごかった。ええ、じっと見てましたよ。エロゲの箱の裏って(省略)なのに。

まあ、こんなところにそんな年齢の女の子が一人でくるわけもなく、親登場。いい加減にしなさいと注意する父親。そして親子 3 人が店を出て行く直前に母親が言ったセリフ。

「ほんまこの子好きやなー。おっぱいー、とか、おへそー、とか、おしりー、とか」

笑いを我慢する限界。その後を追うようにして出て行く私。いやー、面白すぎ。あの子の将来がすごく気になるね。多分二度と会わないだろうけど(笑

で、結局 AntiVirus は 2 ライセンスパックが一番安い店に売ってなかったので買わず。Internet Security と Personal Firewall はあったのに。別のところで買ってもそんなに値段差はないんだけど、なんかねぇ、悔しいやん(笑 代わりに(?)フォント集を購入。

久方ぶりに名刺作ろうかなと^^;;

ああ、やっぱ関東以外ではやってないですか>ヘルシング
関西テレビがダメでもサンテレビなら…と密かに期待してたのですけど(ぉ

夜中。猛烈に頭が痛くなる。寒気もする気が。風邪? こんな時期に風邪を引くと洒落にならんので予定をほっぽって寝る。寝る。寝る。


このページは基本的にリンクフリーです。

written by Shin'ya Adzumi 'あづみ しんや'
adzumi@denpa.org