getopt: FEATURE_GETOPT_LONG for -l; rename GETOPT_LONG to LONG_OPTS
[platform/upstream/busybox.git] / util-linux / Config.in
1 #
2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
4 #
5
6 menu "Linux System Utilities"
7
8 config ACPID
9         bool "acpid"
10         default n
11         help
12           acpid listens to ACPI events coming either in textual form from
13           /proc/acpi/event (though it is marked deprecated it is still widely
14           used and _is_ a standard) or in binary form from specified evdevs
15           (just use /dev/input/event*).
16
17           It parses the event to retrieve ACTION and a possible PARAMETER.
18           It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
19           (if the resulting path is a directory) or directly as an executable.
20
21           N.B. acpid relies on run-parts so have the latter installed.
22
23 config FEATURE_ACPID_COMPAT
24         bool "Accept and ignore redundant options"
25         default n
26         depends on ACPID
27         help
28           Accept and ignore compatibility options -g -m -s -S -v.
29
30 config BLKID
31         bool "blkid"
32         default n
33         select VOLUMEID
34         help
35           Lists labels and UUIDs of all filesystems.
36           WARNING:
37           With all submodules selected, it will add ~8k to busybox.
38
39 config DMESG
40         bool "dmesg"
41         default n
42         help
43           dmesg is used to examine or control the kernel ring buffer. When the
44           Linux kernel prints messages to the system log, they are stored in
45           the kernel ring buffer. You can use dmesg to print the kernel's ring
46           buffer, clear the kernel ring buffer, change the size of the kernel
47           ring buffer, and change the priority level at which kernel messages
48           are also logged to the system console. Enable this option if you
49           wish to enable the 'dmesg' utility.
50
51 config FEATURE_DMESG_PRETTY
52         bool "Pretty dmesg output"
53         default y
54         depends on DMESG
55         help
56           If you wish to scrub the syslog level from the output, say 'Y' here.
57           The syslog level is a string prefixed to every line with the form
58           "<#>".
59
60           With this option you will see:
61             # dmesg
62             Linux version 2.6.17.4 .....
63             BIOS-provided physical RAM map:
64              BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
65
66           Without this option you will see:
67             # dmesg
68             <5>Linux version 2.6.17.4 .....
69             <6>BIOS-provided physical RAM map:
70             <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
71
72 config FBSET
73         bool "fbset"
74         default n
75         help
76           fbset is used to show or change the settings of a Linux frame buffer
77           device. The frame buffer device provides a simple and unique
78           interface to access a graphics display. Enable this option
79           if you wish to enable the 'fbset' utility.
80
81 config FEATURE_FBSET_FANCY
82         bool "Turn on extra fbset options"
83         default n
84         depends on FBSET
85         help
86           This option enables extended fbset options, allowing one to set the
87           framebuffer size, color depth, etc. interface to access a graphics
88           display. Enable this option if you wish to enable extended fbset
89           options.
90
91 config FEATURE_FBSET_READMODE
92         bool "Turn on fbset readmode support"
93         default n
94         depends on FBSET
95         help
96           This option allows fbset to read the video mode database stored by
97           default as /etc/fb.modes, which can be used to set frame buffer
98           device to pre-defined video modes.
99
100 config FDFLUSH
101         bool "fdflush"
102         default n
103         help
104           fdflush is only needed when changing media on slightly-broken
105           removable media drives. It is used to make Linux believe that a
106           hardware disk-change switch has been actuated, which causes Linux to
107           forget anything it has cached from the previous media. If you have
108           such a slightly-broken drive, you will need to run fdflush every time
109           you change a disk. Most people have working hardware and can safely
110           leave this disabled.
111
112 config FDFORMAT
113         bool "fdformat"
114         default n
115         help
116           fdformat is used to low-level format a floppy disk.
117
118 config FDISK
119         bool "fdisk"
120         default n
121         help
122           The fdisk utility is used to divide hard disks into one or more
123           logical disks, which are generally called partitions. This utility
124           can be used to list and edit the set of partitions or BSD style
125           'disk slices' that are defined on a hard drive.
126
127 config FDISK_SUPPORT_LARGE_DISKS
128         bool "Support over 4GB disks"
129         default y
130         depends on FDISK
131         help
132           Enable this option to support large disks > 4GB.
133
134 config FEATURE_FDISK_WRITABLE
135         bool "Write support"
136         default y
137         depends on FDISK
138         help
139           Enabling this option allows you to create or change a partition table
140           and write those changes out to disk. If you leave this option
141           disabled, you will only be able to view the partition table.
142
143 config FEATURE_AIX_LABEL
144         bool "Support AIX disklabels"
145         default n
146         depends on FDISK && FEATURE_FDISK_WRITABLE
147         help
148           Enabling this option allows you to create or change AIX disklabels.
149           Most people can safely leave this option disabled.
150
151 config FEATURE_SGI_LABEL
152         bool "Support SGI disklabels"
153         default n
154         depends on FDISK && FEATURE_FDISK_WRITABLE
155         help
156           Enabling this option allows you to create or change SGI disklabels.
157           Most people can safely leave this option disabled.
158
159 config FEATURE_SUN_LABEL
160         bool "Support SUN disklabels"
161         default n
162         depends on FDISK && FEATURE_FDISK_WRITABLE
163         help
164           Enabling this option allows you to create or change SUN disklabels.
165           Most people can safely leave this option disabled.
166
167 config FEATURE_OSF_LABEL
168         bool "Support BSD disklabels"
169         default n
170         depends on FDISK && FEATURE_FDISK_WRITABLE
171         help
172           Enabling this option allows you to create or change BSD disklabels
173           and define and edit BSD disk slices.
174
175 config FEATURE_FDISK_ADVANCED
176         bool "Support expert mode"
177         default n
178         depends on FDISK && FEATURE_FDISK_WRITABLE
179         help
180           Enabling this option allows you to do terribly unsafe things like
181           define arbitrary drive geometry, move the beginning of data in a
182           partition, and similarly evil things. Unless you have a very good
183           reason you would be wise to leave this disabled.
184
185 config FINDFS
186         bool "findfs"
187         default n
188         select VOLUMEID
189         help
190           Prints the name of a filesystem with given label or UUID.
191           WARNING:
192           With all submodules selected, it will add ~8k to busybox.
193
194 config FREERAMDISK
195         bool "freeramdisk"
196         default n
197         help
198           Linux allows you to create ramdisks. This utility allows you to
199           delete them and completely free all memory that was used for the
200           ramdisk. For example, if you boot Linux into a ramdisk and later
201           pivot_root, you may want to free the memory that is allocated to the
202           ramdisk. If you have no use for freeing memory from a ramdisk, leave
203           this disabled.
204
205 config FSCK_MINIX
206         bool "fsck_minix"
207         default n
208         help
209           The minix filesystem is a nice, small, compact, read-write filesystem
210           with little overhead. It is not a journaling filesystem however and
211           can experience corruption if it is not properly unmounted or if the
212           power goes off in the middle of a write. This utility allows you to
213           check for and attempt to repair any corruption that occurs to a minix
214           filesystem.
215
216 config MKFS_MINIX
217         bool "mkfs_minix"
218         default n
219         help
220           The minix filesystem is a nice, small, compact, read-write filesystem
221           with little overhead. If you wish to be able to create minix
222           filesystems this utility will do the job for you.
223
224 comment "Minix filesystem support"
225         depends on FSCK_MINIX || MKFS_MINIX
226
227 config FEATURE_MINIX2
228         bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
229         default y
230         depends on FSCK_MINIX || MKFS_MINIX
231         help
232           If you wish to be able to create version 2 minix filesystems, enable
233           this. If you enabled 'mkfs_minix' then you almost certainly want to
234           be using the version 2 filesystem support.
235
236 config MKFS_VFAT
237         bool "mkfs_vfat"
238         default n
239         help
240           Utility to create FAT32 filesystems.
241
242 config GETOPT
243         bool "getopt"
244         default n
245         help
246           The getopt utility is used to break up (parse) options in command
247           lines to make it easy to write complex shell scripts that also check
248           for legal (and illegal) options. If you want to write horribly
249           complex shell scripts, or use some horribly complex shell script
250           written by others, this utility may be for you. Most people will
251           wisely leave this disabled.
252
253 config FEATURE_GETOPT_LONG
254         bool "Support option -l"
255         default y if LONG_OPTS
256         help
257           Enable support for recognising long options using the -l option to
258           getopt.
259
260 config HEXDUMP
261         bool "hexdump"
262         default n
263         help
264           The hexdump utility is used to display binary data in a readable
265           way that is comparable to the output from most hex editors.
266
267 config FEATURE_HEXDUMP_REVERSE
268         bool "Support -R, reverse of 'hexdump -Cv'"
269         default n
270         depends on HEXDUMP
271         help
272           The hexdump utility is used to display binary data in an ascii
273           readable way. This option creates binary data from an ascii input.
274           NB: this option is non-standard. It's unwise to use it in scripts
275           aimed to be portable.
276
277 config HD
278         bool "hd"
279         default n
280         select HEXDUMP
281         help
282           hd is an alias to hexdump -C.
283
284 config HWCLOCK
285         bool "hwclock"
286         default n
287         help
288           The hwclock utility is used to read and set the hardware clock
289           on a system. This is primarily used to set the current time on
290           shutdown in the hardware clock, so the hardware will keep the
291           correct time when Linux is _not_ running.
292
293 config FEATURE_HWCLOCK_LONG_OPTIONS
294         bool "Support long options (--hctosys,...)"
295         default n
296         depends on HWCLOCK && LONG_OPTS
297         help
298           By default, the hwclock utility only uses short options. If you
299           are overly fond of its long options, such as --hctosys, --utc, etc)
300           then enable this option.
301
302 config FEATURE_HWCLOCK_ADJTIME_FHS
303         bool "Use FHS /var/lib/hwclock/adjtime"
304         default y
305         depends on HWCLOCK
306         help
307           Starting with FHS 2.3, the adjtime state file is supposed to exist
308           at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
309           to use the FHS behavior, answer Y here, otherwise answer N for the
310           classic /etc/adjtime path.
311
312           pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
313
314 config IPCRM
315         bool "ipcrm"
316         default n
317         select FEATURE_SUID
318         help
319           The ipcrm utility allows the removal of System V interprocess
320           communication (IPC) objects and the associated data structures
321           from the system.
322
323 config IPCS
324         bool "ipcs"
325         default n
326         select FEATURE_SUID
327         help
328           The ipcs utility is used to provide information on the currently
329           allocated System V interprocess (IPC) objects in the system.
330
331 config LOSETUP
332         bool "losetup"
333         default n
334         help
335           losetup is used to associate or detach a loop device with a regular
336           file or block device, and to query the status of a loop device. This
337           version does not currently support enabling data encryption.
338
339 config MDEV
340         bool "mdev"
341         default n
342         help
343           mdev is a mini-udev implementation for dynamically creating device
344           nodes in the /dev directory.
345
346           For more information, please see docs/mdev.txt
347
348 config FEATURE_MDEV_CONF
349         bool "Support /etc/mdev.conf"
350         default n
351         depends on MDEV
352         help
353           Add support for the mdev config file to control ownership and
354           permissions of the device nodes.
355
356           For more information, please see docs/mdev.txt
357
358 config FEATURE_MDEV_RENAME
359         bool "Support subdirs/symlinks"
360         default n
361         depends on FEATURE_MDEV_CONF
362         help
363           Add support for renaming devices and creating symlinks.
364
365           For more information, please see docs/mdev.txt
366
367 config FEATURE_MDEV_RENAME_REGEXP
368         bool "Support regular expressions substitutions when renaming device"
369         default n
370         depends on FEATURE_MDEV_RENAME
371         help
372           Add support for regular expressions substitutions when renaming
373           device.
374
375 config FEATURE_MDEV_EXEC
376         bool "Support command execution at device addition/removal"
377         default n
378         depends on FEATURE_MDEV_CONF
379         help
380           This adds support for an optional field to /etc/mdev.conf for
381           executing commands when devices are created/removed.
382
383           For more information, please see docs/mdev.txt
384
385 config FEATURE_MDEV_LOAD_FIRMWARE
386         bool "Support loading of firmwares"
387         default n
388         depends on MDEV
389         help
390           Some devices need to load firmware before they can be usable.
391
392           These devices will request userspace look up the files in
393           /lib/firmware/ and if it exists, send it to the kernel for
394           loading into the hardware.
395
396 config MKSWAP
397         bool "mkswap"
398         default n
399         help
400           The mkswap utility is used to configure a file or disk partition as
401           Linux swap space. This allows Linux to use the entire file or
402           partition as if it were additional RAM, which can greatly increase
403           the capability of low-memory machines. This additional memory is
404           much slower than real RAM, but can be very helpful at preventing your
405           applications being killed by the Linux out of memory (OOM) killer.
406           Once you have created swap space using 'mkswap' you need to enable
407           the swap space using the 'swapon' utility.
408
409 config FEATURE_MKSWAP_V0
410         bool "Version 0 support"
411         default n
412         depends on MKSWAP
413 #       depends on MKSWAP && DEPRECATED
414         help
415           Enable support for the old v0 style.
416           If your kernel is older than 2.1.117, then v0 support is the
417           only option.
418
419 config MORE
420         bool "more"
421         default n
422         help
423           more is a simple utility which allows you to read text one screen
424           sized page at a time. If you want to read text that is larger than
425           the screen, and you are using anything faster than a 300 baud modem,
426           you will probably find this utility very helpful. If you don't have
427           any need to reading text files, you can leave this disabled.
428
429 config FEATURE_USE_TERMIOS
430         bool "Use termios to manipulate the screen"
431         default y
432         depends on MORE || TOP
433         help
434           This option allows utilities such as 'more' and 'top' to determine
435           the size of the screen. If you leave this disabled, your utilities
436           that display things on the screen will be especially primitive and
437           will be unable to determine the current screen size, and will be
438           unable to move the cursor.
439
440 config VOLUMEID
441         bool #No description makes it a hidden option
442         default n
443
444 config FEATURE_VOLUMEID_EXT
445         bool "Ext filesystem"
446         default n
447         depends on VOLUMEID
448         help
449           TODO
450
451 config FEATURE_VOLUMEID_REISERFS
452         bool "Reiser filesystem"
453         default n
454         depends on VOLUMEID
455         help
456           TODO
457
458 config FEATURE_VOLUMEID_FAT
459         bool "fat filesystem"
460         default n
461         depends on VOLUMEID
462         help
463           TODO
464
465 config FEATURE_VOLUMEID_HFS
466         bool "hfs filesystem"
467         default n
468         depends on VOLUMEID
469         help
470           TODO
471
472 config FEATURE_VOLUMEID_JFS
473         bool "jfs filesystem"
474         default n
475         depends on VOLUMEID
476         help
477           TODO
478
479 ### config FEATURE_VOLUMEID_UFS
480 ###     bool "ufs filesystem"
481 ###     default n
482 ###     depends on VOLUMEID
483 ###     help
484 ###       TODO
485
486 config FEATURE_VOLUMEID_XFS
487         bool "xfs filesystem"
488         default n
489         depends on VOLUMEID
490         help
491           TODO
492
493 config FEATURE_VOLUMEID_NTFS
494         bool "ntfs filesystem"
495         default n
496         depends on VOLUMEID
497         help
498           TODO
499
500 config FEATURE_VOLUMEID_ISO9660
501         bool "iso9660 filesystem"
502         default n
503         depends on VOLUMEID
504         help
505           TODO
506
507 config FEATURE_VOLUMEID_UDF
508         bool "udf filesystem"
509         default n
510         depends on VOLUMEID
511         help
512           TODO
513
514 config FEATURE_VOLUMEID_LUKS
515         bool "luks filesystem"
516         default n
517         depends on VOLUMEID
518         help
519           TODO
520
521 config FEATURE_VOLUMEID_LINUXSWAP
522         bool "linux swap filesystem"
523         default n
524         depends on VOLUMEID
525         help
526           TODO
527
528 ### config FEATURE_VOLUMEID_LVM
529 ###     bool "lvm"
530 ###     default n
531 ###     depends on VOLUMEID
532 ###     help
533 ###       TODO
534
535 config FEATURE_VOLUMEID_CRAMFS
536         bool "cramfs filesystem"
537         default n
538         depends on VOLUMEID
539         help
540           TODO
541
542 ### config FEATURE_VOLUMEID_HPFS
543 ###     bool "hpfs filesystem"
544 ###     default n
545 ###     depends on VOLUMEID
546 ###     help
547 ###       TODO
548
549 config FEATURE_VOLUMEID_ROMFS
550         bool "romfs filesystem"
551         default n
552         depends on VOLUMEID
553         help
554           TODO
555
556 config FEATURE_VOLUMEID_SYSV
557         bool "sysv filesystem"
558         default n
559         depends on VOLUMEID
560         help
561           TODO
562
563 ### config FEATURE_VOLUMEID_MINIX
564 ###     bool "minix filesystem"
565 ###     default n
566 ###     depends on VOLUMEID
567 ###     help
568 ###       TODO
569
570 ### These only detect partition tables - not used (yet?)
571 ### config FEATURE_VOLUMEID_MAC
572 ###     bool "mac filesystem"
573 ###     default n
574 ###     depends on VOLUMEID
575 ###     help
576 ###       TODO
577 ###
578 ### config FEATURE_VOLUMEID_MSDOS
579 ###     bool "msdos filesystem"
580 ###     default n
581 ###     depends on VOLUMEID
582 ###     help
583 ###       TODO
584
585 config FEATURE_VOLUMEID_OCFS2
586         bool "ocfs2 filesystem"
587         default n
588         depends on VOLUMEID
589         help
590           TODO
591
592 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
593 ###     bool "highpoint raid"
594 ###     default n
595 ###     depends on VOLUMEID
596 ###     help
597 ###       TODO
598
599 ### config FEATURE_VOLUMEID_ISWRAID
600 ###     bool "intel raid"
601 ###     default n
602 ###     depends on VOLUMEID
603 ###     help
604 ###       TODO
605
606 ### config FEATURE_VOLUMEID_LSIRAID
607 ###     bool "lsi raid"
608 ###     default n
609 ###     depends on VOLUMEID
610 ###     help
611 ###       TODO
612
613 ### config FEATURE_VOLUMEID_VIARAID
614 ###     bool "via raid"
615 ###     default n
616 ###     depends on VOLUMEID
617 ###     help
618 ###       TODO
619
620 ### config FEATURE_VOLUMEID_SILICONRAID
621 ###     bool "silicon raid"
622 ###     default n
623 ###     depends on VOLUMEID
624 ###     help
625 ###       TODO
626
627 ### config FEATURE_VOLUMEID_NVIDIARAID
628 ###     bool "nvidia raid"
629 ###     default n
630 ###     depends on VOLUMEID
631 ###     help
632 ###       TODO
633
634 ### config FEATURE_VOLUMEID_PROMISERAID
635 ###     bool "promise raid"
636 ###     default n
637 ###     depends on VOLUMEID
638 ###     help
639 ###       TODO
640
641 config FEATURE_VOLUMEID_LINUXRAID
642         bool "linuxraid"
643         default n
644         depends on VOLUMEID
645         help
646           TODO
647
648 config MOUNT
649         bool "mount"
650         default n
651         help
652           All files and filesystems in Unix are arranged into one big directory
653           tree. The 'mount' utility is used to graft a filesystem onto a
654           particular part of the tree. A filesystem can either live on a block
655           device, or it can be accessible over the network, as is the case with
656           NFS filesystems. Most people using BusyBox will also want to enable
657           the 'mount' utility.
658
659 config FEATURE_MOUNT_FAKE
660         bool "Support option -f"
661         default n
662         depends on MOUNT
663         help
664           Enable support for faking a file system mount.
665
666 config FEATURE_MOUNT_VERBOSE
667         bool "Support option -v"
668         default n
669         depends on MOUNT
670         help
671           Enable multi-level -v[vv...] verbose messages. Useful if you
672           debug mount problems and want to see what is exactly passed
673           to the kernel.
674
675 config FEATURE_MOUNT_HELPERS
676         bool "Support mount helpers"
677         default n
678         depends on MOUNT
679         help
680           Enable mounting of virtual file systems via external helpers.
681           E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
682           "obexfs -b00.11.22.33.44.55 /mnt"
683           Also "mount -t sometype [-o opts] fs /mnt" will try
684           "sometype [-o opts] fs /mnt" if simple mount syscall fails.
685           The idea is to use such virtual filesystems in /etc/fstab.
686
687 config FEATURE_MOUNT_LABEL
688         bool "Support specifiying devices by label or UUID"
689         default n
690         depends on MOUNT
691         select VOLUMEID
692         help
693           This allows for specifying a device by label or uuid, rather than by
694           name. This feature utilizes the same functionality as blkid/findfs.
695
696 config FEATURE_MOUNT_NFS
697         bool "Support mounting NFS file systems"
698         default n
699         depends on MOUNT
700         select FEATURE_HAVE_RPC
701         select FEATURE_SYSLOG
702         help
703           Enable mounting of NFS file systems.
704
705 config FEATURE_MOUNT_CIFS
706         bool "Support mounting CIFS/SMB file systems"
707         default n
708         depends on MOUNT
709         help
710           Enable support for samba mounts.
711
712 config FEATURE_MOUNT_FLAGS
713         depends on MOUNT
714         bool "Support lots of -o flags in mount"
715         default y
716         help
717           Without this, mount only supports ro/rw/remount. With this, it
718           supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
719           noatime, diratime, nodiratime, loud, bind, move, shared, slave,
720           private, unbindable, rshared, rslave, rprivate, and runbindable.
721
722 config FEATURE_MOUNT_FSTAB
723         depends on MOUNT
724         bool "Support /etc/fstab and -a"
725         default y
726         help
727           Support mount all and looking for files in /etc/fstab.
728
729 config PIVOT_ROOT
730         bool "pivot_root"
731         default n
732         help
733           The pivot_root utility swaps the mount points for the root filesystem
734           with some other mounted filesystem. This allows you to do all sorts
735           of wild and crazy things with your Linux system and is far more
736           powerful than 'chroot'.
737
738           Note: This is for initrd in linux 2.4. Under initramfs (introduced
739           in linux 2.6) use switch_root instead.
740
741 config RDATE
742         bool "rdate"
743         default n
744         help
745           The rdate utility allows you to synchronize the date and time of your
746           system clock with the date and time of a remote networked system using
747           the RFC868 protocol, which is built into the inetd daemon on most
748           systems.
749
750 config RDEV
751        bool "rdev"
752        default n
753        help
754           Print the device node associated with the filesystem mounted at '/'.
755
756 config READPROFILE
757         bool "readprofile"
758         default n
759         help
760           This allows you to parse /proc/profile for basic profiling.
761
762 config RTCWAKE
763         bool "rtcwake"
764         default n
765         help
766           Enter a system sleep state until specified wakeup time.
767
768 config SCRIPT
769         bool "script"
770         default n
771         help
772           The script makes typescript of terminal session.
773
774 config SCRIPTREPLAY
775         bool "scriptreplay"
776         default n
777         help
778           This program replays a typescript, using timing information
779           given by script -t.
780
781 config SETARCH
782         bool "setarch"
783         default n
784         help
785           The linux32 utility is used to create a 32bit environment for the
786           specified program (usually a shell). It only makes sense to have
787           this util on a system that supports both 64bit and 32bit userland
788           (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
789
790 config SWAPONOFF
791         bool "swaponoff"
792         default n
793         help
794           This option enables both the 'swapon' and the 'swapoff' utilities.
795           Once you have created some swap space using 'mkswap', you also need
796           to enable your swap space with the 'swapon' utility. The 'swapoff'
797           utility is used, typically at system shutdown, to disable any swap
798           space. If you are not using any swap space, you can leave this
799           option disabled.
800
801 config FEATURE_SWAPON_PRI
802         bool "Support priority option -p"
803         default n
804         depends on SWAPONOFF
805         help
806           Enable support for setting swap device priority in swapon.
807
808 config SWITCH_ROOT
809         bool "switch_root"
810         default n
811         help
812           The switch_root utility is used from initramfs to select a new
813           root device. Under initramfs, you have to use this instead of
814           pivot_root. (Stop reading here if you don't care why.)
815
816           Booting with initramfs extracts a gzipped cpio archive into rootfs
817           (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
818           or unmounted*, pivot_root will not work from initramfs. Instead,
819           switch_root deletes everything out of rootfs (including itself),
820           does a mount --move that overmounts rootfs with the new root, and
821           then execs the specified init program.
822
823           * Because the Linux kernel uses rootfs internally as the starting
824           and ending point for searching through the kernel's doubly linked
825           list of active mount points. That's why.
826
827 config UMOUNT
828         bool "umount"
829         default n
830         help
831           When you want to remove a mounted filesystem from its current mount
832           point, for example when you are shutting down the system, the
833           'umount' utility is the tool to use. If you enabled the 'mount'
834           utility, you almost certainly also want to enable 'umount'.
835
836 config FEATURE_UMOUNT_ALL
837         bool "Support option -a"
838         default n
839         depends on UMOUNT
840         help
841           Support -a option to unmount all currently mounted filesystems.
842
843 comment "Common options for mount/umount"
844         depends on MOUNT || UMOUNT
845
846 config FEATURE_MOUNT_LOOP
847         bool "Support loopback mounts"
848         default n
849         depends on MOUNT || UMOUNT
850         help
851           Enabling this feature allows automatic mounting of files (containing
852           filesystem images) via the linux kernel's loopback devices.
853           The mount command will detect you are trying to mount a file instead
854           of a block device, and transparently associate the file with a
855           loopback device. The umount command will also free that loopback
856           device.
857
858           You can still use the 'losetup' utility (to manually associate files
859           with loop devices) if you need to do something advanced, such as
860           specify an offset or cryptographic options to the loopback device.
861           (If you don't want umount to free the loop device, use "umount -D".)
862
863 config FEATURE_MTAB_SUPPORT
864         bool "Support for the old /etc/mtab file"
865         default n
866         depends on MOUNT || UMOUNT
867         select FEATURE_MOUNT_FAKE
868         help
869           Historically, Unix systems kept track of the currently mounted
870           partitions in the file "/etc/mtab". These days, the kernel exports
871           the list of currently mounted partitions in "/proc/mounts", rendering
872           the old mtab file obsolete. (In modern systems, /etc/mtab should be
873           a symlink to /proc/mounts.)
874
875           The only reason to have mount maintain an /etc/mtab file itself is if
876           your stripped-down embedded system does not have a /proc directory.
877           If you must use this, keep in mind it's inherently brittle (for
878           example a mount under chroot won't update it), can't handle modern
879           features like separate per-process filesystem namespaces, requires
880           that your /etc directory be writeable, tends to get easily confused
881           by --bind or --move mounts, won't update if you rename a directory
882           that contains a mount point, and so on. (In brief: avoid.)
883
884           About the only reason to use this is if you've removed /proc from
885           your kernel.
886
887 endmenu