Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

  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
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
.\"	$NetBSD: mount.8,v 1.87 2018/01/09 09:15:57 wiz Exp $
.\"
.\" Copyright (c) 1980, 1989, 1991, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)mount.8	8.8 (Berkeley) 6/16/94
.\"
.Dd January 8, 2018
.Dt MOUNT 8
.Os
.Sh NAME
.Nm mount
.Nd mount file systems
.Sh SYNOPSIS
.Nm
.Op Fl Aadfruvw
.Op Fl t Ar type
.Nm
.Op Fl dfruvw
.Brq Ar special | Ar node
.Nm
.Op Fl dfruvw
.Op Fl o Ar options
.Op Fl t Ar type
.Ar special node
.Sh DESCRIPTION
The
.Nm
command invokes a file system-specific program to prepare and graft the
.Ar special
device on to the file system tree at the point
.Ar node ,
or to update options for an already-mounted file system.
.Pp
These programs are named
.Dq mount_<fstype>
where
.Dq <fstype>
refers to the file system-specific type; for example
for NFS the mount program is called
.Xr mount_nfs 8 .
.Pp
The
.Ar node
argument is always interpreted as a directory in the name space of
currently mounted file systems.
The
.Ar special
argument is interpreted in different ways
by the programs that handle different file system types;
for example,
.Xr mount_ffs 8
interprets it as a device node,
.Xr mount_null 8
interprets it as a directory name,
.Xr mount_nfs 8
interprets it as reference to a remote host and a directory on that host,
and
.Xr mount_tmpfs 8
ignores it.
.Pp
The system maintains a list of currently mounted file systems.
This list is printed if
.Nm
is invoked with no arguments, and with no options that require some
other behaviour.
.Pp
If exactly one of
.Ar special
or
.Ar node
is provided, then the missing information
(including the file system type)
is taken from the
.Xr fstab 5
file.
The provided argument is looked up first in the
.Dq fs_file ,
then in the
.Dq fs_spec
column.
If the matching entry in
.Xr fstab 5
has the string
.Dq Li from_mount
as its
.Dq fs_spec
field, the device or remote file system already mounted at
the location specified by
.Dq fs_spec
will be used.
.\" XXX The above paragraph doesn't address the use of "-u"
.Pp
If both
.Ar special
and
.Ar node
are provided, then
.Xr fstab 5
is not used.
In this case, if the file system type is not specified
via the
.Fl t
flag, then
.Nm
may determine the type from the disk label (see
.Xr disklabel 8 ) .
In addition, if
.Ar special
contains a colon
.Pq Ql \&:
or at sign
.Pq Ql \&@ ,
then the
.Li nfs
type is inferred, but this behaviour is deprecated, and will be
removed in a future version of
.Nm .
.Pp
In
.Nx ,
the file-system mounting policy is dictated by the running security models.
The default security model may allow unprivileged mounting; see
.Xr secmodel_suser 9
and
.Xr secmodel_extensions 9
for details.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl A
Causes
.Nm
to try to mount all of the file systems listed in the
.Xr fstab 5
file except those for which the
.Dq noauto
option is specified.
.It Fl a
Similar to the
.Fl A
flag, except that if a file system (other than the root file system)
appears to be already mounted,
.Nm
will not try to mount it again.
.Nm
assumes that a file system is already mounted if a file system with
the same type is mounted on the given mount point.
More stringent checks are not possible because some file system types
report strange values for the mounted-from device for mounted file
systems.
.It Fl d
Causes everything to be done except for the invocation of
the file system-specific program.
This option is useful in conjunction with the
.Fl v
flag to determine what the
.Nm
command is trying to do.
.It Fl f
Forces the revocation of write access when trying to downgrade
a file system mount status from read-write to read-only.
.It Fl o
Options are specified with a
.Fl o
flag followed by a comma separated string of options.
The following options are available:
.Bl -tag -width nocoredump
.It Cm async
All I/O to the file system should be done asynchronously.
In the event of a crash,
.Em "it is impossible for the system to verify the integrity of data on a file system mounted with this option" .
You should only use this option if you have an application-specific data
recovery mechanism, or are willing to recreate the file system from scratch.
.It Cm noasync
Clear
.Cm async
mode.
.It Cm automounted
This flag indicates that the file system was mounted by
.Xr automountd 8 .
Automounted file systems are automatically unmounted by
.Xr autounmountd 8 .
.It Cm discard
Use DISCARD/TRIM commands if disk and driver support it.
.Pp
.Em EXPERIMENTAL
- negatively influences filesystem performance by increasing fragmentation,
causes free block map inconsistency on unclean shutdown,
and is incompatible with
.Cm log .
If
.Cm log
option is also used,
.Cm discard
is automatically disabled.
.It Cm extattr
Enable extended attributes, if the filesystem supports them and
does not enable them by default.
Currently this is only the case for UFS1.
.It Cm force
The same as
.Fl f ;
forces the revocation of write access when trying to downgrade
a file system mount status from read-write to read-only.
.It Cm getargs
Retrieves the file system specific mount arguments for the given
mounted file system and prints them.
.It Cm hidden
By setting the
.Dv MNT_IGNORE
flag,
causes the mount point to be excluded from the
list of file systems shown by default with
.Xr df 1 .
.It Cm noatime
Never update the access time field for files.
This option is useful for optimizing read performance on file systems
that are used as news spools.
.It Cm noauto
This file system should be skipped when mount is run with the
.Fl a
flag.
.It Cm nocoredump
Do not allow programs to create crash dumps (core files) on the file system.
This option can be used to help protect sensitive
data by keeping core files (which may contain sensitive data)
from being created on insecure file systems.
Only core files that would be created by program crashes are
prevented by use of this flag; the behavior of
.Xr savecore 8
is not affected.
.It Cm nodev
Do not interpret character or block special devices on the file system.
This option is useful for a server that has file systems containing
special devices for architectures other than its own.
.It Cm nodevmtime
Do not update modification times on device special files.
This option is useful on laptops
or other systems that perform power management.
.It Cm noexec
Do not allow execution of any binaries on the mounted file system.
This option is useful for a server that has file systems containing
binaries for architectures other than its own.
.It Cm nosuid
Do not allow set-user-identifier or set-group-identifier bits to take effect.
.It Cm port
(NFS only) Use the specified NFS port.
.It Cm rdonly
The same as
.Fl r ;
mount the file system read-only (even the super-user may not write it).
.It Cm reload
Reload all incore data for a file system.
This is used mainly after running
.Xr fsck 8
on the root file system and finding things to fix.
The file system must be mounted read-only.
All cached meta-data are invalidated, superblock and summary information
is re-read from disk, all cached inactive vnodes and file data are
invalidated and all inode data are re-read for all active vnodes.
.It Cm rump
Instead of running
.Dq mount_<fstype>
to mount the file system, run
.Dq rump_<fstype> .
This uses a userspace server to mount the file system and does not
require kernel support for the specific file system type.
See the
.Fl t
flag and respective rump_type manual page for more information.
.It Cm log
(FFS only)
Mount the file system with
.Xr wapbl 4
meta-data journaling, also known simply as logging.
It provides rapid metadata updates and eliminates the need to check
file system consistency after a system outage.
It requires the
.Dv WAPBL
option to be enabled in the running kernel.
See
.Xr wapbl 4
for more information.
This option requires the
.Dq UFS2
.Pq level 4
superblock layout, which is the default for newly created FFSv1 and
FFSv2 file systems.
To update an old file system with an earlier superblock format,
use the
.Fl c
option of
.Xr fsck_ffs 8 .
.Pp
.Cm log
cannot be used together with
.Cm discard .
.Pp
A file system mounted with
.Cm log
can be mounted also with
.Cm async ,
but such filesystem behaves the same as if
.Cm async
was not specified - meta-data writes use the log, hence its integrity
is still guaranteed.
.It Cm symperm
Recognize permission of symbolic link when reading or traversing link.
.It Cm sync
All I/O to the file system should be done synchronously.
This is not equivalent to the normal mode in which only
metadata is written synchronously.
.It Cm nosync
Clear
.Cm sync
mode.
.It Cm union
Causes the namespace at the mount point to appear as the union
of the mounted file system root
(referred to as the
.Em upper
layer), and the existing directory
(referred to as the
.Em lower
layer).
Name lookups will be done in the upper layer first.
If a name does not exist in the upper layer, then the name
will be looked up in the lower layer.
If a name exists in both the upper and lower layers, then only
the upper instance is accessible.
Creation of new files is done in the upper layer,
except in the case of the fdesc file system (see
.Xr mount_fdesc 8 ) .
.Pp
Note that the
.Cm union
option can be applied to any type of file system,
and is fundamentally different from
.Xr mount_union 8 ,
which is a particular type of file system.
Also note that the
.Cm union
option affects the file system name space only at the mount point
itself; it does not apply recursively to subdirectories.
.It Cm update
The same as
.Fl u ;
indicate that the status of an already mounted file system should be changed.
.El
.Pp
Any additional options specific to a given file system type (see the
.Fl t
option) may be passed as a comma separated list; these options are
distinguished by a leading
.Dq \&-
(dash).
Options that take a value are specified using the syntax -option=value.
For example, the mount command:
.Bd -literal -offset indent
mount -t mfs -o nosuid,-N,-s=32m swap /tmp
.Ed
.Pp
causes
.Nm
to execute the equivalent of:
.Bd -literal -offset indent
/sbin/mount_mfs -o nosuid -N -s 32m swap /tmp
.Ed
.It Fl r
The file system is to be mounted read-only.
Mount the file system read-only (even the super-user may not write it).
The same as the
.Dq rdonly
argument to the
.Fl o
option.
.It Fl t Ar type
The argument following the
.Fl t
is used to indicate the file system type.
The type
.Ar ffs
is the default.
The
.Fl t
option can be used to indicate that the actions
should only be taken on file systems of the specified type.
More than one type may be specified in a comma separated list.
The list of file system types can be prefixed with
.Dq no
to specify the file system types for which action should
.Em not
be taken.
For example, the
.Nm
command:
.Bd -literal -offset indent
mount -a -t nonfs,mfs
.Ed
.Pp
mounts all file systems except those of type NFS and MFS.
.Pp
.Nm
will attempt to execute a program in
.Pa /sbin/mount_ Ns Em XXX
where
.Em XXX
is replaced by the type name.
For example, nfs file systems are mounted by the program
.Pa /sbin/mount_nfs .
.It Fl u
The
.Fl u
flag indicates that the status of an already mounted file
system should be changed.
Any of the options discussed above (the
.Fl o
option)
may be changed;
also a file system can be changed from read-only to read-write
or vice versa.
An attempt to change from read-write to read-only will fail if any
files on the file system are currently open for writing unless the
.Fl f
flag is also specified.
The set of options is determined by first extracting the options
for the file system from the
.Xr fstab 5
file, then applying any options specified by the
.Fl o
argument,
and finally applying the
.Fl r
or
.Fl w
option.
.It Fl v
Verbose mode.
If this flag is specified more than once, then the
file system-specific mount arguments are printed for the given mounted
file system.
.It Fl w
The file system object is to be read and write.
.El
.Pp
The options specific to the various file system types are
described in the manual pages for those file systems'
.Dq mount_<fstype>
commands;
for instance, the options specific to Berkeley
Fast File System (FFS) are described in the
.Xr mount_ffs 8
manual page.
.Pp
The particular type of file system in each partition of a disk can
be found by examining the disk label with the
.Xr disklabel 8
command.
.Sh FILES
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
file system table
.El
.Sh EXAMPLES
Some useful examples:
.Bl -tag -offset indent -width "MS-DOS"
.It CD-ROM
mount -t cd9660 -r /dev/cd0a /cdrom
.It MS-DOS
mount -t msdos /dev/fd0a /floppy
.It NFS
mount -t nfs nfs-server-host:/directory/path /mount-point
.It MFS (32 megabyte)
mount -t mfs -o nosuid,-s=32m swap /tmp
.El
.Pp
The
.Dq noauto
directive in
.Pa /etc/fstab
can be used to make it easy to manually mount and unmount removable
media using just the mountpoint filename, with an entry like this:
.Pp
.Dl /dev/cd0a  /cdrom  cd9660 ro,noauto 0 0
.Pp
That would allow a simple command like
.Qq mount /cdrom
or
.Qq umount /cdrom
for media using the ISO-9660 file system format in the first
CD-ROM drive.
.Sh DIAGNOSTICS
The error
.Dq Operation not supported by device
indicates that the mount for the specified file-system type cannot be
completed because the kernel lacks support for the said file-system.
See
.Xr options 4 .
.Pp
The error
.Dq Operation not permitted
may indicate that the mount options include privileged options and/or
do not include options that exclude privileged options.
One should try using at least
.Dq nodev
and
.Dq nosuid
in such cases:
.Bd -literal -offset indent
mount -t cd9660 -o nodev,nosuid /dev/cd0a /mnt
.Ed
.Sh SEE ALSO
.Xr df 1 ,
.Xr mount 2 ,
.Xr options 4 ,
.Xr wapbl 4 ,
.Xr fstab 5 ,
.Xr automount 8 ,
.Xr automountd 8 ,
.Xr autounmountd 8 ,
.Xr disklabel 8 ,
.Xr fsck 8 ,
.Xr mount_ados 8 ,
.Xr mount_cd9660 8 ,
.Xr mount_chfs 8 ,
.Xr mount_ext2fs 8 ,
.Xr mount_fdesc 8 ,
.Xr mount_ffs 8 ,
.Xr mount_filecore 8 ,
.Xr mount_kernfs 8 ,
.Xr mount_lfs 8 ,
.Xr mount_mfs 8 ,
.Xr mount_msdos 8 ,
.Xr mount_nfs 8 ,
.Xr mount_ntfs 8 ,
.Xr mount_null 8 ,
.Xr mount_overlay 8 ,
.Xr mount_portal 8 ,
.Xr mount_procfs 8 ,
.Xr mount_tmpfs 8 ,
.Xr mount_udf 8 ,
.Xr mount_umap 8 ,
.Xr mount_union 8 ,
.Xr rump_cd9660 8 ,
.Xr rump_efs 8 ,
.Xr rump_ext2fs 8 ,
.Xr rump_ffs 8 ,
.Xr rump_hfs 8 ,
.Xr rump_lfs 8 ,
.Xr rump_msdos 8 ,
.Xr rump_nfs 8 ,
.Xr rump_ntfs 8 ,
.Xr rump_smbfs 8 ,
.Xr rump_sysvbfs 8 ,
.Xr rump_tmpfs 8 ,
.Xr rump_udf 8 ,
.Xr umount 8
.Sh HISTORY
A
.Nm
command appeared in
.At v1 .