つれづれ日記 2006年7月

予定

毎日


2006年7月29日 (土曜日)

16:15:24 # Life TLUGで発表してきました。 30人くらい参加していて、盛況な感じでした。 Debian on MacBook について、英語で発表しました。 いままで日本語の資料しかなかったのが 長い間の懸念事項だったのですが、やっと英語の資料ができました。 ここにおいておきます。 ついでに、TLUGのオークションで無線LANステーションを手に入れたので、やっと自宅も無線が使えるようになりそうです。 めでたしめでたし。

915resolution の設定って、もしかしてVESAのみの話で、i810では 必要ないのかなぁ、とためしてみましたが、必要っぽいです。無い と変な解像度になります。

2006年7月29日 (土曜日)

12:03:42 # Life core2duoのマイクロアーキテクチャー。 ジョウロじゃなくてジョウゴ(funnel)じゃないかなぁ、というのが気になって本文の本論が頭に入ってこない今日このごろ。

2006年7月28日 (金曜日)

08:50:27 # Life macbookでのsleepサポート。 カーネルのオプションで ACPI sleep が出てこないなぁ、ということでKconfigを睨んでいたのですが、 SMPの場合、CPU hotplug サポートを使わないと ACPI sleep を利用できないのですね。 とりあえずなんとかオプションを enable にすることはできたようです。 このパッチがマージされていないとそもそも MacBook でレジュームができないようです。 まだマージされていないようなので、 これは、カーネルパッチパッケージをいじるところから入らんといかんのかなぁ。

2006年7月27日 (木曜日)

01:36:45 # Life linux-uvcのメンテナンス。 なんだか、すごく待望のデバイスだったらしく、 アップロードしてから、画像を添付した相談メールが大量にきます。 ロジテックのUSBビデオカメラ、大人気みたいですね。 ちなみに、linux-uvc は v4l2 のioctlを全て実装しているわけではないので、動かないアプリケーションが多数あります。 そもそもv4l2が動作しないアプリケーションが多いのですが。

01:40:31 # Life ylugサーバのお引越。 本日、ylug.jpサーバのお引越作業にいって参りました。 私の協力した作業は何かときかれると、その後の宴会に参加したという以外には何もしていません。 ちなみに、数時間前はbindがうまく動作していないので、メールを受信はするけど送信できないという状況にありました。 ylug.jpのメーリングリストが動いていないです。 ただ、みんなよっぱらっているのであと数時間で修正されるかどうかは定かではありません。

ちゃんと復活しているようです。飲み会の後で作業なされたようで、お疲れさまです。

2006年7月24日 (月曜日)

20:01:11 # Life latex-beamer で背景画像を追加。 できないかなぁ、とおもって調査したら、簡単でした。 全体に適用される\logo{}コマンドというのがあるのでそこに追加してあげればよいようです。 \logo{\includegraphics[width=8cm]{image200607/openlogo-light.eps}}として指定してあげて、 あとは背景画像になるepsファイルを仕込むだけです。背景なので あまり邪魔にならないようにコントラストを下げてあげるのを忘れ ないようにしましょう。 epsファイルだったら編集は簡単です。 たとえば、Debianロゴを薄い色にしようとするなら、 直接エディターで編集してRGBの値を変更してあげればOKです。

diff -u image200502/openlogo-nd.eps image200607/openlogo-light.eps 
--- image200502/openlogo-nd.eps	2005-05-27 07:23:21.000000000 +0900
+++ image200607/openlogo-light.eps	2006-07-24 19:59:07.000000000 +0900
@@ -31,7 +31,8 @@
 %%BeginPageSetup
 save GS_pswrite_ProcSet begin 0.1 0.1 scale
 %%EndPageSetup
-0.843137 0.027451 0.317647 rg
+%%0.843137 0.027451 0.317647 rg
+0.943137 0.627451 0.817647 rg
 0 0 m
 6120 0 l
 6120 7920 l
	

2006年7月23日 (日曜日)

12:11:01 # Life MacBook iSightうごきました。 おめでとう。 ということで、パッケージを作りました。 linux-uvcモジュールのソースにMacBook用のパッチを適用したものです。 パッケージはdeb http://www.netfort.gr.jp/~dancer/tmp/20060723 ./にあって、 module-assistant auto-install linux-uvcとかやるとインストールされるはずです。 ただし、v4l2しかサポートしていないらしく、対応しているアプリケーションはたくさんないので、結構困ります。 アップロードしておいたので、しばらくたてばunstableにも入るでしょう。

