過去のメールだのデータファイルだのをDVD-ROMに焼いてバックアップしているが、
そのときにmkisofsで作ったISOイメージはそのままディスクにおいて
lopp back でmountさせている。
本日大量にISOイメージを作成し、調子こいて/etc/fstabに
/home/BURNDONE/E-LIKE.iso9660 /home/ISO9660/E-LIKE iso9660 loop,ro 0 2 /home/BURNDONE/J-LIKE.iso9660 /home/ISO9660/J-LIKE iso9660 loop,ro 0 2 /home/BURNDONE/E-SOSO.iso9660 /home/ISO9660/E-SOSO iso9660 loop,ro 0 2 /home/BURNDONE/J-SOSO.iso9660 /home/ISO9660/J-SOSO iso9660 loop,ro 0 2 /home/BURNDONE/CDIMAGE.iso9660 /home/ISO9660/CDIMAGE iso9660 loop,ro 0 2 /home/BURNDONE/HGLAN.iso9660 /home/ISO9660/HGLAN iso9660 loop,ro 0 2 /home/BURNDONE/OBS-HDD.20040823.iso9660 /home/ISO9660/OBS-HDD.20040823 iso9660 loop,ro 0 2 /home/BURNDONE/hone.iso9660 /home/ISO9660/hone iso9660 loop,ro 0 2 /home/BURNDONE/hong.Win.20040907.iso9660 /home/ISO9660/hong.Win.20040907 iso9660 loop,ro 0 2 /home/BURNDONE/www.20040506.iso9660 /home/ISO9660/www.20040506 iso9660 loop,ro 0 2と書いたんだけど、なんだか全部mountされていない。
手動でmountさせて見ると、
# mount hong.Win.20040907/ mount: could not find any free loop deviceって言われてしまう。
/dev/配下を見ると、loopは確かにloop0からloop7までしかない。
/dev/MAKEDEVを見ると、loop8以降もできるようである。
早速loop8以降を作ってみたが、それでもだめ。
仕方なく(?)/usr/src/linux-2.6.8.1/drivers/block/loop.cを見てみると、
/* * linux/drivers/block/loop.c * * Written by Theodore Ts'o, 3/29/93 [中略] * Maximum number of loop devices now dynamic via max_loop module parameter. * Russell Krollと言うことらしい。19990701 * * Maximum number of loop devices when compiled-in now selectable by passing * max_loop=<1-255> to the kernel on boot. * Erik I. Bols� , Oct 31, 1999 [中略] * Support up to 256 loop devices * Heinz Mauelshagen , Feb 2002 [中略] static int max_loop = 8; [以下略]
/boot/grub/menu.lstに
# For booting Linux title Linux-2.6.8.1 root (hd0,2) kernel (hd0,0)/bzImage-2.6.8.1 root=/dev/hda3 max_loop=255 #initrd /initrd.imgと書いてリブートしてみると、dmesgに
[中略] Kernel command line: root=/dev/hda3 max_loop=255 [中略] loop: loaded (max 8 devices)あれれ?
実際にloopデバイスでmountされている数は変わらず...
もう一度loop.cをよく見てみると、
[中略]
/*
* And now the modules code and kernel interface.
*/
MODULE_PARM(max_loop, "i");
MODULE_PARM_DESC(max_loop, "Maximum number of loop devices (1-256)");
MODULE_LICENSE("GPL");
MODULE_ALIAS_BLOCKDEV_MAJOR(LOOP_MAJOR);
[中略]
#ifndef MODULE
static int __init max_loop_setup(char *str)
{
max_loop = simple_strtol(str, NULL, 0);
return 1;
}
__setup("max_loop=", max_loop_setup);
#endif
ということで、loopデバイスドライバをモジュールにしていると、気を取り直して、/etc/modulesに
loop max_loop=255を追加して、再起動。
dmesgにも
loop: loaded (max 255 devices)とでて、10個のISOイメージファイルが無事mountできました。
shibata@hcube:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/hda3 75816576 59665920 12299368 83% /
tmpfs 249940 0 249940 0% /dev/shm
/dev/hda1 120995 5482 109265 5% /boot
/home/BURNDONE/E-LIKE.iso9660
4592718 4592718 0 100% /home/ISO9660/E-LIKE
/home/BURNDONE/J-LIKE.iso9660
4596660 4596660 0 100% /home/ISO9660/J-LIKE
/home/BURNDONE/E-SOSO.iso9660
4047640 4047640 0 100% /home/ISO9660/E-SOSO
/home/BURNDONE/J-SOSO.iso9660
4547910 4547910 0 100% /home/ISO9660/J-SOSO
/home/BURNDONE/CDIMAGE.iso9660
2489058 2489058 0 100% /home/ISO9660/CDIMAGE
/home/BURNDONE/HGLAN.iso9660
377622 377622 0 100% /home/ISO9660/HGLAN
/home/BURNDONE/OBS-HDD.20040823.iso9660
3746830 3746830 0 100% /home/ISO9660/OBS-HDD.20040823
/home/BURNDONE/hone.iso9660
2069910 2069910 0 100% /home/ISO9660/hone
/home/BURNDONE/hong.Win.20040907.iso9660
2205856 2205856 0 100% /home/ISO9660/hong.Win.20040907
/home/BURNDONE/www.20040506.iso9660
1905944 1905944 0 100% /home/ISO9660/www.20040506
#長いな(^^;
投稿者 his : 2004年9月 8日 02:07げ
文字化けしてるし
UTF-8で送ったつもりだったのですが,すみませんでした