====== losetup ====== In Linux everything is a file, so it is possible to use files as virtual disks with ease. ''losetup'' comes in when you want to use one virtual disk //and// partition it. ''losetup'' will read the partition table inside the file and prepare device files to use them. ===== Tutorial ===== ''dd'' is the simplest way to create an empty file, here is an example for 1 gigabyte image: $ dd if=/dev/zero of=1gb_virtualdisk bs=1M count=1024 ''fdisk'' allows to make partitions inside the virtual disk: $ fdisk 1gb_virtualdisk Now we have a problem, how we can format the patitions ''fdisk'' made inside ''1gb_virtualdisk''? ''losetup'' can help, but it must be executed as superuser: $ sudo losetup --find --nooverlap --partscan --show 1gb_image This command will find (''%%--find%%'') a free loop device ensuring that no backing files are shared between loop devices (''--nooverlap'') and it will connect it to the file (''1gb_image''). Once done, ''losetup'' asks the kernel to scan the partitions inside the loop device (''%%--partscan%%'') and finally output the name of the used loop device on the shell (''%%--show%%''). The short form of the command is: $ sudo losetup -fLP --show 1gb_image A possible output is: /dev/loop0 ''/dev/loop0'' will be a block device connected to the virtual disk and ''/dev/loop0pX'' (where ''X'' are integers) connect to the partitions inside the file. Once the work is done, all the files can be deattached using ''-D'' sudo losetup -D It is also possible to use ''-d /dev/loop0'' to deattach a single loop device. ===== Use case ===== The main use case is to create disk images, for example for using Qemu or before burning them on a CD.