2006年7月22日 (土曜日)

11:31:12 # Life MacBook 内蔵の iSight うごくそうです。 しばらくいろいろな情報がとびかっていましたが、結局 動くようになったそうです。 問題点はふたつあり、 ファームウェアをロードする方法が必要だった(MacOSXを起動してからLinuxを起動するとUSB Video Class デバイスに見える)、 というのと、UVCドライバがサポートしている方式ではデータを吐いてくれていなかったという点があったようです。 現状まだファームウェアを取得するのにMacOSXが必要ですが、 ファームウェアをロードすること自体はLinuxから実行できるようです。

21:39:50 # Life gpdf の削除。 セキュリティーホールが放置されているし、メンテナが反応わるいので、削除してもらう方向でお願いしてみる。 使えないPDFビューワはどんどん削除しましょう。 xpdfとevinceだけでよいんじゃないか?

2006年7月20日 (木曜日)

00:01:46 # Life dx5150 dual screen 設定、同じ画面を出す方法。 プロジェクターを導入するために、デスクトップマシンから dual-screenで出力させる方法を模索しています。dx5150は内蔵の radeonカード(RS480、XPress200)がDVI出力とD-sub 15ピンのふたつの出力を もっているので、その両方から信号が出せるようです。両方から信 号がでるようにする方法はわかりました。DVI出力とD-Sub 15ピンから 別の画面を出す方法がわかりません。 とりあえず現状の設定をおいておきます。

もしかして、mergedfbじゃないとうまくうごかないのですかね?

しかも、dual-screenの設定で外部出力を接続していない状態で 動かすとなぜかemacsとgoRuaがよくハングする。 何かをまっている状態になるのだが、解析している暇がないのでまた後で。

2006年7月15日 (土曜日)

17:15:46 # Life OSC-Doで発表終了。 今回のDebian勉強会は、北海道のオープンソースカンファレンスにての発表でした。 40人程度参加していただきました。 次回からの東京でのセッションにも参加してくれる方がたくさんいらっしゃるということで、 今後もよろしくお願いします。 資料は勉強会のページからたどれるようになっています。

2006年7月13日 (木曜日)

00:19:04 # Life xpdf の -fullscreen バグ修正。 最近のmetacity と xpdf の組合せでフルスクリーンモードでのプレゼンテーションが動かないというのに悩まされていたのですが、 修正しました。 NETWMヒントを提供していなかったという問題と、 フルスクリーンでもスクロールバーが表示されていたという問題が発生していました。 247602に最新のパッチを添付して投稿しておきました。 一時的にここにパッケージをおいておきます。

どうやら377230の 影響で、xpdfがビルドできなくなっていて、修正できていないよう です。

09:16:02 # Life MacBookでiSightを動かした人がいるらしいですよ。 本当かな? USB video class を実装しているそうです。 linux-uvcを活用しているとのこと。

2006年7月12日 (水曜日)

00:00:06 # Life MacBookのリモコンを使ってプレゼンテーション。 今日トレーニングをうけていたら、講師の方がリモコンでプレゼンテーションを制御していて、それがかっこよかったので、 自分もしようかと思い立ちました。 しくみがわかったので、なんとかできそうです。 北海道ではそれでプレゼンしようとおもいます。 コードはmactel-linux-develに投稿しておきました。 ここにもおいておきます。

2006年7月9日 (日曜日)

00:07:51 # Life MacBook の iSight. Appleのサイトを見ても、IEEE1394版の資料はあるけれども、内蔵 のものについての資料が全然ないですね。困りました。lsusb -v -s 001:003 でデバイスのありかはわかるし、 sane-find-scanner はそれをなんらかのデバイスとして検出してく れているけど、そこからデータを吸い出す方法は?

00:21:15 # Life sshfs を使ってみる。 fuse対応のカーネルの場合。 現在のユーザがfuseグループに入っている必要があるが、なぜか入っていない。 どうも試験していると、udevがまともに動いていないようだ。 368674と、バグ報告。 それ以外の点については、うーん、ssh さえ通っていればファイルの共有ができるので、非常に便利です。 sftpのプロトコル上でサポートしていないのでしかたがないかもしれないですが、しかし、dfの出力がすごくうさんくさい。

