柘植です。こんばんは。
'mount -o loop' がうまくいかない現象について自分自身の環境で、もう少し調
べてみました。
--- ここから
A. knoppix-20021211.isoを焼いたCDでKnoppixを起動します。
A-1. /home/knoppixはramdisk上にあります。
A-1-1. まず、/home/knoppixディレクトリで作業します。
knoppix@ttyp0[knoppix]$ pwd
/ramdisk/home/knoppix
knoppix@ttyp0[knoppix]$ cp /cdrom/KNOPPIX/boot.img .
knoppix@ttyp0[knoppix]$ mkdir work
knoppix@ttyp0[knoppix]$ sudo -s
root@ttyp0[knoppix]# mount -o loop boot.img work
ioctl: LOOP_SET_FD: 無効な引数です
root@ttyp1[knoppix]# mount
rootfs on / type rootfs (rw)
/dev/root.old on / type ext2 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw)
/dev/scd0 on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/dev/shm on /ramdisk type tmpfs (rw)
none on /proc/bus/usb type usbdevfs (rw)
automount(pid290) on /mnt/auto type autofs (rw)
マウントできません。
A-1-2. 場所を変えて/mnt/hda12で同じことをやってみました。
root@ttyp1[work]# pwd
/mnt/hda12/work
root@ttyp1[work]# cp /cdrom/KNOPPIX/boot.img .
root@ttyp1[work]# mkdir work2
root@ttyp1[work]# mount -o loop boot.img work2/
root@ttyp1[work]# cp work2/miniroot.gz .
root@ttyp1[work]# gunzip miniroot.gz
root@ttyp1[work]# mkdir work3
root@ttyp1[work]# mount -o loop miniroot work3/
root@ttyp1[work]# cd work3
root@ttyp1[work3]# ls
KNOPPIX boot dev lib mnt opt sbin tmp
bin cdrom etc linuxrc modules proc static usr
root@ttyp1[work3]# mount
rootfs on / type rootfs (rw)
/dev/root.old on / type ext2 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw)
/dev/scd0 on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/dev/shm on /ramdisk type tmpfs (rw)
none on /proc/bus/usb type usbdevfs (rw)
automount(pid290) on /mnt/auto type autofs (rw)
/dev/hda12 on /mnt/hda12 type ext3 (rw,nosuid,nodev)
/dev/loop0 on /mnt/hda12/work/work2 type vfat (rw)
/dev/loop1 on /mnt/hda12/work/work3 type ext2 (rw)
これだとマウントできます。
A-2. persistent_home環境でKnoppixを再起動します。
作業場所は/home/knoppix(/mnt/hda6/.knoppix)です。
knoppix@ttyp1[knoppix]$ pwd
/ramdisk/home/knoppix
knoppix@ttyp1[knoppix]$ cp /cdrom/KNOPPIX/boot-ja.img .
knoppix@ttyp1[knoppix]$ sudo -s
root@ttyp1[knoppix]# mount -o loop boot-ja.img work
root@ttyp1[knoppix]# cp work/miniroot.gz .
root@ttyp1[knoppix]# gunzip miniroot.gz
root@ttyp1[knoppix]# mount -o loop miniroot work2/
root@ttyp1[knoppix]# cd work2
root@ttyp1[work2]# ls
KNOPPIX boot dev lib mnt opt sbin tmp
bin cdrom etc linuxrc modules proc static usr
root@ttyp1[work2]# mount
rootfs on / type rootfs (rw)
/dev/root.old on / type ext2 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw)
/dev/scd0 on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/dev/shm on /ramdisk type tmpfs (rw)
none on /proc/bus/usb type usbdevfs (rw)
/dev/hda6 on /mnt/hda6 type vfat (rw)
/dev/loop0 on /ramdisk/home/knoppix type ext2 (rw)
/dev/hda12 on /mnt/hda12 type ext3 (rw)
automount(pid350) on /mnt/auto type autofs (rw)
/dev/loop1 on /ramdisk/home/knoppix/work type vfat (rw)
/dev/loop2 on /ramdisk/home/knoppix/work2 type ext2 (rw)
この場合もまたマウントできます。
B. 本家EN版KNOPPIX_V3.1-08-11-2002-EN.isoを焼いたCDでKnoppixを起動します
。
B-1. /home/knoppixはramdisk上にあります。
/home/knoppixディレクトリで作業します。
knoppix@ttyp0[knoppix]$ cp /cdrom/KNOPPIX/boot.img .
knoppix@ttyp0[knoppix]$ mkdir work
knoppix@ttyp0[knoppix]$ sudo -s
root@ttyp0[knoppix]# mount -o loop boot.img work/
root@ttyp0[knoppix]# cp work/miniroot.gz .
root@ttyp0[knoppix]# gunzip miniroot.gz
root@ttyp0[knoppix]# mkdir work2
root@ttyp0[knoppix]# mount miniroot work2 -o loop
root@ttyp0[knoppix]# cd work2
root@ttyp0[work2]# ls
KNOPPIX boot dev lib mnt opt sbin tmp
bin cdrom etc linuxrc modules proc static usr
knoppix@ttyp0[knoppix]$ mount
/dev/root on / type ext2 (rw)
/dev/cdrom on /cdrom type iso9660 (ro)
/dev/cloop on /KNOPPIX type iso9660 (ro)
/dev/shm on /ramdisk type tmpfs (rw,size=303588k)
none on /proc/bus/usb type usbdevfs (rw,devmode=0666)
automount(pid308) on /mnt/auto type autofs
(rw,fd=4,pgrp=308,minproto=2,maxproto=4)
/ramdisk/home/knoppix/boot.img on /ramdisk/home/knoppix/work type vfat
(rw,loop=/dev/loop0)
/ramdisk/home/knoppix/miniroot on /ramdisk/home/knoppix/work2 type ext2
(rw,loop=/dev/loop1)
/dev/hda6 on /mnt/hda6 type vfat (rw,nosuid,nodev)
マウントできます。
--- ここまで
以上のことから考えて、AIST版では
/dev/shm on /ramdisk type tmpfs (rw)
であるところの/ramdisk上で作業する場合には
'mount -o loop' がうまくいかないらしい、ということがわかります。
で、linuxrcを読むと/dev/shmは
292 # We need /bin/mount here for the -o size= option
293 /bin/mount -t tmpfs -o "size=${RAMSIZE}k" /dev/shm /ramdisk && mkdir -p
293 /ramdisk/home /ramdisk/var && ln -s /ramdisk/home /ramdisk/var /
で/ramdiskにmountされているようです。
また、本家のKNOPPIX-CHANGELOG.txtを読むと、
* V3.1-07-10-2002
- loop-aes Update auf 1.6h
となっていますから、
On Thu, 16 Jan 2003 14:28:55 +0900 (JST)
Gen ISHIOKA <gen@xxxxxxxxxxx> wrote:
> loop.o のバージョンの問題じゃないでしょうか。本家のは loop-aes_1.6h で、
> 産総研版の方は 1.5b です。入れ替えた方がいいのでしょうね。自分の方でも
> dpkg-repack して入れ替えないと。
や
On Thu, 16 Jan 2003 15:39:41 +0900 (JST)
Gen ISHIOKA <gen@xxxxxxxxxxx> wrote:
> の書式が変わっているなと思って確認してみたら、util-linux のバージョン
> も上がっていました。mount-aes は util-linux に loop-aes 用のパッチを当
> てて作っているようです。
は可能性が高そうだな、と思っています。(未検証ですが)
--
Tsuge Akihide
|