つれづれ日記 2003年12月

予定

毎日


2003年12月31日

11:18:48 # パフォーマンスを解析しているときにtop -b の出力をログにとると結構便利かもしれない. しかし,これをどう解析するのかについてはテクニックが必要か.

11:30:12 # Life nameifというものがあるらしい. ネットワークカードのデバイス名をネットワークカードのMACアドレスから導出するらしい. /etc/mactabを利用してその名前付をするそうだ. すごい.

13:06:32 # Life Skolelinuxからdebian-developer全員に出したのか,ドイツで今日パーティーするからおいで,とかいうメールが来た. 行けるわけないだろう.

14:05:23 # Life 先日さがしていたのはmingplotだ. しかし,いろいろとrubyに依存しているのと,現在のDebianのrubyの状態がよくわからないので保留.

2003年12月30日

10:31:15 # Life cl-aserveというパッケージがあるのに気づいた. allegroservというのは,Common Lispを使ったウェブアプリケーションフレームワークみたいな物だった気がする.

20:59:56 # Life USBで起動するためのパッチらしい. USBデバイスを認識するタイミングよりルートファイルシステムをマウントするタイミングのほうがはやいため, 通常はUSBデバイスをルートファイルシステムにすることは難しい. そこに,待ちをいれてみるらしい.

23:58:18 # Life 久しぶりにwysidocbookxmlを使って編集してみた. いろいろと不都合がおきたため,デバッグ. xsltprocの動作が若干変更されているようだ. バグ報告をだしておいた. スライスの無い部分で単にエラーを出すのも芸がないので, 文書全部を表示するように変更してみた.

2003年12月29日

07:59:52 # Life UMLの怪しい部分を修正してみる. unionとなっている二つのstruct中の変数の順番を一致させてみた. もしそれが修正となるのなら,ttモードとskasモードの共存部分にバグがあることになる. とか思ったが特に何がおきることもなく.

まじめにデバッグするしかないかなぁ...

08:53:45 # Life LKMLを読んでいたら,Linusの誕生日なのか?気が付いたら34歳なのかなぁ..

08:58:24 # Life cdebootstrapというdebootstrapをCで実装したものがあるらしい. Debian experimental に入っているとのこと.今年の9月あたりにいじっていたようだ.

09:34:34 # Life linuxのufsのソースを読んでいると,HP/UXのhfsがサポートされているらしい. super.c に記述があった.read-onlyではあるようだが. mount -t ufs -o ufstype=hp,ro というように指定したら 読めるようになるのか?

	case UFS_MOUNT_UFSTYPE_HP:
		UFSD(("ufstype=hp\n"))
	

2003年12月28日

15:21:53 # Life どうもcannaのパッケージングについていくのに時間が妙にかかる. xmkmf系だからなのだろうか. これに対して,autoconf/automake系のパッケージのメンテナンスは凄く効率がよい. xmkmf系になれていないだけなのか,それともautoconf/automakeが楽なのか. ./configureへのオプションで大体修正できるという点がらくなのかな. パスの設定が,システム依存の部分とそうでない部分がCanna.confでごっちゃになっているのが いやかもしれない. #ifdefでシステムを見ている部分があって,それが外部からのオプションでは指定できず, 本文を変更する必要がある.

とりあえず,HPPAでコンパイルできない問題を修正.

15:51:18 # Life kexecとか何かについて 書いてある英語の記事があった. 日本語の記事もあった. 見てみるとおもしろい. できそうで今までできていなかった奴だなぁ... UMLがLinuxからLinuxをfork/execするものだとしたら,kexecはexecしてしまうというイメージ. 今動いているlinuxから新しいlinuxを起動できる. これを使えばLinuxをブートローダとして使うことも夢ではない...か?

16:30:34 # Life apt-get dist-upgradeした影響でフォントがkochi-replacementになってしまった. なんか松とかいう字がすごくバランスが悪かったりする.微妙だ.

17:03:57 # Life UML-debug: sys_ni_syscallというのは,定義されていないsystem callに対するwrapper関数か. そいつが-ENOSYSを返す. とりあえず,UMLが動いて欲しいのだが...

なんとなく勘だが,include/asm/ptrace-generic.hが気になる.


#define pt_regs pt_regs_subarch
#define show_regs show_regs_subarch
                                                                                                                                                            
#include "asm/arch/ptrace.h"
                                                                                                                                                            
#undef pt_regs
#undef show_regs
#undef user_mode
#undef instruction_pointer
	

pt_regs_subarchは

