僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
をデスクトップにmake installする。例によって読むべきものを
読んでなかった。
見慣れない警告を見て、~/.xinitrcに追記、X再起動。
しばらく放置していたIMAP4は色々忘れたところがあって、
ちゃんと動くまで、ひとしきり試行錯誤。
メールが5000通近く溜っていた。
これまで見てなかった 簡体字のspamも、結構面白いものではある。
Sargeでイメージをいくつもマウントしていたら、 9つ以上マウントできないことに気づく。
# ls /dev/loop* /dev/loop0 /dev/loop1 /dev/loop2 /dev/loop3 \ /dev/loop4 /dev/loop5 /dev/loop6 /dev/loop9 # mknod loop8 b 7 8 # mount -o loop -t iso9660 9.img somedir mount: could not find any free loop device
他のシステムでも限界を見なければ。
ubuntu(kernel-2.6.15-25-386)でもやはり、8つしか同時にマウントできなかった。
ちなみにこんなログが。
Jul 14 18:05:37 LAPTOP kernel: [17179890.148000] loop: loaded (max 8 devices)
Plamo-4.2でも、結果は同じだった。
帰ってデスクトップのkernel-2.6.17で追試。 やはり、8つを越えるとダメだった。sysctl -A してみたが それらしいパラメータは見当たらない。
で、/usr/src/linux/drivers/block/loop.c を広げてみた。コメント行が複数のパラグラフに渡って 追記されている。起動時にパラメータを与えて上限を 調整できるととれそうな記述もあったが、 2.6.17では効かないようだ。で、結局(順番は実は逆だけど)、 "Support up to 256 loop devices"という記述を見て、 タイトル通りにmax_loopを8から256に書き換えて 再構築。
# for img in `seq 0 256`; \ do echo y | mkfs -t ext2 $img.img ; \ done
なんて種の事を繰り返してイメージを作ったりファイルシステムを 構築したり、ディレクトリを掘ったりマウントしたり
$ mount /path/0.img on /path/0 type ext2 (rw,loop=/dev/loop0) /path/1.img on /path/1 type ext2 (rw,loop=/dev/loop1) /path/2.img on /path/2 type ext2 (rw,loop=/dev/loop2) /path/3.img on /path/3 type ext2 (rw,loop=/dev/loop3) (ry $ mount | grep "loop=" | wc -l 256
max_loopの値を256より大きくすると、(どこでひっかかるのかわからないが)
8に戻されるようだ。
また、max_loopを起動時に設定しても、何の効果もなかった。
しばらくはこのカーネルで遊ぶか。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。