linuxmountqemulinaro

mount: you must specify the filesystem type


I was trying to execute qemu while following the qemu/linaro tutorial, https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Virtual_ARM_Linux_environment

I was executing the command,

sudo mount -o loop,offset=106496 -t auto vexpress.img /mnt/tmp

mount: you must specify the filesystem type

so i did fdisk on the img file and got the following,

Device Boot Start End Blocks Id System

vexpress.img1 * 63 106494 53216 e W95 FAT16 (LBA)

vexpress.img2 106496 6291455 3092480 83 Linux

The filesystem is Linux according to the fdisk command. But I get error,

sudo mount -o loop,offset=106496 -t Linux vexpress.img /mnt/tmp

mount: unknown filesystem type 'Linux'

Kindly help.


Solution

  • You correctly decide to mount the particular partition by specifying its offset but the offset parameter is in bytes and fdisk shows the offset in blocks (the block size is shown before the partition list --- usually 512). For the block size 512 the command would be:

    sudo mount -o loop,offset=$((106496*512)) -t auto vexpress.img /mnt/tmp
    

    If the automatic file system type detection does not still work there is another problem. Linux is not really a file system type. In the partition table it is a collective type used for multiple possible particular file systems. For mount you must specify the particular file system. In Linux you can list the supported ones by cat /proc/filesystems.