struct pt_regs {
        long ebx;
        long ecx;
        long edx;
        long esi;
        long edi;
        long ebp;
        long eax;
        int  xds;
        int  xes;
        long orig_eax;
        long eip;
        int  xcs;
        long eflags;
        long esp;
        int  xss;
};
                                                                                                                                                            
	

/usr/include/asm/ptrace.h

        long ebx;
        long ecx;
        long edx;
        long esi;
        long edi;
        long ebp;
        long eax;
        int  xds;
        int  xes;
        long orig_eax;
        long eip;
        int  xcs;
        long eflags;
        long esp;
        int  xss;
};
	

あと気になるのは.

--- /usr/include/asm/ptrace.h   2003-10-16 00:10:23.000000000 +0900
+++ arch/ptrace.h       2001-09-15 06:04:08.000000000 +0900
@@ -49,14 +49,15 @@
 #define PTRACE_GETFPXREGS         18
 #define PTRACE_SETFPXREGS         19
                                                                                                                                                            
-#define PTRACE_OLDSETOPTIONS         21
+#define PTRACE_SETOPTIONS         21
                                                                                                                                                            
-#define PTRACE_GET_THREAD_AREA    25
-#define PTRACE_SET_THREAD_AREA    26
+/* options set using PTRACE_SETOPTIONS */
+#define PTRACE_O_TRACESYSGOOD     0x00000001
                                                                                                                                                            
 #ifdef __KERNEL__
 #define user_mode(regs) ((VM_MASK & (regs)->eflags) || (3 & (regs)->xcs))
 #define instruction_pointer(regs) ((regs)->eip)
+extern void show_regs(struct pt_regs *);
 #endif
                                                                                                                                                            
 #endif
	

arch/um/include/sysdep-i386/ptrace.hのこれも気になる.

union uml_pt_regs {
#ifdef UML_CONFIG_MODE_TT
        struct tt_regs {
                long syscall;
                void *sc;
        } tt;
#endif
#ifdef UML_CONFIG_MODE_SKAS
        struct skas_regs {
                unsigned long regs[HOST_FRAME_SIZE];
                unsigned long fp[HOST_FP_SIZE];
                unsigned long xfp[HOST_XFP_SIZE];
                unsigned long fault_addr;
                unsigned long fault_type;
                unsigned long trap_type;
                long syscall;
                int is_user;
        } skas;
#endif
};
	

2003年12月27日

09:25:43 # Life linux-kernel MLで2.6.0でファイルシステムが不正になる,という話しが出ている. どうなのか気になるがよくわからない. 書き換えた記憶があるのになぜか書き変わっていないというような症状とかが該当するのか?

10:51:21 # Life sidのマシンをdist-upgradeしてみる.多分一年ぶりくらいではないか? 通常はひとつづつパッケージをinstallしているのだが, たまには全部dist-upgradeしてみるのも必要か.

12:30:43 # Life dist-upgradeの結果,user-mode-linuxが動かなくなった. 2.6.0ではDebianのUMLがまだ動かないらしい.うーん.

2003年12月24日

06:24:51 # Life imagemagickの問題はDaniel Kobrasが修正してくれたようだ. 5.5.7.9から5.5.7.15にあがった間にsonameが変更されていたのが問題. しかし,ライブラリパッケージを作成する際には,debdiffとかで 確認することが必要だな.

06:55:46 # Life 起動してから二度目に試行すると成功する,という処理の原因は何だろう. pbuilder-user-mode-linux createが一度目は失敗して 二度目は成功した.再現することはできない. なんか最近そういうことが多いようなdeja vu のような感想が...

07:35:18 # Life dpatchの利用方法についてのメモを作成してみた. 気が付いたらアップデートするだろう...

2003年12月23日

22:18:21 # Life pdebuild で,debian/rules cleanをchroot内部で実行する実装. --bindmountsでバインドマウントして,作業用ディレクトリをそのままchroot内部で処理してしまう.

2003年12月22日

07:44:16 # Life Cannaで気づいたらfuzokugo.cldが配布されないようになっていた. 3.6p1から3.6p4になったときにはそうなっていたようだ. んでもって,cannaが初期インストールに失敗するというださいことになっていた.

cannaのドキュメントをビルドするようにしたりして,3.7-2をDebian unstable に アップロード.

2003年12月20日

14:06:22 # Life debian/changelogを解析してdebdiffを実行するelispを作成.

17:14:16 # Life canna 3.7 のパッケージングのコンパイルがやっと通り初めて来た. ふむ. 4時間くらい費している.意味あるのかな.なにか作業の仕方の効率が悪いのか?

