2008-10-18 (Sat)

_ [debian] qemu 0.9.1+svn20081016-1 変

% qemu -hda /dev/null
qemu: fatal: Trying to execute code outside RAM or ROM at 0x000fe05b
        :

たったこれだけでも core 吐いて死んでしまう。0.9.1-7 なら OK。experimental のだししょうがないか。

_ [comp][amd64] qemu on amd64 に Debian i386 インストール

相当前に knoppix on qemu をやったけれど、今回は qemu 上で Debian をインストール。 まず qemu-img でディスクイメージを作成。

% qemu-img create qemu-hdd.img 5G
Formatting 'qemu-hdd.img', fmt=raw, size=5242880 kB

次に Debian-Installer を持ってきて起動。amd64 上の qemu で i386 の Debian をインストール。

% uname -a
Linux XXXXXXXX 2.6.26-1-amd64 #1 SMP Thu Oct 9 14:16:53 UTC 2008 x86_64 GNU/Linux
% qemu -m 512 -boot d -hda qemu-hdd.img -cdrom debian-LennyBeta2-i386-netinst.iso

さくさくインストールできた。インストール後は以下で起動。ホスト側の 10022/tcp からゲストの 22/tcp につながるようにしてる。

% qemu -m 512 -boot c -hda qemu-hdd.img -redir tcp:10022::22

ちゃんと i386。

% ssh -p 10022 localhost
        :
XXXXXXXX@qemu-i386:~$ uname -a
Linux qemu-i386 2.6.24-1-686 #1 SMP Thu May 8 02:16:39 UTC 2008 i686 GNU/Linux

2008-10-17 (Fri)

_ [unicon] 2.6.27 対応調査

やっと時間とれたので確認。パッチ自体は 2.6.26 から変えなくてもそのまま当たった。ただ、コンパイルに失敗。

  CC [M]  drivers/video/unicon/xl_keyhooks.o
drivers/video/unicon/xl_keyhooks.c: In function ‘Unicon_fnSendKey’:
drivers/video/unicon/xl_keyhooks.c:76: error: ‘struct tty_ldisc’ has no member named ‘receive_buf’
make[4]: *** [drivers/video/unicon/xl_keyhooks.o] エラー 1
make[3]: *** [drivers/video/unicon] エラー 2
make[2]: *** [drivers/video] エラー 2
make[1]: *** [drivers] エラー 2
make[1]: ディレクトリ `/usr/src/linux-2.6.27' から出ます
make: *** [debian/stamp/build/kernel] エラー 2

原因は Alan Cox: [PATCH 01/70] tty: Ldisc revampKernel v2.6.26-git7 /include/linux/tty_ldisc.h のようだ。構造体が変わってしまっている。ということで、Kernel v2.6.26-git7 /drivers/char/ip2/i2lib.c に倣って変更。

--- linux-2.6.27.UNICON/drivers/video/unicon/xl_keyhooks.c	2008-10-17 23:32:09.000000000 +0900
+++ linux-2.6.27.UNICON1/drivers/video/unicon/xl_keyhooks.c	2008-10-18 01:59:27.000000000 +0900
@@ -73,7 +73,7 @@
    if (tty == NULL) {
        return -1;
    }
-   tty->ldisc.receive_buf(tty, &ch, &mbz, 1);
+   tty->ldisc.ops->receive_buf(tty, &ch, &mbz, 1);
 #ifdef DEBUG
    printk ("will sending %c, 0x%x\n", ch, ch);
 #endif

これでコンパイルは通るようになったけど…。なんかきちんと動作してない?要調査。

2008-10-16 (Thu)

_ [vdr] 00:45 〜 04:10 停止

なんか OOM-Killer でいろいろ殺されていたらしく、00:45 〜 04:10 の間停止していました。

_ [vdr] Hyper Estraier インデックス作り直し

また Hyper Estraier のインデックスが壊れたので、削除して作り直し。再登録は tdiary 上からやったけど、apache が

Timeout waiting for output from CGI script

とかいって止めてしまうので httpd.conf の Timeout を一時的に延ばして実行した。 それにしてもこう頻繁に壊れると何か考えないといけないな。