$ apt-get install sshfs	 
$ adduser dancer fuse
$ chown root:fuse /dev/fuse
$ sshfs dancer@dancer64:/tmp /tmp/64
Enter passphrase for key '/home/dancer/.ssh/id_dsa':
$ ls -l /tmp/64/dcast-3.0.0.tar.gz
-rw-r--r-- 1 dancer dancer 63800 2006-07-08 23:39 /tmp/64/dcast-3.0.0.tar.gz
$ ssh dancer@dancer64 ls -l /tmp/dcast-3.0.0.tar.gz
Enter passphrase for key '/home/dancer/.ssh/id_dsa':
-rw-r--r-- 1 dancer dancer 63800 2006-07-08 23:39 /tmp/dcast-3.0.0.tar.gz
$ df /tmp/64 -h
Filesystem          サイズ  使用  残り 使用% マウント位置
sshfs#dancer@dancer64:/tmp
                      7.5T     0  7.5T   0% /tmp/64
	

08:32:39 # Life select() to /dev/rtc to wait for clock tick timed out. MacBook Debian で起動時にでるので調べてみた。 hwclock が出しているらしく、rtcを利用して時間を設定しようとするかららしい。 解決策は二種類。 --directisaオプションを指定して/dev/rtc経由以外で設定するか、 /dev/rtcが動くように設定するか、どちらか。 /etc/init.d/hwclockfirst.sh, /etc/init.d/hwclock.sh には HWCLOCKPARS という変数が定義してあり、そこで--directisaを指 定してあげればよさそう。一方、カーネル側の設定を確認すると /dev/rtc を利用して RTC を管理するモジュールはgenrtc とい うものと、 rtc というものがあることがわかった。最近 generic RTC framework とかいうので改編されていた部分だなぁ、と目星を つける。 どうも、正しいモジュールがロードされていないようだ。ふたつの 解決策がありそう。 デフォルトでロードされる rtc モジュールの削除をしてから (そ もそもこいつがうまく動いていないのにデフォルトでロードされて いるのが問題のようだ: drivers/char/rtc.c)、ひとつ はgenrtcモジュールのロード (RTC がないアーキテクチャで  /dev/rtc をエミュレーションしてくれるドライバ drivers/char/genrtc.c)。もうひとつはrtc-devモジュー ルのロード (generic RTC framework 側の /dev/rtc ドライバ, drivers/rtc/)。 なんだか状況があまり整理できていないですが。

$ time sudo hwclock --show
select() to /dev/rtc to wait for clock tick timed out

real    0m5.003s
user    0m0.002s
sys     0m0.002s
$ time sudo hwclock --show --directisa
2006年07月09日 08時37分09秒  -0.357430 seconds

real    0m0.361s
user    0m0.356s
sys     0m0.002s
	

hotplugにrtcモジュールをロードさせないようにして みる(/etc/hotplug/blacklist.d/dancer-rtcファイルを 作成、中にrtcとだけ書いておく)。そして、modconfrtc-devをロードするように指定。リブートしたら起動完 了しなくなった。まずい。init=/bin/shで起動しようとしたら、キー ボードが動かない。しかたがないのでCDROMから起動して回避。 blacklistを追加するのはまずいらしい。

rtc モジュールを削除して rtc-dev モジュールを有効にしてあげるとどうもうまくいっているように見えるのだが、 どうだろう。

で、結局回避策としては、rtc-devをカーネルにbuilt-in(Yes)にしてしまいました。 これで、hwclock に --directisa オプションをあたえなくても動作するようになりました。 当面の問題は解決。 これを一般化するのはちょっと難しいかな。 Generic RTC framework が安定する必要があって、それは etch には間に合わない? これではたして本当にうまくうごいているのか確認する方法がよくわからず。うーむ。

22:52:20 # Life rEFIt rejected. パッケージがrejectされてました。 debian/copyright にあらゆるファイルのcopyright をつっこまないといけない、という意見がついていました。 Joerg Jaspert になってから、最近DWNにそういう話題がでてましたね。 実際にやってみると面倒です。 全ファイルをあさってそれぞれの権利者を確認する作業が必要があるので、超面倒。

23:56:19 # Life rEFItパッケージがDebianに入りました。 修正して、即チェック通過。素晴らしい。

2006年7月6日 (木曜日)

