# SPDX-License-Identifier: GPL-2.0 # # Loop device driver configuration # config BLK_DEV_LOOP tristate "Loopback device support" ---help--- Saying Y here will allow you to use a regular file as a block device; you can then create a file system on that block device and mount it just as you would mount other block devices such as hard drive partitions, CD-ROM drives or floppy drives. The loop devices are block special device files with major number 7 and typically called /dev/loop0, /dev/loop1 etc. This is useful if you want to check an ISO 9660 file system before burning the CD, or if you want to use floppy images without first writing them to floppy. Furthermore, some Linux distributions avoid the need for a dedicated Linux partition by keeping their complete root file system inside a DOS FAT file using this loop device driver. To use the loop device, you need the losetup utility, found in the util-linux package, see . The loop device driver can also be used to "hide" a file system in a disk partition, floppy, or regular file, either using encryption (scrambling the data) or steganography (hiding the data in the low bits of, say, a sound file). This is also safe if the file resides on a remote file server. There are several ways of encrypting disks. Some of these require kernel patches. The vanilla kernel offers the cryptoloop option and a Device Mapper target (which is superior, as it supports all file systems). If you want to use the cryptoloop, say Y to both LOOP and CRYPTOLOOP, and make sure you have a recent (version 2.12 or later) version of util-linux. Additionally, be aware that the cryptoloop is not safe for storing journaled filesystems. Note that this loop device has nothing to do with the loopback device used for network connections from the machine to itself. To compile this driver as a module, choose M here: the module will be called loop. Most users will answer N here. config BLK_DEV_LOOP_MIN_COUNT int "Number of loop devices to pre-create at init time" depends on BLK_DEV_LOOP default 8 help Static number of loop devices to be unconditionally pre-created at init time. This default value can be overwritten on the kernel command line or with module-parameter loop.max_loop. The historic default is 8. If a late 2011 version of losetup(8) is used, it can be set to 0, since needed loop devices can be dynamically allocated with the /dev/loop-control interface. config BLK_DEV_CRYPTOLOOP tristate "Cryptoloop Support" select CRYPTO select CRYPTO_CBC depends on BLK_DEV_LOOP ---help--- Say Y here if you want to be able to use the ciphers that are provided by the CryptoAPI as loop transformation. This might be used as hard disk encryption. WARNING: This device is not safe for journaled file systems like ext3 or Reiserfs. Please use the Device Mapper crypto module instead, which can be configured to be on-disk compatible with the cryptoloop device. config BLK_DEV_LOOP_FILE_FMT_RAW tristate "Loop device binary file format support" depends on BLK_DEV_LOOP ---help--- Say Y or M here if you want to enable the binary (RAW) file format support of the loop device module. config BLK_DEV_LOOP_FILE_FMT_QCOW tristate "Loop device QCOW file format support" depends on BLK_DEV_LOOP select ZLIB_INFLATE select ZLIB_DEFLATE ---help--- Say Y or M here if you want to enable the QEMU's copy on write (QCOW) file format support of the loop device module.