summaryrefslogtreecommitdiffstats
path: root/mount/losetup.8
blob: f2bb5c8321d0b8d14b3fafe983d343d3b76b94b7 (plain) (blame)
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
.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 loop_device
.sp
.B losetup -a
.sp
.in -5
Delete loop:
.sp
.in +5
.B "losetup \-d"
.I loop_device
.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 [ \-p
.IR pfd ]
.in +8
.RB { \-f | \fIloop_device\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
\fIloop_device\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 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
.B \-E
option, or one uses a name with the
.B \-e
option.)
.SH OPTIONS
.IP \fB\-a\fP
Show status of all loop devices.
.IP \fB\-d\fP
Detach the file or device associated with the specified loop device.
.IP "\fB\-E \fIencryption_type\fP"
Enable data encryption with specified number.
.IP "\fB\-e \fIencryption_name\fP"
Enable data encryption with specified name.
.IP "\fB\-f\fP"
Find the first unused loop device. If a
.I file
argument is present, use this device. Otherwise, print its name.
.IP "\fB\-o \fIoffset\fP"
The data start is moved \fIoffset\fP bytes into the specified file or
device.
.IP "\fB\-p \fInum\fP"
Read the passphrase from file descriptor with number
.I num
instead of from the terminal.
.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.
.\" .SH AUTHORS
.\" .nf
.\" Original version: Theodore Ts'o <tytso@athena.mit.edu>
.\" Original DES by: Eric Young <eay@psych.psy.uq.oz.au>
.\" .fi