The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Special Forums > Filesystems, Disks and Memory
Google UNIX.COM



View Single Post in UNIX Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 01-24-2007
deckard's Avatar
deckard deckard is offline
Registered User
 

Join Date: Jul 2002
Location: Ohio
Posts: 107
Loopback files on a FAT based Filesystem?

I'm trying to set up a set of loopback files on a digital music player so I can carry a QEMU virtual machine with me. The digital music player in question is the Rio Karma and the filesystem it uses is omfs. Based on what I read at the Rio Karma FS page: http://linux-karma.sourceforge.net/rio-usb.html it would appear that omfs is based on FAT. One of the things that also seems to support this is that I wasn't able to create loopback files larger than 2 gigs on the filesystem.

The other point to note is that I am coupling omfs with a fuse userspace filesystem 'lkarmafs' which allows one to mount the Karma in "Taxi" mode. This provides a location in <base mount point>/taxi/ that you can carry regular files in. I am able to create loopback files here, but I can't seem to use them as I would if they were on an ext3 or reiserfs partition. So I tried a new approach and create my files at an appropriate size on a ext3 partition. I then prepped them (fdisk/lvm/format) and made sure they stayed below the 2 gig limit. I then copied them to the taxi folder. All of this seemed to work fine.

As soon as I pointed QEMU at those files it complains that it can't read the first file passed to it. But it reads the same exact file on ext3 just fine. So I suspect there is some limitation of either lkarmafs, fuse, omfs or even FAT that prevents proper access to the files. I post this mostly because I'm wondering if any one has any suggestions regarding loopback files on non-Unix filesystems. Perhaps there is an inherent limitation in FAT that prevent loopback from working right? Maybe I created them improperly? Here is the dd command I used:

Code:
dd if=/dev/zero bs=1024 count=2097152 of=1.img
Maybe I should have used 512 for bs? Or am I just barking up the wrong tree and there are too many possible causes to really investigate?
Reply With Quote
Forum Sponsor