23:14:40 # Life YLUG カーネル読書会、mixi編。 今日は私は前座でmacbookのインストールについて話をしてみました。 ちょっと今日の客層からすると濃すぎたかな? mixiの話題は非常におもしろかったですね。 サーバの構成が超絶に複雑になっていましたが、 この話題を聞いていると、カーネルのキャッシュミスを回避したり するためのデータ構造の考え方とかが連想されてきて、どの レイヤーでも同じようなところで悩んでるんだなぁとにんまりして しまいました。 カウンタを一ヶ所にすると複数のCPUで競合をするから、それを適切にpercpuにしてみる、 というのと、mixiのデータベースをテーブル単位で分割して、DBサーバにおいてみる、 という話が頭の中でオーバーラップしておりました。 相互に刺激をあたえてみると面白いブレークスルーがありそうですね。 ただ、アプリケーションレイヤーのスケーラビリティーの話題にな ると、システム構成の話題になってしまうので、複数のサーバを組 み合わせたネットワークとかが欲しくなり、カーネルほど環境を再 現するのが簡単でなくなったりします。 しかし、ひょっとして、カーネルのほうが簡単だと思ってしまう自分がなんか毒されているんでしょうか? 最初にネタを披露したところで、なんか名乗ってなかったような気がしたので、最後に質問のところで名乗ってみました。

2006年7月3日 (月曜日)

07:24:19 # Life CodeFest の結果,MacBookで動くDebianのインストールはできました. 一般化ができるところまでは到達できていません. これは bless コマンドがLinuxには無い,という点が問題です. MacBookのインストールのついでにkinput2/cannaからSCIM/anthyに乗り換えたのですが, 色々と差異があったので時間を取られました. ctrl-spaceが漢字変換のキーバインドのデフォルトですが,それを とられてしまうとemacsで領域の選択が出来なくなってしまいます. みなさんemacsつかってないのでしょうか?

08:01:13 # Life core duo はカーネル的には Pentium M なのか? ということが疑問になったので調べてみました. そもそも,カーネルのPentiumMオプションを指定した場合に影響をうける部分を検索してみると, どうやら下記のような差があるようです. 結局 Pentium M を指定したらよいのでしょうか. 調べた結果,カーネルをビルドするときにどちらを指定してもあまりパフォーマンスに影響ないような気がして来ました. そもそも,ほとんどのCPU別に対応している部分については,cpuid命令の結果で選択しているようです.

pentiumm pentium4
L1_CACHE_SHIFT 6 7
-mtune pentium3 pentium4

2006年7月2日 (日曜日)

09:46:23 # Life rEFIt 進捗。 結果として、Code Fest Akihabaraの期間で rEFItのパッケージが作成できました。 一部バイナリのみですが。 なんだかgptsyncがうまくうごいていないのでそれは要確認。

2006年7月1日 (土曜日)

14:15:36 # Life CodeFestAkihabara 参加. 本日はこれから秋葉原でハックマラソンです. こちらにログを書く予定なので,どうぞ.

MacBookの構成についてはAppleの資料があります.

rEFItのgptsyncツールは重要です. Debianをインストールする歳に,GPTのパーティションテーブルとMBRのパーティションテーブルが一致していないと いろいろと不具合があるようです. GRUBをインストールしようとしたところ,失敗しました. 原因を調査したところ,Grubからはデバイスが(hd0,0)しか見えていませんでした. liloもパーティションテーブルの情報がおかしいということを苦情をいってきます. lilo -P ignore でここは黙らせておきました.

etchのdailyインストーラは最新の2.6.16-2を実行しているのですが, インストールされているパッケージはetchの古い2.6.15-8だったため, インストーラだけ起動するけど再起動してから全く何もおきない状況になりました, という仮説をたててみましたが,違ったようです. 一番大きな問題は,Debian-installerを動かしたあとに GPTの情報を更新するとMBRの情報が破壊されます. その状態からMBRの情報を修正してあげると,起動するようになりました.

とりあえずrEFItをビルドする環境を準備してみました. rEFIt自体は簡単にビルドできるようです.

sudo linux32 pbuilder login --basetgz /var/cache/pbuilder/base-i386.tgz --bindmounts ~/DEBIAN/refit/
	

Xはi810で,915resolutionを導入して, /etc/default/915resolutionMODE=32 XRESO=1280 YRESO=800 をいれる.


Junichi Uekawa

$Id: 200607.html.ja,v 1.44 2006/07/29 16:02:22 dancer Exp $