18:00:59 # Life なんとなくmangosteenのウェブページを更新してみる.

18:30:02 # Life とりあえず,動くcanna 3.7のDebianパッケージができたので,experimentalにアップロードする. お試しください.

2003年12月19日

09:22:50 # Life まったりとメールをよんでみる. kernel 2.6.0がリリースされているのだなぁ.. とりあえずダウンロードしてコンパイル開始して出社するか.

09:24:44 # Life lustreの人がdebian-develにメールを出していた. 気になるが試す機材がないなぁ.

2003年12月18日

00:19:13 # Life 「カーネル読書会」にて,SuSEの岩井さん(というかむしろALSAの岩井さん)から カーネルのサウンドドライバまわりの話を聞く. すばらしく内容の濃い話だった. 帰りの東横線で人身事故があったが,無事に帰れたのでよしとする.

2003年12月17日

07:49:52 # Life pbuilderを修正. Debian BTSがまともに返事をかえしてこないため,とりあえず保留.

2003年12月16日

08:49:29 # Life パッケージがインストールするかどうかというテストシステムをpbuilderで構築してみた. とりあえず実行.

2003年12月15日

07:43:20 # Life pbuilderがうごかない,という謎のメッセージがきていた. /dev/nullにアクセスできない,というエラーがでていたのだが, Linuxのmountにはnodevオプションというのがあり, デバイスファイルにアクセスすることができない,というものらしい. デバイスファイルを作成することはできるのだが,そこからアクセスしようとすると, エラーになるとのこと. dev/null問題という話題で昨年くらいでていたようだ.

08:39:38 # Life dailyディレクトリに生成しているHTMLで相対パスを修正するようにしてみた.これで若干ましになった. あと何がたりなかったっけ.

2003年12月14日

17:53:13 # Life ecasound 2.3.2 をビルドしようとしたらsndfileのバージョンが古いためエラーになってしまった. libsndfileはずいぶん更新されていないように見受ける.どうしたのかな?

19:01:21 # Life whizzytex 1.1.3をいじってみる.バグがあるようでタイプしているときに出力されるファイル名と ファイルをセーブしたときに出力されるファイル名が一致していないため, タイプしながら画面を更新するということができなくなっているっぽい.

MULTIPLE=falseと設定したら良いということをしばらくいじっていたら発見した. とりあえず落着したので,アップロードした.

2003年12月13日

05:39:42 # Life ADTEC 32MB USB Smart Stickメモリを認識しない. linux-2.6.0-test11 このデバイスはたまにWindowsでも認識しない場合もあるし... と思って何度かさし直したら認識した.

hub 2-1:1.0: new USB device on port 3, assigned address 9
usb 2-1.3: device not accepting address 9, error -110
	

このエラーメッセージは接続時点でNGのため,電圧とかの関係のような気もするし, もっと違う話しのような気もする. タイミングが変なのだろうか?

07:10:20 # Life bulkfeedsとかいうところからのアクセスが多いので, チェックしてみた.RDFを食べるロボットで新しいサイトを簡単に追加できる?のだろうか. この日記のRDFを登録してみた. ここに表示されているような気がする.

09:50:13 # Life jlhaとかいうものを確認してみるが,ソースが無い. gcjでコンパイルできるかどうか試そうとおもっていたのだが.

10:34:26 # Life yc-elの4.0.3をアップロードした. ecasound2.2の2.3.1をアップロードした. とりあえずなんとか2.3.2ではecasoundパッケージとマージする作業を開始したいと考えている.

2003年12月12日

08:13:23 # Life しばらくstrawを利用して,RSSをみていたが, どうも面白くない. 何かよいことはないのだろうか. 特によいニュースを速報で得られている気もしない. うーん...

2003年12月11日

21:36:40 # Life 気が付いたらzlib 1.2.1がリリースされていたのか. MMX 対応とか.

23:30:02 # Life ncftpでauricにアップロードできるように設定してみた. scpではアップロードできないらしいので. duploadでftpメソッドを使おうとしたらよくわからんエラーが出た. PORT コマンドがどうのこうのといっているからファイアウォールか?

2003年12月4日

08:22:18 # Life debian-win32より: Windowsでは開いているファイルのリネームはできてディレクトリ間の移動はできない, という認識であっているのだろうか? リネームができるのなら,dpkgを実用にすることも可能な気がして来た.

09:24:22 # Life ajtのdebian-devel-announceへのメールは長い. とりあえず概要だけは:「楽しんでるからやってるんだから,楽しめ」 ということか.

