LOSETUP(8)

NAME
losetup - set up and control loop devices

SYNOPSIS
Get info:

losetup loop_device

losetup -a

Delete loop:

losetup -d loop_device

Print name of first unused loop device:

losetup -f

Setup loop device:

losetup [{-e|-E} encryption] [-o offset] [-p pfd] [-r]
{-f|loop_device} file

DESCRIPTION
losetup is used to associate loop devices with regular files or block devices, to detach loop devices and to query the status of a loop device. If only the loop_device argument is given, the status of the corresponding loop device is shown.

  Encryption
It is possible to specify transfer functions (for encryption/decryption or other purposes) using one of the -E and -e options. There are two mechanisms to specify the desired encryption: by number and by name. If an encryption is specified by number then one has to make sure that the Linux kernel knows about the encryption with that number, probably by patching the kernel. Standard numbers that are always present are 0 (no encryption) and 1 (XOR encryption). When the cryptoloop module is loaded (or compiled in), it uses number 18. This cryptoloop module wil take the name of an arbitrary encryption type and finds the module that knows how to perform that encryption. (Thus, either one uses a number different from 18 with the -E option, or one uses a name with the -e option.)

OPTIONS

-a  Show status of all loop devices.

-d  Detach the file or device associated with the specified loop device.

-E encryption_type
    Enable data encryption with specified number.

-e encryption_name
    Enable data encryption with specified name.

-f  Find the first unused loop device. If a file argument is present, use this device. Otherwise, print its name.

-o offset
    The data start is moved offset bytes into the specified file or device.

-p num
    Read the passphrase from file descriptor with number num instead of from the terminal.

-r  Setup read-only loop device.

RETURN VALUE
losetup returns 0 on success, nonzero on failure. When losetup displays the status of a loop device, it returns 1 if the device is not configured and 2 if an error occurred which prevented losetup from determining the status of the device.

FILES
/dev/loop0, /dev/loop1, ...   loop devices (major=7)

EXAMPLE
If you are using the loadable module you must have the module loaded first with the command

    # insmod loop.o

Maybe also encryption modules are needed.

    # insmod des.o # insmod cryptoloop.o

The following commands can be used as an example of using the loop device.

    # dd if=/dev/zero of=/file bs=1k count=100
    # losetup -e des /dev/loop0 /file
    Password:
    Init (up to 16 hex digits):
    # mkfs -t ext2 /dev/loop0 100
    # mount -t ext2 /dev/loop0 /mnt
     ...
    # umount /dev/loop0
    # losetup -d /dev/loop0

If you are using the loadable module you may remove the module with the command

    # rmmod loop

RESTRICTION
DES encryption is painfully slow. On the other hand, XOR is terribly weak. Cryptoloop is deprecated and unmaintained in 2.6 kernels. Use dm-crypt. For more details see cryptsetup(8).