summaryrefslogtreecommitdiff
path: root/mount/losetup.8
blob: eae58043bfcae41a86400eae912e1cfa0b58116a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
.TH LOSETUP 8 "2003-07-01" "Linux" "MAINTENANCE COMMANDS"
.SH NAME
losetup \- set up and control loop devices
.SH SYNOPSIS
.ad l
Get info:
.sp
.in +5
.B losetup
.I loopdev
.sp
.B losetup -a
.sp
.B losetup -j
.I file
.RB [ \-o
.IR offset ]
.sp
.in -5
Delete loop:
.sp
.in +5
.B "losetup \-d"
.I loopdev
.RB [ \fIloopdev\fP
.RB ...]
.sp
.in -5
Print name of first unused loop device:
.sp
.in +5
.B "losetup \-f"
.sp
.in -5
Setup loop device:
.sp
.in +5
.B losetup
.RB [{\-e | \-E}
.IR encryption ]
.RB [ \-o
.IR offset ]
.RB [ \-\-sizelimit
.IR limit ]
.in +8
.RB [ \-p
.IR pfd ]
.RB [ \-r ]
.RB { \-f [ \-\-show ] | \fIloopdev\fP }
.I file
.in -13
.ad b
.SH DESCRIPTION
.B 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
\fIloopdev\fP argument is given, the status of the corresponding loop
device is shown.

.SS "Encryption"
It is possible to specify transfer functions (for encryption/decryption
or other purposes) using one of the
.B \-E
and
.B \-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 will take the name of an arbitrary encryption type
and finds the module that knows how to perform that encryption.
.SH OPTIONS
.IP "\fB\-a, \-\-all\fP"
show status of all loop devices
.IP "\fB\-d, \-\-detach\fP \fIloopdev\fP [\fIloopdev\fP ...]" 
detach the file or device associated with the specified loop device(s)
.IP "\fB\-e, \-E, \-\-encryption \fIencryption_type\fP"
enable data encryption with specified name or number
.IP "\fB\-f, \-\-find\fP"
find the first unused loop device. If a
.I file
argument is present, use this device. Otherwise, print its name
.IP "\fB\-h, \-\-help\fP"
print help
.IP "\fB\-j, \-\-associated \fIfile\fP"
show status of all loop devices associated with given
.I file
.IP "\fB\-o, \-\-offset \fIoffset\fP"
the data start is moved \fIoffset\fP bytes into the specified file or
device
.IP "\fB\-\-sizelimit \fIlimit\fP"
the data end is set to no more than \fIsizelimit\fP bytes after the data start
.IP "\fB\-p, \-\-pass-fd \fInum\fP"
read the passphrase from file descriptor with number
.I num
instead of from the terminal
.IP "\fB\-r, \-\-read-only\fP"
setup read-only loop device
.IP "\fB\-\-show\fP"
print device name if the
.I -f
option and a
.I file
argument are present.

The short form of this option (\fB\-s\fP) is deprecated.  This short form could
be in collision with Loop-AES implementation where the same option is used for
\fB\-\-sizelimit\fP.
.IP "\fB\-v, \-\-verbose\fP"
verbose mode

.SH RETURN VALUE
.B losetup
returns 0 on success, nonzero on failure. When
.B 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
.B losetup
from determining the status of the device.

.SH FILES
.nf
/dev/loop0, /dev/loop1, ...   loop devices (major=7)
.fi
.SH EXAMPLE
If you are using the loadable module you must have the module loaded
first with the command
.IP
# insmod loop.o
.LP
Maybe also encryption modules are needed.
.IP
# insmod des.o
# insmod cryptoloop.o
.LP
The following commands can be used as an example of using the loop device.
.nf
.IP
# 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
.fi
.LP
If you are using the loadable module you may remove the module with
the command
.IP
# rmmod loop
.LP
.fi
.SH RESTRICTION
DES encryption is painfully slow. On the other hand, XOR is terribly weak.

Cryptoloop is deprecated in favor of dm-crypt. For more details see
.B cryptsetup(8).
.SH AVAILABILITY
The losetup command is part of the util-linux-ng package and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
.\" .SH AUTHORS
.\" .nf
.\" Original version: Theodore Ts'o <tytso@athena.mit.edu>
.\" Original DES by: Eric Young <eay@psych.psy.uq.oz.au>
.\" .fi