MIRACLE
メールサービス申込 ユーザー登録 パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

プロフィール

美田 晃伸
みた あきのぶ

コアテクノロジー部所属。

Asianuxの開発で北京に来ています。

kernelパッケージのメンテナンスをしています。

ミラクル関連リンク

採用情報

サイト検索

最近のコメント

2008年1月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Linux 開発者の Blog

諸事情により今回のエントリが最後になってしまいました。
私がたまに見ている Blog を挙げておきます。

kernel planet

ここから Alan Cox, Deve Miller, Greg Kroah-Hartman などの Linux カーネル開発者の Blog をたどることができます。

http://udrepper.livejournal.com/

glibc のメンテナー Ulrich Drepper の Blog です。

メモリが一部分壊れたときのしのぎかた

256MB のメモリをはずしてもやはりへんな動作をすることがあったので、もう一度 memtest86+ を実行してみたところ、512MB のメモリのほうも一箇所壊れていました。

Tst Pass  Failing Address       Good      Bad    Err-Bits  Count Chan
--- ---- --------------------- -------- -------- --------- ----- ----
  4   0  00016caf4f0 - 364.9MB 5611fbfd 5611fb7d 000000080   431

一時間ほど流して 364.9MB の辺りの一箇所で 431 回もエラーを検出していました。このまま使いつづけるとファイルシステムまで壊してしまう恐れがあるので、メモリを取り換えるまで起動するのはよくないのですが、つぎのようなブートオプションを指定すれば、しばらくしのぐことができるかもしれません。

1. mem=360M

mem= ブートオプションを与えてメモリエラーのある箇所を使わないようにします。ただし、 360MB 以上のアドレスは全部つかえないのはもったいないかもしれません。また、もしメモリエラーがもっと低位のアドレスに起こっていたら、もっと少ないメモリしか使えません。

2. crashkernel=10M@360M

CONFIG_KEXEC を有効にしてカーネルをビルドすると crashkernel= ブートオプションが使えます。本来はクラッシュがおこったときに起動するカーネルを配置するアドレスを指定するためのものなのですが、このようにして 360MB-370MB の部分を予約して使われないようにします。

3. memmap=exactmap memmap=359M@1M memmap=141M@370M

memmap ブートオプションで利用するメモリマップを明示的に指定して 360MB-370MB を使わないようにします。ちょっとうまく説明できないので説明を省略しますが、 grub に次のようなオプションを追加しておかないと initrd の読み込みに失敗しました。

uppermem        500000

メモリが壊れる

最近、北京では夕方から夜にかけて大雨になるという日が続くというへんな天気になっています。それと関係あるのかどうか分かりませんが、アパートのオートロックが壊れたり、洗面所の排水口が壊れたり、いろいろものが壊れていたのですが、自分のノートパソコンのメモリも壊れてしまいました。

いつも起動していたカーネルなのに、いろいろなプログラムが起動しなくなって、しばらくするとフリーズしました。とりあえず必要なデータのバックアップだけしようと再度起動しようとしても起動の途中のランダムなタイミングでパニックするようになりました。 そのうち起動時の BIOS のスプラッシュ画面すら出てこなくなってしまいました。

何十回に一回か起動することがあるのでそのタイミングで memtest86+ を実行したらいっぱいエラーがでてしまいました。
エラーのパターンを見ると、 single bit flip detector. に書かれているように 1bit だけ間違っているというものが多かったです。

とりあえず、このノートパソコンには 256MB と 512MB のメモリモジュールがついていたので 256MB の方をはずしたところ、うまく起動するようになりました。

Mac mini のセットアップ

日本にいるときに会社で Mac mini を使っていたのですが、むだに電源がはいっていたり、ダンボールのなかにしまってあるよりはましだと思って中国にもってきました。

ネットワークの設定をせずにもってきたのと、モニターを持っていないため、しばらくログインすることさえできませんでした。

先日、とりあえずダウンスキャンコンバータというものを買ってテレビをモニター代りにすることにしたのですが、テレビだと細かい文字が読みづらくて途中であきらめてしまいました。

TV の置いてあるところからルータの設置してあるところまで届く Ethernet ケーブルがなかったので、FireWire ケーブルで Mac mini と ThinkPad を接続して両方で eth1394 (IPv4 over IEEE 1394) モジュールをロードして直接ネットワーク接続して、ThinkPad からログインしてセットアップの続きをしました。

Macmini

v2.6.17 (bcm43xx) で BUFFALO WLI-CB-G54S を使う

Linux カーネルに標準で備わっているドライバで動く無線 LAN カードわりと少ないようです。いろいろ検索して動作実績があるカードでも既に生産中止になっていたということも多いと思います。

BUFFALO の WLI-CB-G54S という無線 LAN カードはいまのところビックカメラなどどこでも売っていて Linux v2.6.17 から追加された bcm43xx というドライバで動作しました。

ファームウェアは bcm43xx ドライバの開発サイトで公開されている bcm43xx-fwcutter というツールで、Windows とか Mac OS 用のドライバの配布物から取り出す必要があるようです。また、ファームウェアをアップデートしたいときにも役立つかもしれないので手順を書いておきます。

まず、ファームウェアの元になる Windows とか Mac OS 用のドライバの配布物を見つける必要があります。bcm43xx-fwcutter の README にいろいろダウンロード可能な URL が載っているのでそこからダウンロードすることもできますが、ここでは BUFFALO WLI-CB-G54S 付属の CD-ROM のなかに入っているものを使うことにしました。

bcm43xx-fwcutter が対応しているファイル名と MD5SUM は -l オプションで表示されます。

# bcm43xx-fwcutter -l

...

その出力から付属の CD-ROM のなかの bcmwl5.sys が対応しているようでした。念のため -i オプションで確認します。

# bcm43xx-fwcutter -i /mnt/cdrom/driver/CBG54/WIN2000/bcmwl5.sys

bcm43xx-fwcutter can cut the firmware out of /mnt/cdrom/driver/CBG54/WIN2000/bcmwl5.sys

  filename :  bcmwl5.sys
  version  :  3.104.64.52
  MD5      :  3ccb53e4f0f5e9f4ae270cb2924cb941

ファームウェアを抽出して、所定のディレクトリに保存します。

# bcm43xx-fwcutter -w /lib/firmware/ /mnt/cdrom/driver/CBG54/WIN2000/bcmwl5.sys

ThinkPad X31

ThinkPad X31 を上司から譲り受けて一年以上使い続けているのですが、前回のエントリで紹介したようなスクリプトなどを動かしていて、 こんな見飽きたマシンにもまだよく知らない機能がいっぱい付いていることが分かりました。暇なときにひとつひとつ調べてここで紹介する予定です。

会社情報 採用情報 個人情報保護方針 商標等取り扱い事項 English
Copyright(c)2000-2006 MIRACLE LINUX CORPORATION. All Rights Reserved.