fstrim: New applet
[oweals/busybox.git] / util-linux / Config.src
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 INSERT
9
10 config ACPID
11         bool "acpid"
12         default y
13         select PLATFORM_LINUX
14         help
15           acpid listens to ACPI events coming either in textual form from
16           /proc/acpi/event (though it is marked deprecated it is still widely
17           used and _is_ a standard) or in binary form from specified evdevs
18           (just use /dev/input/event*).
19
20           It parses the event to retrieve ACTION and a possible PARAMETER.
21           It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
22           (if the resulting path is a directory) or directly as an executable.
23
24           N.B. acpid relies on run-parts so have the latter installed.
25
26 config FEATURE_ACPID_COMPAT
27         bool "Accept and ignore redundant options"
28         default y
29         depends on ACPID
30         help
31           Accept and ignore compatibility options -g -m -s -S -v.
32
33 config BLKID
34         bool "blkid"
35         default y
36         select PLATFORM_LINUX
37         select VOLUMEID
38         help
39           Lists labels and UUIDs of all filesystems.
40           WARNING:
41           With all submodules selected, it will add ~8k to busybox.
42
43 config FEATURE_BLKID_TYPE
44         bool "Print filesystem type"
45         default n
46         depends on BLKID
47         help
48           Show TYPE="filesystem type"
49
50 config DMESG
51         bool "dmesg"
52         default y
53         select PLATFORM_LINUX
54         help
55           dmesg is used to examine or control the kernel ring buffer. When the
56           Linux kernel prints messages to the system log, they are stored in
57           the kernel ring buffer. You can use dmesg to print the kernel's ring
58           buffer, clear the kernel ring buffer, change the size of the kernel
59           ring buffer, and change the priority level at which kernel messages
60           are also logged to the system console. Enable this option if you
61           wish to enable the 'dmesg' utility.
62
63 config FEATURE_DMESG_PRETTY
64         bool "Pretty dmesg output"
65         default y
66         depends on DMESG
67         help
68           If you wish to scrub the syslog level from the output, say 'Y' here.
69           The syslog level is a string prefixed to every line with the form
70           "<#>".
71
72           With this option you will see:
73             # dmesg
74             Linux version 2.6.17.4 .....
75             BIOS-provided physical RAM map:
76              BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
77
78           Without this option you will see:
79             # dmesg
80             <5>Linux version 2.6.17.4 .....
81             <6>BIOS-provided physical RAM map:
82             <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
83
84 config FBSET
85         bool "fbset"
86         default y
87         select PLATFORM_LINUX
88         help
89           fbset is used to show or change the settings of a Linux frame buffer
90           device. The frame buffer device provides a simple and unique
91           interface to access a graphics display. Enable this option
92           if you wish to enable the 'fbset' utility.
93
94 config FEATURE_FBSET_FANCY
95         bool "Turn on extra fbset options"
96         default y
97         depends on FBSET
98         help
99           This option enables extended fbset options, allowing one to set the
100           framebuffer size, color depth, etc. interface to access a graphics
101           display. Enable this option if you wish to enable extended fbset
102           options.
103
104 config FEATURE_FBSET_READMODE
105         bool "Turn on fbset readmode support"
106         default y
107         depends on FBSET
108         help
109           This option allows fbset to read the video mode database stored by
110           default as /etc/fb.modes, which can be used to set frame buffer
111           device to pre-defined video modes.
112
113 config FDFLUSH
114         bool "fdflush"
115         default y
116         select PLATFORM_LINUX
117         help
118           fdflush is only needed when changing media on slightly-broken
119           removable media drives. It is used to make Linux believe that a
120           hardware disk-change switch has been actuated, which causes Linux to
121           forget anything it has cached from the previous media. If you have
122           such a slightly-broken drive, you will need to run fdflush every time
123           you change a disk. Most people have working hardware and can safely
124           leave this disabled.
125
126 config FDFORMAT
127         bool "fdformat"
128         default y
129         select PLATFORM_LINUX
130         help
131           fdformat is used to low-level format a floppy disk.
132
133 config FDISK
134         bool "fdisk"
135         default y
136         select PLATFORM_LINUX
137         help
138           The fdisk utility is used to divide hard disks into one or more
139           logical disks, which are generally called partitions. This utility
140           can be used to list and edit the set of partitions or BSD style
141           'disk slices' that are defined on a hard drive.
142
143 config FDISK_SUPPORT_LARGE_DISKS
144         bool "Support over 4GB disks"
145         default y
146         depends on FDISK
147         depends on !LFS   # with LFS no special code is needed
148         help
149           Enable this option to support large disks > 4GB.
150
151 config FEATURE_FDISK_WRITABLE
152         bool "Write support"
153         default y
154         depends on FDISK
155         help
156           Enabling this option allows you to create or change a partition table
157           and write those changes out to disk. If you leave this option
158           disabled, you will only be able to view the partition table.
159
160 config FEATURE_AIX_LABEL
161         bool "Support AIX disklabels"
162         default n
163         depends on FDISK && FEATURE_FDISK_WRITABLE
164         help
165           Enabling this option allows you to create or change AIX disklabels.
166           Most people can safely leave this option disabled.
167
168 config FEATURE_SGI_LABEL
169         bool "Support SGI disklabels"
170         default n
171         depends on FDISK && FEATURE_FDISK_WRITABLE
172         help
173           Enabling this option allows you to create or change SGI disklabels.
174           Most people can safely leave this option disabled.
175
176 config FEATURE_SUN_LABEL
177         bool "Support SUN disklabels"
178         default n
179         depends on FDISK && FEATURE_FDISK_WRITABLE
180         help
181           Enabling this option allows you to create or change SUN disklabels.
182           Most people can safely leave this option disabled.
183
184 config FEATURE_OSF_LABEL
185         bool "Support BSD disklabels"
186         default n
187         depends on FDISK && FEATURE_FDISK_WRITABLE
188         help
189           Enabling this option allows you to create or change BSD disklabels
190           and define and edit BSD disk slices.
191
192 config FEATURE_GPT_LABEL
193         bool "Support GPT disklabels"
194         default n
195         depends on FDISK && FEATURE_FDISK_WRITABLE
196         help
197           Enabling this option allows you to view GUID Partition Table
198           disklabels.
199
200 config FEATURE_FDISK_ADVANCED
201         bool "Support expert mode"
202         default y
203         depends on FDISK && FEATURE_FDISK_WRITABLE
204         help
205           Enabling this option allows you to do terribly unsafe things like
206           define arbitrary drive geometry, move the beginning of data in a
207           partition, and similarly evil things. Unless you have a very good
208           reason you would be wise to leave this disabled.
209
210 config FINDFS
211         bool "findfs"
212         default y
213         select PLATFORM_LINUX
214         select VOLUMEID
215         help
216           Prints the name of a filesystem with given label or UUID.
217           WARNING:
218           With all submodules selected, it will add ~8k to busybox.
219
220 config FLOCK
221         bool "flock"
222         default y
223         help
224           Manage locks from shell scripts
225
226 config FREERAMDISK
227         bool "freeramdisk"
228         default y
229         select PLATFORM_LINUX
230         help
231           Linux allows you to create ramdisks. This utility allows you to
232           delete them and completely free all memory that was used for the
233           ramdisk. For example, if you boot Linux into a ramdisk and later
234           pivot_root, you may want to free the memory that is allocated to the
235           ramdisk. If you have no use for freeing memory from a ramdisk, leave
236           this disabled.
237
238 config FSCK_MINIX
239         bool "fsck_minix"
240         default y
241         help
242           The minix filesystem is a nice, small, compact, read-write filesystem
243           with little overhead. It is not a journaling filesystem however and
244           can experience corruption if it is not properly unmounted or if the
245           power goes off in the middle of a write. This utility allows you to
246           check for and attempt to repair any corruption that occurs to a minix
247           filesystem.
248
249 config FSTRIM
250         bool "fstrim"
251         default y
252         select PLATFORM_LINUX
253         help
254           Discard unused blocks on a mounted filesystem.
255
256 config MKFS_EXT2
257         bool "mkfs_ext2"
258         default y
259         select PLATFORM_LINUX
260         help
261           Utility to create EXT2 filesystems.
262
263 config MKFS_MINIX
264         bool "mkfs_minix"
265         default y
266         select PLATFORM_LINUX
267         help
268           The minix filesystem is a nice, small, compact, read-write filesystem
269           with little overhead. If you wish to be able to create minix
270           filesystems this utility will do the job for you.
271
272 config FEATURE_MINIX2
273         bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
274         default y
275         depends on FSCK_MINIX || MKFS_MINIX
276         help
277           If you wish to be able to create version 2 minix filesystems, enable
278           this. If you enabled 'mkfs_minix' then you almost certainly want to
279           be using the version 2 filesystem support.
280
281 config MKFS_REISER
282         bool "mkfs_reiser"
283         default n
284         select PLATFORM_LINUX
285         help
286           Utility to create ReiserFS filesystems.
287           Note: this applet needs a lot of testing and polishing.
288
289 config MKFS_VFAT
290         bool "mkfs_vfat"
291         default y
292         select PLATFORM_LINUX
293         help
294           Utility to create FAT32 filesystems.
295
296 config GETOPT
297         bool "getopt"
298         default y
299         help
300           The getopt utility is used to break up (parse) options in command
301           lines to make it easy to write complex shell scripts that also check
302           for legal (and illegal) options. If you want to write horribly
303           complex shell scripts, or use some horribly complex shell script
304           written by others, this utility may be for you. Most people will
305           wisely leave this disabled.
306
307 config FEATURE_GETOPT_LONG
308         bool "Support option -l"
309         default y if LONG_OPTS
310         depends on GETOPT
311         help
312           Enable support for long options (option -l).
313
314 config HEXDUMP
315         bool "hexdump"
316         default y
317         help
318           The hexdump utility is used to display binary data in a readable
319           way that is comparable to the output from most hex editors.
320
321 config FEATURE_HEXDUMP_REVERSE
322         bool "Support -R, reverse of 'hexdump -Cv'"
323         default y
324         depends on HEXDUMP
325         help
326           The hexdump utility is used to display binary data in an ascii
327           readable way. This option creates binary data from an ascii input.
328           NB: this option is non-standard. It's unwise to use it in scripts
329           aimed to be portable.
330
331 config HD
332         bool "hd"
333         default y
334         depends on HEXDUMP
335         help
336           hd is an alias to hexdump -C.
337
338 config HWCLOCK
339         bool "hwclock"
340         default y
341         select PLATFORM_LINUX
342         help
343           The hwclock utility is used to read and set the hardware clock
344           on a system. This is primarily used to set the current time on
345           shutdown in the hardware clock, so the hardware will keep the
346           correct time when Linux is _not_ running.
347
348 config FEATURE_HWCLOCK_LONG_OPTIONS
349         bool "Support long options (--hctosys,...)"
350         default y
351         depends on HWCLOCK && LONG_OPTS
352         help
353           By default, the hwclock utility only uses short options. If you
354           are overly fond of its long options, such as --hctosys, --utc, etc)
355           then enable this option.
356
357 config FEATURE_HWCLOCK_ADJTIME_FHS
358         bool "Use FHS /var/lib/hwclock/adjtime"
359         default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime
360         depends on HWCLOCK
361         help
362           Starting with FHS 2.3, the adjtime state file is supposed to exist
363           at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
364           to use the FHS behavior, answer Y here, otherwise answer N for the
365           classic /etc/adjtime path.
366
367           pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
368
369 config IPCRM
370         bool "ipcrm"
371         default y
372         help
373           The ipcrm utility allows the removal of System V interprocess
374           communication (IPC) objects and the associated data structures
375           from the system.
376
377 config IPCS
378         bool "ipcs"
379         default y
380         select PLATFORM_LINUX
381         help
382           The ipcs utility is used to provide information on the currently
383           allocated System V interprocess (IPC) objects in the system.
384
385 config LOSETUP
386         bool "losetup"
387         default y
388         select PLATFORM_LINUX
389         help
390           losetup is used to associate or detach a loop device with a regular
391           file or block device, and to query the status of a loop device. This
392           version does not currently support enabling data encryption.
393
394 config LSPCI
395         bool "lspci"
396         default y
397         #select PLATFORM_LINUX
398         help
399           lspci is a utility for displaying information about PCI buses in the
400           system and devices connected to them.
401
402           This version uses sysfs (/sys/bus/pci/devices) only.
403
404 config LSUSB
405         bool "lsusb"
406         default y
407         #select PLATFORM_LINUX
408         help
409           lsusb is a utility for displaying information about USB buses in the
410           system and devices connected to them.
411
412           This version uses sysfs (/sys/bus/usb/devices) only.
413
414 config MKSWAP
415         bool "mkswap"
416         default y
417         help
418           The mkswap utility is used to configure a file or disk partition as
419           Linux swap space. This allows Linux to use the entire file or
420           partition as if it were additional RAM, which can greatly increase
421           the capability of low-memory machines. This additional memory is
422           much slower than real RAM, but can be very helpful at preventing your
423           applications being killed by the Linux out of memory (OOM) killer.
424           Once you have created swap space using 'mkswap' you need to enable
425           the swap space using the 'swapon' utility.
426
427 config FEATURE_MKSWAP_UUID
428         bool "UUID support"
429         default y
430         depends on MKSWAP
431         help
432           Generate swap spaces with universally unique identifiers.
433
434 config MORE
435         bool "more"
436         default y
437         help
438           more is a simple utility which allows you to read text one screen
439           sized page at a time. If you want to read text that is larger than
440           the screen, and you are using anything faster than a 300 baud modem,
441           you will probably find this utility very helpful. If you don't have
442           any need to reading text files, you can leave this disabled.
443
444 config MOUNT
445         bool "mount"
446         default y
447         select PLATFORM_LINUX
448         help
449           All files and filesystems in Unix are arranged into one big directory
450           tree. The 'mount' utility is used to graft a filesystem onto a
451           particular part of the tree. A filesystem can either live on a block
452           device, or it can be accessible over the network, as is the case with
453           NFS filesystems. Most people using BusyBox will also want to enable
454           the 'mount' utility.
455
456 config FEATURE_MOUNT_FAKE
457         bool "Support option -f"
458         default y
459         depends on MOUNT
460         help
461           Enable support for faking a file system mount.
462
463 config FEATURE_MOUNT_VERBOSE
464         bool "Support option -v"
465         default y
466         depends on MOUNT
467         help
468           Enable multi-level -v[vv...] verbose messages. Useful if you
469           debug mount problems and want to see what is exactly passed
470           to the kernel.
471
472 config FEATURE_MOUNT_HELPERS
473         bool "Support mount helpers"
474         default n
475         depends on MOUNT
476         help
477           Enable mounting of virtual file systems via external helpers.
478           E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
479           "obexfs -b00.11.22.33.44.55 /mnt"
480           Also "mount -t sometype [-o opts] fs /mnt" will try
481           "sometype [-o opts] fs /mnt" if simple mount syscall fails.
482           The idea is to use such virtual filesystems in /etc/fstab.
483
484 config FEATURE_MOUNT_LABEL
485         bool "Support specifying devices by label or UUID"
486         default y
487         depends on MOUNT
488         select VOLUMEID
489         help
490           This allows for specifying a device by label or uuid, rather than by
491           name. This feature utilizes the same functionality as blkid/findfs.
492           This also enables label or uuid support for swapon.
493
494 config FEATURE_MOUNT_NFS
495         bool "Support mounting NFS file systems on Linux < 2.6.23"
496         default n
497         depends on MOUNT
498         select FEATURE_HAVE_RPC
499         select FEATURE_SYSLOG
500         help
501           Enable mounting of NFS file systems on Linux kernels prior
502           to version 2.6.23. Note that in this case mounting of NFS
503           over IPv6 will not be possible.
504
505           Note that this option links in RPC support from libc,
506           which is rather large (~10 kbytes on uclibc).
507
508 config FEATURE_MOUNT_CIFS
509         bool "Support mounting CIFS/SMB file systems"
510         default y
511         depends on MOUNT
512         help
513           Enable support for samba mounts.
514
515 config FEATURE_MOUNT_FLAGS
516         depends on MOUNT
517         bool "Support lots of -o flags in mount"
518         default y
519         help
520           Without this, mount only supports ro/rw/remount. With this, it
521           supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
522           noatime, diratime, nodiratime, loud, bind, move, shared, slave,
523           private, unbindable, rshared, rslave, rprivate, and runbindable.
524
525 config FEATURE_MOUNT_FSTAB
526         depends on MOUNT
527         bool "Support /etc/fstab and -a"
528         default y
529         help
530           Support mount all and looking for files in /etc/fstab.
531
532 config PIVOT_ROOT
533         bool "pivot_root"
534         default y
535         select PLATFORM_LINUX
536         help
537           The pivot_root utility swaps the mount points for the root filesystem
538           with some other mounted filesystem. This allows you to do all sorts
539           of wild and crazy things with your Linux system and is far more
540           powerful than 'chroot'.
541
542           Note: This is for initrd in linux 2.4. Under initramfs (introduced
543           in linux 2.6) use switch_root instead.
544
545 config RDATE
546         bool "rdate"
547         default y
548         help
549           The rdate utility allows you to synchronize the date and time of your
550           system clock with the date and time of a remote networked system using
551           the RFC868 protocol, which is built into the inetd daemon on most
552           systems.
553
554 config RDEV
555         bool "rdev"
556         default y
557         help
558           Print the device node associated with the filesystem mounted at '/'.
559
560 config READPROFILE
561         bool "readprofile"
562         default y
563         #select PLATFORM_LINUX
564         help
565           This allows you to parse /proc/profile for basic profiling.
566
567 config RTCWAKE
568         bool "rtcwake"
569         default y
570         select PLATFORM_LINUX
571         help
572           Enter a system sleep state until specified wakeup time.
573
574 config SCRIPT
575         bool "script"
576         default y
577         help
578           The script makes typescript of terminal session.
579
580 config SCRIPTREPLAY
581         bool "scriptreplay"
582         default y
583         help
584           This program replays a typescript, using timing information
585           given by script -t.
586
587 config SETARCH
588         bool "setarch"
589         default y
590         select PLATFORM_LINUX
591         help
592           The linux32 utility is used to create a 32bit environment for the
593           specified program (usually a shell). It only makes sense to have
594           this util on a system that supports both 64bit and 32bit userland
595           (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
596
597 config SWAPONOFF
598         bool "swaponoff"
599         default y
600         select PLATFORM_LINUX
601         help
602           This option enables both the 'swapon' and the 'swapoff' utilities.
603           Once you have created some swap space using 'mkswap', you also need
604           to enable your swap space with the 'swapon' utility. The 'swapoff'
605           utility is used, typically at system shutdown, to disable any swap
606           space. If you are not using any swap space, you can leave this
607           option disabled.
608
609 config FEATURE_SWAPON_PRI
610         bool "Support priority option -p"
611         default y
612         depends on SWAPONOFF
613         help
614           Enable support for setting swap device priority in swapon.
615
616 config SWITCH_ROOT
617         bool "switch_root"
618         default y
619         select PLATFORM_LINUX
620         help
621           The switch_root utility is used from initramfs to select a new
622           root device. Under initramfs, you have to use this instead of
623           pivot_root. (Stop reading here if you don't care why.)
624
625           Booting with initramfs extracts a gzipped cpio archive into rootfs
626           (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
627           or unmounted*, pivot_root will not work from initramfs. Instead,
628           switch_root deletes everything out of rootfs (including itself),
629           does a mount --move that overmounts rootfs with the new root, and
630           then execs the specified init program.
631
632           * Because the Linux kernel uses rootfs internally as the starting
633           and ending point for searching through the kernel's doubly linked
634           list of active mount points. That's why.
635
636 config UMOUNT
637         bool "umount"
638         default y
639         select PLATFORM_LINUX
640         help
641           When you want to remove a mounted filesystem from its current mount
642           point, for example when you are shutting down the system, the
643           'umount' utility is the tool to use. If you enabled the 'mount'
644           utility, you almost certainly also want to enable 'umount'.
645
646 config FEATURE_UMOUNT_ALL
647         bool "Support option -a"
648         default y
649         depends on UMOUNT
650         help
651           Support -a option to unmount all currently mounted filesystems.
652
653 comment "Common options for mount/umount"
654         depends on MOUNT || UMOUNT
655
656 config FEATURE_MOUNT_LOOP
657         bool "Support loopback mounts"
658         default y
659         depends on MOUNT || UMOUNT
660         help
661           Enabling this feature allows automatic mounting of files (containing
662           filesystem images) via the linux kernel's loopback devices.
663           The mount command will detect you are trying to mount a file instead
664           of a block device, and transparently associate the file with a
665           loopback device. The umount command will also free that loopback
666           device.
667
668           You can still use the 'losetup' utility (to manually associate files
669           with loop devices) if you need to do something advanced, such as
670           specify an offset or cryptographic options to the loopback device.
671           (If you don't want umount to free the loop device, use "umount -D".)
672
673 config FEATURE_MOUNT_LOOP_CREATE
674         bool "Create new loopback devices if needed"
675         default y
676         depends on FEATURE_MOUNT_LOOP
677         help
678           Linux kernels >= 2.6.24 support unlimited loopback devices. They are
679           allocated for use when trying to use a loop device. The loop device
680           must however exist.
681
682           This feature lets mount to try to create next /dev/loopN device
683           if it does not find a free one.
684
685 config FEATURE_MTAB_SUPPORT
686         bool "Support for the old /etc/mtab file"
687         default n
688         depends on MOUNT || UMOUNT
689         select FEATURE_MOUNT_FAKE
690         help
691           Historically, Unix systems kept track of the currently mounted
692           partitions in the file "/etc/mtab". These days, the kernel exports
693           the list of currently mounted partitions in "/proc/mounts", rendering
694           the old mtab file obsolete. (In modern systems, /etc/mtab should be
695           a symlink to /proc/mounts.)
696
697           The only reason to have mount maintain an /etc/mtab file itself is if
698           your stripped-down embedded system does not have a /proc directory.
699           If you must use this, keep in mind it's inherently brittle (for
700           example a mount under chroot won't update it), can't handle modern
701           features like separate per-process filesystem namespaces, requires
702           that your /etc directory be writable, tends to get easily confused
703           by --bind or --move mounts, won't update if you rename a directory
704           that contains a mount point, and so on. (In brief: avoid.)
705
706           About the only reason to use this is if you've removed /proc from
707           your kernel.
708
709 source util-linux/volume_id/Config.in
710
711 endmenu