Vitruvian Penguin
knoppix

[knoppix:0790] 'mount -o loop'の問題(was Re: Knoppix-20021211)

Date: Thu, 16 Jan 2003 19:46:47 +0900
X-mailer: Sylpheed version 0.8.5 (GTK+ 1.2.10; i586-pc-linux-gnu)
柘植です。こんばんは。

'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
<Prev in Thread] Current Thread [Next in Thread>