Linux 開発者の Blog
諸事情により今回のエントリが最後になってしまいました。
私がたまに見ている Blog を挙げておきます。
ここから Alan Cox, Deve Miller, Greg Kroah-Hartman などの Linux カーネル開発者の Blog をたどることができます。
http://udrepper.livejournal.com/
glibc のメンテナー Ulrich Drepper の Blog です。
![]() |
|
コアテクノロジー部所属。
Asianuxの開発で北京に来ています。
kernelパッケージのメンテナンスをしています。
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 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 |
諸事情により今回のエントリが最後になってしまいました。
私がたまに見ている Blog を挙げておきます。
ここから 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 を使っていたのですが、むだに電源がはいっていたり、ダンボールのなかにしまってあるよりはましだと思って中国にもってきました。
ネットワークの設定をせずにもってきたのと、モニターを持っていないため、しばらくログインすることさえできませんでした。
先日、とりあえずダウンスキャンコンバータというものを買ってテレビをモニター代りにすることにしたのですが、テレビだと細かい文字が読みづらくて途中であきらめてしまいました。
TV の置いてあるところからルータの設置してあるところまで届く Ethernet ケーブルがなかったので、FireWire ケーブルで Mac mini と ThinkPad を接続して両方で eth1394 (IPv4 over IEEE 1394) モジュールをロードして直接ネットワーク接続して、ThinkPad からログインしてセットアップの続きをしました。
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 を上司から譲り受けて一年以上使い続けているのですが、前回のエントリで紹介したようなスクリプトなどを動かしていて、 こんな見飽きたマシンにもまだよく知らない機能がいっぱい付いていることが分かりました。暇なときにひとつひとつ調べてここで紹介する予定です。
最近のコメント