トップ 最新 追記
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|10|12|
2009|02|03|06|07|10|11|12|
2010|01|02|03|04|07|09|10|11|12|
2011|01|03|04|05|06|07|08|10|
2012|01|06|08|09|10|12|
2013|01|02|03|04|07|09|11|12|
2014|01|03|04|05|06|09|
2015|04|
2016|01|08|
ここは旧えびめもです。えびめも2に移行します(2016/12/1)

2009年10月27日

qemu-sh4

久しぶりの日記になってしまいました。qemu-sh4がなかなかすごいです。まとめたら日記に書きます


2009年10月29日

なおった

tDiaryがおかしくなっていて、InternalServerErrorが出ていた。知っていたのだけど時間がなくて(面倒で)何ヶ月も放置していた。

やっとtDiaryを2.0.2から2.2.2にあげたので、かけるようになった。

またメモを残す材料が出てきたので残すことにする。

rm -r の不具合

いまさら rm -r に不具合…正確には制限事項に出くわすなんて思わなかった。 debian lenny に含まれる coreutils 6.10-6 ?? の rm は /proc がマウントされていないと rm -r ができない。
 proc をマウントしていない状態で
 # mkdir -p foo/bar/baz
 # touch foo/bar/baz/ungh
 # rm -rf foo/
 rm: cannot remove `foo/bar': Function not implemented
となったら該当である。
https://bugs.edge.launchpad.net/ubuntu/+source/coreutils/+bug/192239
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464118
ずーっとたどっていくと
http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/6839
あたりでパッチしている人がいたが、coreutilsにパッチするのも嫌なのでどうするか悩ましい。
まとめると、
lenny に含まれている coreutils 6.10 において、
rm -r だけじゃなくて chmod -R などのリカーシブ系のコマンドは
カーネルが 2.6.22 (???不正確)以下の場合
/proc をマウントしていないと動かない
ということらしいです。

回避するには 1) /procをマウントする、 2) カーネルをあげる 3) 古い rm を使う。のいずれか

なおった

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464118
  1) easy: turn off all openat support. i.e., build like this:
    ac_cv_func_openat=no ./configure
つーことなんで、ac_cv_func_openat=no にしたパッケージを作ったら直った?のか?直ったのかエラーが出なくなっただけなのかわからないけど。
http://www.si-linux.co.jp/pub/debian-sh/pool/main/c/coreutils/
coreutils_6.10-6_sh4.deb 29-Oct-2009 21:12 3.5M

2009年10月30日

binfmt

qemuとbinfmtで遊んでいる。 #!/bin/sh なスクリプトの動作がイマイチ予期せぬことがある。。。とおもったら原因がなんとなくわかってきた。 binfmt_misc での argv[0] の取り回しが原因かもしれない。
そんななかでググっていたら漢なドキュメントを発見した。
http://ll.jus.or.jp/2006/Download/llgong-uekawa.pdf/download
真のカーネル向けシェル
modules.c を「実行」したら、.c に関連付けたスクリプトが走ってカーネルオブジェクトとしてビルドして即modprobe するという(怖)な binfmt_miscの活用。すげーーーーー。inb(), outb() ができるって事じゃん。