2003年12月3日

07:57:36 # Life debian-legalにて,某フォント問題について議論している人達は アメリカの法律にてフォントが保護されていないという点について 議論しているようだ. しかし,同じことが日本にも言えるのかというとよくわからない点が 多いし,それを議論することで前進しているのかというと違う気がする. ここは,決めるべきところを決めてなんとかするしかないんだろうが, 論点はなんだっけ?

08:21:02 # Life http://www.netfort.gr.jp/~dancer/diary/recententry.rdf をstrawで表示させてみた. どうやら無事にRDFが読めているようだ.

2003年12月2日

08:27:09 # Life そういえばなんでWLでフォワードしたメールが化けてるんだろう. と,devel@jpのメールを見て思う.

08:29:04 # Life RDFファイルを手動で生成したらうまくいったのに自動で生成するとiso-2022-jpコードでもないよくわからないコードで 出力されているらしい. とりあえず環境変数を設定して日本語localeで実行してみる. emacsは動作の仕方をlocaleをみて決めていたのだろうか? なんか違う気がするのだが.

2003年12月1日

06:14:41 # Life 新しい月. 新しいハック.

06:17:25 # Life emacsをバッチモードで動かす. site-initとかを動かさないと意外と速い. Desktop PCで高速動作してくれているからかもしれないが, 0.5秒でRDF生成が終了している...

06:53:04 # Life scsidevの説明を読む. LinuxのSCSIはID0から7まで順番に読み,最初に見付かったディスクから/dev/sda という名前をつけていく. しかし,どのSCSIカードから順番にスキャンするのか,というのは超適当. /dev/scsi以下に scsi.alias ファイルを使って信頼できるファイル名で デバイスを作成してくれるのがscsidevらしい. デジカメとかUSBストレージクラスデバイスを使うたびにデバイスノードが変わっていた人には 朗報?

/proc/scsi/scsiにはちゃんと情報がはいっているようだ. /proc/scsi/usb-storage/1というものもあるようだ. しかし,デバイス名がわかるものはどれだろう...

$ cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: TOSHIBA  Model: DVD-ROM SD-R5002 Rev: 1M31
  Type:   CD-ROM                           ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: USB-HS   Model: WDC WD1600AB-00D Rev: 0.01
  Type:   Direct-Access                    ANSI SCSI revision: 02
	

scsidevを実行したら以下のような結果になった.

$ ls -l
合計 0
brw-rw----    1 root     disk       8,   0 2003-12-01 07:04 sdh1-0c0i0l0
brw-rw----    1 root     disk       8,   1 2003-12-01 07:04 sdh1-0c0i0l0p1
brw-rw----    1 root     disk       8,   2 2003-12-01 07:04 sdh1-0c0i0l0p2
crw-------    1 root     root      21,   0 2003-12-01 07:04 sgh0-0c0i0l0
crw-------    1 root     root      21,   1 2003-12-01 07:04 sgh1-0c0i0l0
brw-rw----    1 root     cdrom     11,   0 2003-12-01 07:04 srh0-0c0i0l0
	

分かった問題点:

manufacturer="USB-HS", model="WDC WD1600AB-00D", devtype=disk, alias=usbhdd/dev/scsi.aliasに追加したらうまく動いたみたい.

$ ls -l
合計 0
brw-rw----    1 root     disk       8,   0 2003-12-01 07:04 sdh1-0c0i0l0
brw-rw----    1 root     disk       8,   1 2003-12-01 07:04 sdh1-0c0i0l0p1
brw-rw----    1 root     disk       8,   2 2003-12-01 07:04 sdh1-0c0i0l0p2
crw-------    1 root     root      21,   0 2003-12-01 07:04 sgh0-0c0i0l0
crw-------    1 root     root      21,   1 2003-12-01 07:04 sgh1-0c0i0l0
brw-rw----    1 root     cdrom     11,   0 2003-12-01 07:04 srh0-0c0i0l0
brw-rw----    1 root     disk       8,   0 2003-12-01 07:14 usbhdd
brw-rw----    1 root     disk       8,   1 2003-12-01 07:14 usbhdd-p1
brw-rw----    1 root     disk       8,   2 2003-12-01 07:14 usbhdd-p2
	

07:32:45 # web maintenance scsidevについてのドキュメントをまとめてみた.速攻. あとで修正.


Junichi Uekawa

$Id: 200312.html.ja,v 1.67 2003/12/31 05:07:52 dancer Exp $