mount: make -f work even without mtab support
[oweals/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 DMESG
9         bool "dmesg"
10         default n
11         help
12           dmesg is used to examine or control the kernel ring buffer.  When the
13           Linux kernel prints messages to the system log, they are stored in
14           the kernel ring buffer.  You can use dmesg to print the kernel's ring
15           buffer, clear the kernel ring buffer, change the size of the kernel
16           ring buffer, and change the priority level at which kernel messages
17           are also logged to the system console.  Enable this option if you
18           wish to enable the 'dmesg' utility.
19
20 config FEATURE_DMESG_PRETTY
21         bool "pretty dmesg output"
22         default y
23         depends on DMESG
24         help
25           If you wish to scrub the syslog level from the output, say 'Y' here.
26           The syslog level is a string prefixed to every line with the form "<#>".
27
28           With this option you will see:
29             # dmesg
30             Linux version 2.6.17.4 .....
31             BIOS-provided physical RAM map:
32              BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
33
34           Without this option you will see:
35             # dmesg
36             <5>Linux version 2.6.17.4 .....
37             <6>BIOS-provided physical RAM map:
38             <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
39
40 config FBSET
41         bool "fbset"
42         default n
43         help
44           fbset is used to show or change the settings of a Linux frame buffer
45           device.  The frame buffer device provides a simple and unique
46           interface to access a graphics display.  Enable this option
47           if you wish to enable the 'fbset' utility.
48
49 config FEATURE_FBSET_FANCY
50         bool "Turn on extra fbset options"
51         default n
52         depends on FBSET
53         help
54           This option enables extended fbset options, allowing one to set the
55           framebuffer size, color depth, etc.  interface to access a graphics
56           display.  Enable this option if you wish to enable extended fbset
57           options.
58
59 config FEATURE_FBSET_READMODE
60         bool "Turn on fbset readmode support"
61         default n
62         depends on FBSET
63         help
64           This option allows fbset to read the video mode database stored by
65           default as /etc/fb.modes, which can be used to set frame buffer
66           device to pre-defined video modes.
67
68 config FDFLUSH
69         bool "fdflush"
70         default n
71         help
72           fdflush is only needed when changing media on slightly-broken
73           removable media drives.  It is used to make Linux believe that a
74           hardware disk-change switch has been actuated, which causes Linux to
75           forget anything it has cached from the previous media.  If you have
76           such a slightly-broken drive, you will need to run fdflush every time
77           you change a disk.  Most people have working hardware and can safely
78           leave this disabled.
79
80 config FDFORMAT
81         bool "fdformat"
82         default n
83         help
84           fdformat is used to low-level format a floppy disk.
85
86 config FDISK
87         bool "fdisk"
88         default n
89         help
90           The fdisk utility is used to divide hard disks into one or more
91           logical disks, which are generally called partitions.  This utility
92           can be used to list and edit the set of partitions or BSD style
93           'disk slices' that are defined on a hard drive.
94
95 config FDISK_SUPPORT_LARGE_DISKS
96         bool "support over 4GB disks"
97         default y
98         depends on FDISK
99         help
100           Enable this option to support large disks > 4GB.
101
102 config FEATURE_FDISK_WRITABLE
103         bool "Write support"
104         default y
105         depends on FDISK
106         help
107           Enabling this option allows you to create or change a partition table
108           and write those changes out to disk.  If you leave this option
109           disabled, you will only be able to view the partition table.
110
111 config FEATURE_AIX_LABEL
112         bool "Support AIX disklabels"
113         default n
114         depends on FDISK && FEATURE_FDISK_WRITABLE
115         help
116           Enabling this option allows you to create or change AIX disklabels.
117           Most people can safely leave this option disabled.
118
119 config FEATURE_SGI_LABEL
120         bool "Support SGI disklabels"
121         default n
122         depends on FDISK && FEATURE_FDISK_WRITABLE
123         help
124           Enabling this option allows you to create or change SGI disklabels.
125           Most people can safely leave this option disabled.
126
127 config FEATURE_SUN_LABEL
128         bool "Support SUN disklabels"
129         default n
130         depends on FDISK && FEATURE_FDISK_WRITABLE
131         help
132           Enabling this option allows you to create or change SUN disklabels.
133           Most people can safely leave this option disabled.
134
135 config FEATURE_OSF_LABEL
136         bool "Support BSD disklabels"
137         default n
138         depends on FDISK && FEATURE_FDISK_WRITABLE
139         help
140           Enabling this option allows you to create or change BSD disklabels
141           and define and edit BSD disk slices.
142
143 config FEATURE_FDISK_ADVANCED
144         bool "Support expert mode"
145         default n
146         depends on FDISK && FEATURE_FDISK_WRITABLE
147         help
148           Enabling this option allows you to do terribly unsafe things like
149           define arbitrary drive geometry, move the beginning of data in a
150           partition, and similarly evil things.  Unless you have a very good
151           reason you would be wise to leave this disabled.
152
153 config FREERAMDISK
154         bool "freeramdisk"
155         default n
156         help
157           Linux allows you to create ramdisks.  This utility allows you to
158           delete them and completely free all memory that was used for the
159           ramdisk.  For example, if you boot Linux into a ramdisk and later
160           pivot_root, you may want to free the memory that is allocated to the
161           ramdisk.  If you have no use for freeing memory from a ramdisk, leave
162           this disabled.
163
164 config FSCK_MINIX
165         bool "fsck_minix"
166         default n
167         help
168           The minix filesystem is a nice, small, compact, read-write filesystem
169           with little overhead.  It is not a journaling filesystem however and
170           can experience corruption if it is not properly unmounted or if the
171           power goes off in the middle of a write.  This utility allows you to
172           check for and attempt to repair any corruption that occurs to a minix
173           filesystem.
174
175 config MKFS_MINIX
176         bool "mkfs_minix"
177         default n
178         help
179           The minix filesystem is a nice, small, compact, read-write filesystem
180           with little overhead.  If you wish to be able to create minix filesystems
181           this utility will do the job for you.
182
183 comment "Minix filesystem support"
184         depends on FSCK_MINIX || MKFS_MINIX
185
186 config FEATURE_MINIX2
187         bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
188         default y
189         depends on FSCK_MINIX || MKFS_MINIX
190         help
191           If you wish to be able to create version 2 minix filesystems, enable this.
192           If you enabled 'mkfs_minix' then you almost certainly want to be using the
193           version 2 filesystem support.
194
195 config GETOPT
196         bool "getopt"
197         default n
198         help
199           The getopt utility is used to break up (parse) options in command
200           lines to make it easy to write complex shell scripts that also check
201           for legal (and illegal) options.  If you want to write horribly
202           complex shell scripts, or use some horribly complex shell script
203           written by others, this utility may be for you.  Most people will
204           wisely leave this disabled.
205
206 config HEXDUMP
207         bool "hexdump"
208         default n
209         help
210           The hexdump utility is used to display binary data in a readable
211           way that is comparable to the output from most hex editors.
212
213 config HD
214         bool "hd"
215         default n
216         select HEXDUMP
217         help
218           hd is an alias to hexdump -C.
219
220 config FEATURE_HEXDUMP_REVERSE
221         bool "Support -R, reverse of 'hexdump -Cv'"
222         default n
223         depends on HEXDUMP
224         help
225           The hexdump utility is used to display binary data in an ascii
226           readable way. This option creates binary data from an ascii input.
227           NB: this option is non-standard. It's unwise to use it in scripts
228           aimed to be portable.
229
230 config HWCLOCK
231         bool "hwclock"
232         default n
233         help
234           The hwclock utility is used to read and set the hardware clock
235           on a system.  This is primarily used to set the current time on
236           shutdown in the hardware clock, so the hardware will keep the
237           correct time when Linux is _not_ running.
238
239 config FEATURE_HWCLOCK_LONG_OPTIONS
240         bool "Support long options (--hctosys,...)"
241         default n
242         depends on HWCLOCK && GETOPT_LONG
243         help
244           By default, the hwclock utility only uses short options.  If you
245           are overly fond of its long options, such as --hctosys, --utc, etc)
246           then enable this option.
247
248 config FEATURE_HWCLOCK_ADJTIME_FHS
249         bool "Use FHS /var/lib/hwclock/adjtime"
250         default y
251         depends on HWCLOCK
252         help
253           Starting with FHS 2.3, the adjtime state file is supposed to exist
254           at /var/lib/hwclock/adjtime instead of /etc/adjtime.  If you wish
255           to use the FHS behavior, answer Y here, otherwise answer N for the
256           classic /etc/adjtime path.
257
258           http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
259
260 config IPCRM
261         bool "ipcrm"
262         default n
263         select FEATURE_SUID
264         help
265           The ipcrm utility allows the removal of System V interprocess
266           communication (IPC) objects and the associated data structures
267           from the system.
268
269 config IPCS
270         bool "ipcs"
271         default n
272         select FEATURE_SUID
273         help
274           The ipcs utility is used to provide information on the currently
275           allocated System V interprocess (IPC) objects in the system.
276
277 config LOSETUP
278         bool "losetup"
279         default n
280         help
281           losetup is used to associate or detach a loop device with a regular
282           file or block device, and to query the status of a loop device.  This
283           version does not currently support enabling data encryption.
284
285 config MDEV
286         bool "mdev"
287         default n
288         help
289           mdev is a mini-udev implementation for dynamically creating device
290           nodes in the /dev directory.
291
292           For more information, please see docs/mdev.txt
293
294 config FEATURE_MDEV_CONF
295         bool "Support /etc/mdev.conf"
296         default n
297         depends on MDEV
298         help
299           Add support for the mdev config file to control ownership and
300           permissions of the device nodes.
301
302           For more information, please see docs/mdev.txt
303
304 config FEATURE_MDEV_RENAME
305         bool "Support subdirs/symlinks"
306         default n
307         depends on FEATURE_MDEV_CONF
308         help
309           Add support for renaming devices and creating symlinks.
310
311           For more information, please see docs/mdev.txt
312
313 config FEATURE_MDEV_EXEC
314         bool "Support command execution at device addition/removal"
315         default n
316         depends on FEATURE_MDEV_CONF
317         help
318           This adds support for an optional field to /etc/mdev.conf for
319           executing commands when devices are created/removed.
320
321           For more information, please see docs/mdev.txt
322
323 config FEATURE_MDEV_LOAD_FIRMWARE
324         bool "Support loading of firmwares"
325         default n
326         depends on MDEV
327         help
328           Some devices need to load firmware before they can be usable.
329
330           These devices will request userspace look up the files in
331           /lib/firmware/ and if it exists, send it to the kernel for
332           loading into the hardware.
333
334 config MKSWAP
335         bool "mkswap"
336         default n
337         help
338           The mkswap utility is used to configure a file or disk partition as
339           Linux swap space.  This allows Linux to use the entire file or
340           partition as if it were additional RAM, which can greatly increase
341           the capability of low-memory machines.  This additional memory is
342           much slower than real RAM, but can be very helpful at preventing your
343           applications being killed by the Linux out of memory (OOM) killer.
344           Once you have created swap space using 'mkswap' you need to enable
345           the swap space using the 'swapon' utility.
346
347 config FEATURE_MKSWAP_V0
348         bool "version 0 support"
349         default n
350         depends on MKSWAP
351 #       depends on MKSWAP && DEPRECATED
352         help
353           Enable support for the old v0 style.
354           If your kernel is older than 2.1.117, then v0 support is the
355           only option.
356
357 config MORE
358         bool "more"
359         default n
360         help
361           more is a simple utility which allows you to read text one screen
362           sized page at a time.  If you want to read text that is larger than
363           the screen, and you are using anything faster than a 300 baud modem,
364           you will probably find this utility very helpful.  If you don't have
365           any need to reading text files, you can leave this disabled.
366
367 config FEATURE_USE_TERMIOS
368         bool "Use termios to manipulate the screen"
369         default y
370         depends on MORE
371         help
372           This option allows utilities such as 'more' and 'top' to determine
373           the size of the screen.  If you leave this disabled, your utilities
374           that display things on the screen will be especially primitive and
375           will be unable to determine the current screen size, and will be
376           unable to move the cursor.
377
378 config MOUNT
379         bool "mount"
380         default n
381         help
382           All files and filesystems in Unix are arranged into one big directory
383           tree.  The 'mount' utility is used to graft a filesystem onto a
384           particular part of the tree.  A filesystem can either live on a block
385           device, or it can be accessible over the network, as is the case with
386           NFS filesystems.  Most people using BusyBox will also want to enable
387           the 'mount' utility.
388
389 config FEATURE_MOUNT_FAKE
390         bool "mount -f option"
391         default n
392         depends on MOUNT
393         help
394           Enable support for faking a file system mount.
395
396 config FEATURE_MOUNT_HELPERS
397         bool "Support mount helpers"
398         default n
399         depends on MOUNT
400         help
401           Enable mounting of virtual file systems via external helpers.
402           E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
403           "obexfs -b00.11.22.33.44.55 /mnt"
404           Also "mount -t sometype [-o opts] fs /mnt" will try
405           "sometype [-o opts] fs /mnt" if simple mount syscall fails.
406           The idea is to use such virtual filesystems in /etc/fstab.
407
408 config FEATURE_MOUNT_NFS
409         bool "Support mounting NFS file systems"
410         default n
411         depends on MOUNT
412         select FEATURE_HAVE_RPC
413         select FEATURE_SYSLOG
414         help
415           Enable mounting of NFS file systems.
416
417 config FEATURE_MOUNT_CIFS
418         bool "Support mounting CIFS/SMB file systems"
419         default n
420         depends on MOUNT
421         help
422           Enable support for samba mounts.
423
424 config FEATURE_MOUNT_FLAGS
425         depends on MOUNT
426         bool "Support lots of -o flags in mount"
427         default y
428         help
429           Without this, mount only supports ro/rw/remount.  With this, it
430           supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
431           noatime, diratime, nodiratime, loud, bind, move, shared, slave,
432           private, unbindable, rshared, rslave, rprivate, and runbindable.
433
434 config FEATURE_MOUNT_FSTAB
435         depends on MOUNT
436         bool "Support /etc/fstab and -a"
437         default y
438         help
439           Support mount all and looking for files in /etc/fstab.
440
441 config PIVOT_ROOT
442         bool "pivot_root"
443         default n
444         help
445           The pivot_root utility swaps the mount points for the root filesystem
446           with some other mounted filesystem.  This allows you to do all sorts
447           of wild and crazy things with your Linux system and is far more
448           powerful than 'chroot'.
449
450           Note: This is for initrd in linux 2.4.  Under initramfs (introduced
451           in linux 2.6) use switch_root instead.
452
453 config RDATE
454         bool "rdate"
455         default n
456         help
457           The rdate utility allows you to synchronize the date and time of your
458           system clock with the date and time of a remote networked system using
459           the RFC868 protocol, which is built into the inetd daemon on most
460           systems.
461
462 config READPROFILE
463         bool "readprofile"
464         default n
465         help
466           This allows you to parse /proc/profile for basic profiling.
467
468 config RTCWAKE
469         bool "rtcwake"
470         default n
471         help
472           Enter a system sleep state until specified wakeup time.
473
474 config SETARCH
475         bool "setarch"
476         default n
477         help
478           The linux32 utility is used to create a 32bit environment for the
479           specified program (usually a shell).  It only makes sense to have
480           this util on a system that supports both 64bit and 32bit userland
481           (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
482
483 config SWAPONOFF
484         bool "swaponoff"
485         default n
486         help
487           This option enables both the 'swapon' and the 'swapoff' utilities.
488           Once you have created some swap space using 'mkswap', you also need
489           to enable your swap space with the 'swapon' utility.  The 'swapoff'
490           utility is used, typically at system shutdown, to disable any swap
491           space.  If you are not using any swap space, you can leave this
492           option disabled.
493
494 config SWITCH_ROOT
495         bool "switch_root"
496         default n
497         help
498           The switch_root utility is used from initramfs to select a new
499           root device.  Under initramfs, you have to use this instead of
500           pivot_root.  (Stop reading here if you don't care why.)
501
502           Booting with initramfs extracts a gzipped cpio archive into rootfs
503           (which is a variant of ramfs/tmpfs).  Because rootfs can't be moved
504           or unmounted*, pivot_root will not work from initramfs.  Instead,
505           switch_root deletes everything out of rootfs (including itself),
506           does a mount --move that overmounts rootfs with the new root, and
507           then execs the specified init program.
508
509           * Because the Linux kernel uses rootfs internally as the starting
510           and ending point for searching through the kernel's doubly linked
511           list of active mount points.  That's why.
512
513 config UMOUNT
514         bool "umount"
515         default n
516         help
517           When you want to remove a mounted filesystem from its current mount point,
518           for example when you are shutting down the system, the 'umount' utility is
519           the tool to use.  If you enabled the 'mount' utility, you almost certainly
520           also want to enable 'umount'.
521
522 config FEATURE_UMOUNT_ALL
523         bool "umount -a option"
524         default n
525         depends on UMOUNT
526         help
527           Support -a option to unmount all currently mounted filesystems.
528
529 comment "Common options for mount/umount"
530         depends on MOUNT || UMOUNT
531
532 config FEATURE_MOUNT_LOOP
533         bool "Support loopback mounts"
534         default n
535         depends on MOUNT || UMOUNT
536         help
537           Enabling this feature allows automatic mounting of files (containing
538           filesystem images) via the linux kernel's loopback devices.  The mount
539           command will detect you are trying to mount a file instead of a block
540           device, and transparently associate the file with a loopback device.
541           The umount command will also free that loopback device.
542
543           You can still use the 'losetup' utility (to manually associate files
544           with loop devices) if you need to do something advanced, such as
545           specify an offset or cryptographic options to the loopback device.
546           (If you don't want umount to free the loop device, use "umount -D".)
547
548 config FEATURE_MTAB_SUPPORT
549         bool "Support for the old /etc/mtab file"
550         default n
551         depends on MOUNT || UMOUNT
552         select FEATURE_MOUNT_FAKE
553         help
554           Historically, Unix systems kept track of the currently mounted
555           partitions in the file "/etc/mtab".  These days, the kernel exports
556           the list of currently mounted partitions in "/proc/mounts", rendering
557           the old mtab file obsolete.  (In modern systems, /etc/mtab should be
558           a symlink to /proc/mounts.)
559
560           The only reason to have mount maintain an /etc/mtab file itself is if
561           your stripped-down embedded system does not have a /proc directory.
562           If you must use this, keep in mind it's inherently brittle (for
563           example a mount under chroot won't update it), can't handle modern
564           features like separate per-process filesystem namespaces, requires
565           that your /etc directory be writeable, tends to get easily confused
566           by --bind or --move mounts, won't update if you rename a directory
567           that contains a mount point, and so on.  (In brief: avoid.)
568
569           About the only reason to use this is if you've removed /proc from
570           your kernel.
571
572 endmenu
573