Unix/Linux Go Back    


Filesystems, Disks and Memory Discuss NAS, SAN, RAID, Robotic Libraries, backup devices, RAM, DRAM, SCSI, IDE, EIDE topics here.

Can a Loopback Filesystem be Partitioned?

Filesystems, Disks and Memory


Tags
knoppix

Closed    
 
Thread Tools Search this Thread Display Modes
    #1  
Old Unix and Linux 01-11-2006
deckard's Unix or Linux Image
deckard deckard is offline
Registered User
 
Join Date: Jul 2002
Last Activity: 8 June 2012, 5:12 PM EDT
Location: Ohio
Posts: 135
Thanks: 0
Thanked 0 Times in 0 Posts
Can a Loopback Filesystem be Partitioned?

I have a disk image file created for use with the Linux version of the QEMU emulator. It's partitioned. I opened it with fdisk and the partitions show up with some extra messages about physical/logical endings:



Code:
Disk knoppix.img: 0 MB, 0 bytes
16 heads, 63 sectors/track, 0 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes

      Device Boot      Start         End      Blocks   Id  System
knoppix.img1   *           1        8074     4069264+  83  Linux
Partition 1 has different physical/logical endings:
     phys=(1023, 15, 63) logical=(8073, 15, 63)
knoppix.img2            8075        8322      124992   82  Linux swap / Solaris
Partition 2 has different physical/logical beginnings (non-Linux?):
     phys=(1023, 15, 63) logical=(8074, 0, 1)
Partition 2 has different physical/logical endings:
     phys=(1023, 15, 63) logical=(8321, 15, 63)

I noticed that the filename of the image file becomes "knoppix.img1" for the first partition and "knoppix.img2" for the second partition. So... is there a way to mount this outside of QEMU? I tried appending the 1 and 2 to the filename but I just get a "no such directory or file" message. Any ideas? Or am I just sunk?
Sponsored Links
    #2  
Old Unix and Linux 01-11-2006
dangral dangral is offline Forum Advisor  
Registered User
 
Join Date: Oct 2002
Last Activity: 31 July 2013, 6:52 PM EDT
Posts: 723
Thanks: 3
Thanked 4 Times in 4 Posts
I'm not 100% sure what you are asking. Do you want to just mount the image?


Code:
mount -o loop -t iso9660 filename.iso /mnt/iso

Sponsored Links
    #3  
Old Unix and Linux 01-18-2006
deckard's Unix or Linux Image
deckard deckard is offline
Registered User
 
Join Date: Jul 2002
Last Activity: 8 June 2012, 5:12 PM EDT
Location: Ohio
Posts: 135
Thanks: 0
Thanked 0 Times in 0 Posts
Partitioned Image

I actually want to mount a partition within the image. The image file that QEMU created is paritioned. 'fdisk' can recognize that it is partitioned, but it seems that mount can't if it's not a block device. I know the image file contains partitions because when I run QEMU it gives me /dev/hda1 /dev/hda2 and /dev/hda3 all from that one loopback file.

EDIT 08232007:

SOLVED!

It took almost two years to find an answer to this, and I'm certain the answer was around when I asked the question. But I'm posting this here to hopefully help anyone else in the future who has the same needs. The key to doing what I wanted to do, is to use the 'offset' option for mounting the loopback file. First use 'fdisk' to determine where your partitions within the loopback file start and what their internal names are. You also need to find out what the offset if going to be. To do that, run the following against the original drive:


Code:
localhost ~ # fdisk -l /dev/sdd

Disk /dev/sdd: 2013 MB, 2013265920 bytes
16 heads, 15 sectors/track, 16384 cylinders
Units = cylinders of 240 * 512 = 122880 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdd1               2       16384     1965952+   6  FAT16

Note the number of cylinders your original disk returns and then use that value in the following command:


Code:
localhost ~ # fdisk -l -u -C 16384 microsd.img

Disk microsd.img: 0 MB, 0 bytes
16 heads, 15 sectors/track, 16384 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x00000000

      Device Boot      Start         End      Blocks   Id  System
microsd.img1             255     3932159     1965952+   6  FAT16

Pay attention to the "start" value for each partition in the image. Multiply that "start" value by 512 to calculate the value to pass with the 'offset' option when you mount the image:


Code:
localhost ~ # echo $((255*512))
130560

Here's an example of what it would look like to mount my microsd.img image:


Code:
mount  microsd.img1 /mnt/partition1 -o loop,offset=130560

The full explanation cam from here:

Loopback mountin' a specific partition inside a disk image | Tux in a row

Extended example is available here:
Mounting disks with Linux's loopback device

Last edited by deckard; 04-17-2008 at 05:27 PM.. Reason: Found a solution almost two years later. :)
    #4  
Old Unix and Linux 08-23-2007
deckard's Unix or Linux Image
deckard deckard is offline
Registered User
 
Join Date: Jul 2002
Last Activity: 8 June 2012, 5:12 PM EDT
Location: Ohio
Posts: 135
Thanks: 0
Thanked 0 Times in 0 Posts
[SOLVED]: Procedure to mount a partitioned loopback filesystem

See the EDIT 08232007 section in my original comment for details.
Sponsored Links
Closed

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Linux More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
loopback filesystem disappears after reboot jabberwocky UNIX for Advanced & Expert Users 3 10-26-2011 08:33 AM
Linux partitioned disk mounted on OSOL without formatting michnmi Solaris 5 12-26-2010 04:51 PM
loading the data to the partitioned table using procedure easterraj Shell Programming and Scripting 1 11-03-2009 06:41 AM
Loopback files on a FAT based Filesystem? deckard Filesystems, Disks and Memory 1 01-25-2007 05:24 PM
Help With Reading Partitioned Tapes dhaverstick HP-UX 2 05-23-2006 10:56 AM



All times are GMT -4. The time now is 10:49 AM.