Make mke2fs and mkfs.ext2 individually selectable
[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 MKFS_MINIX
250         bool "mkfs_minix"
251         default y
252         select PLATFORM_LINUX
253         help
254           The minix filesystem is a nice, small, compact, read-write filesystem
255           with little overhead. If you wish to be able to create minix
256           filesystems this utility will do the job for you.
257
258 config FEATURE_MINIX2
259         bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
260         default y
261         depends on FSCK_MINIX || MKFS_MINIX
262         help
263           If you wish to be able to create version 2 minix filesystems, enable
264           this. If you enabled 'mkfs_minix' then you almost certainly want to
265           be using the version 2 filesystem support.
266
267 config MKFS_REISER
268         bool "mkfs_reiser"
269         default n
270         select PLATFORM_LINUX
271         help
272           Utility to create ReiserFS filesystems.
273           Note: this applet needs a lot of testing and polishing.
274
275 config MKFS_VFAT
276         bool "mkfs_vfat"
277         default y
278         select PLATFORM_LINUX
279         help
280           Utility to create FAT32 filesystems.
281
282 config GETOPT
283         bool "getopt"
284         default y
285         help
286           The getopt utility is used to break up (parse) options in command
287           lines to make it easy to write complex shell scripts that also check
288           for legal (and illegal) options. If you want to write horribly
289           complex shell scripts, or use some horribly complex shell script
290           written by others, this utility may be for you. Most people will
291           wisely leave this disabled.
292
293 config FEATURE_GETOPT_LONG
294         bool "Support option -l"
295         default y if LONG_OPTS
296         depends on GETOPT
297         help
298           Enable support for long options (option -l).
299
300 config HEXDUMP
301         bool "hexdump"
302         default y
303         help
304           The hexdump utility is used to display binary data in a readable
305           way that is comparable to the output from most hex editors.
306
307 config FEATURE_HEXDUMP_REVERSE
308         bool "Support -R, reverse of 'hexdump -Cv'"
309         default y
310         depends on HEXDUMP
311         help
312           The hexdump utility is used to display binary data in an ascii
313           readable way. This option creates binary data from an ascii input.
314           NB: this option is non-standard. It's unwise to use it in scripts
315           aimed to be portable.
316
317 config HD
318         bool "hd"
319         default y
320         depends on HEXDUMP
321         help
322           hd is an alias to hexdump -C.
323
324 config HWCLOCK
325         bool "hwclock"
326         default y
327         select PLATFORM_LINUX
328         help
329           The hwclock utility is used to read and set the hardware clock
330           on a system. This is primarily used to set the current time on
331           shutdown in the hardware clock, so the hardware will keep the
332           correct time when Linux is _not_ running.
333
334 config FEATURE_HWCLOCK_LONG_OPTIONS
335         bool "Support long options (--hctosys,...)"
336         default y
337         depends on HWCLOCK && LONG_OPTS
338         help
339           By default, the hwclock utility only uses short options. If you
340           are overly fond of its long options, such as --hctosys, --utc, etc)
341           then enable this option.
342
343 config FEATURE_HWCLOCK_ADJTIME_FHS
344         bool "Use FHS /var/lib/hwclock/adjtime"
345         default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime
346         depends on HWCLOCK
347         help
348           Starting with FHS 2.3, the adjtime state file is supposed to exist
349           at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
350           to use the FHS behavior, answer Y here, otherwise answer N for the
351           classic /etc/adjtime path.
352
353           pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
354
355 config IPCRM
356         bool "ipcrm"
357         default y
358         help
359           The ipcrm utility allows the removal of System V interprocess
360           communication (IPC) objects and the associated data structures
361           from the system.
362
363 config IPCS
364         bool "ipcs"
365         default y
366         select PLATFORM_LINUX
367         help
368           The ipcs utility is used to provide information on the currently
369           allocated System V interprocess (IPC) objects in the system.
370
371 config LOSETUP
372         bool "losetup"
373         default y
374         select PLATFORM_LINUX
375         help
376           losetup is used to associate or detach a loop device with a regular
377           file or block device, and to query the status of a loop device. This
378           version does not currently support enabling data encryption.
379
380 config LSPCI
381         bool "lspci"
382         default y
383         #select PLATFORM_LINUX
384         help
385           lspci is a utility for displaying information about PCI buses in the
386           system and devices connected to them.
387
388           This version uses sysfs (/sys/bus/pci/devices) only.
389
390 config LSUSB
391         bool "lsusb"
392         default y
393         #select PLATFORM_LINUX
394         help
395           lsusb is a utility for displaying information about USB buses in the
396           system and devices connected to them.
397
398           This version uses sysfs (/sys/bus/usb/devices) only.
399
400 config MKSWAP
401         bool "mkswap"
402         default y
403         help
404           The mkswap utility is used to configure a file or disk partition as
405           Linux swap space. This allows Linux to use the entire file or
406           partition as if it were additional RAM, which can greatly increase
407           the capability of low-memory machines. This additional memory is
408           much slower than real RAM, but can be very helpful at preventing your
409           applications being killed by the Linux out of memory (OOM) killer.
410           Once you have created swap space using 'mkswap' you need to enable
411           the swap space using the 'swapon' utility.
412
413 config FEATURE_MKSWAP_UUID
414         bool "UUID support"
415         default y
416         depends on MKSWAP
417         help
418           Generate swap spaces with universally unique identifiers.
419
420 config MORE
421         bool "more"
422         default y
423         help
424           more is a simple utility which allows you to read text one screen
425           sized page at a time. If you want to read text that is larger than
426           the screen, and you are using anything faster than a 300 baud modem,
427           you will probably find this utility very helpful. If you don't have
428           any need to reading text files, you can leave this disabled.
429
430 config PIVOT_ROOT
431         bool "pivot_root"
432         default y
433         select PLATFORM_LINUX
434         help
435           The pivot_root utility swaps the mount points for the root filesystem
436           with some other mounted filesystem. This allows you to do all sorts
437           of wild and crazy things with your Linux system and is far more
438           powerful than 'chroot'.
439
440           Note: This is for initrd in linux 2.4. Under initramfs (introduced
441           in linux 2.6) use switch_root instead.
442
443 config RDATE
444         bool "rdate"
445         default y
446         help
447           The rdate utility allows you to synchronize the date and time of your
448           system clock with the date and time of a remote networked system using
449           the RFC868 protocol, which is built into the inetd daemon on most
450           systems.
451
452 config RDEV
453         bool "rdev"
454         default y
455         help
456           Print the device node associated with the filesystem mounted at '/'.
457
458 config READPROFILE
459         bool "readprofile"
460         default y
461         #select PLATFORM_LINUX
462         help
463           This allows you to parse /proc/profile for basic profiling.
464
465 config RTCWAKE
466         bool "rtcwake"
467         default y
468         select PLATFORM_LINUX
469         help
470           Enter a system sleep state until specified wakeup time.
471
472 config SCRIPT
473         bool "script"
474         default y
475         help
476           The script makes typescript of terminal session.
477
478 config SCRIPTREPLAY
479         bool "scriptreplay"
480         default y
481         help
482           This program replays a typescript, using timing information
483           given by script -t.
484
485 config SWITCH_ROOT
486         bool "switch_root"
487         default y
488         select PLATFORM_LINUX
489         help
490           The switch_root utility is used from initramfs to select a new
491           root device. Under initramfs, you have to use this instead of
492           pivot_root. (Stop reading here if you don't care why.)
493
494           Booting with initramfs extracts a gzipped cpio archive into rootfs
495           (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
496           or unmounted*, pivot_root will not work from initramfs. Instead,
497           switch_root deletes everything out of rootfs (including itself),
498           does a mount --move that overmounts rootfs with the new root, and
499           then execs the specified init program.
500
501           * Because the Linux kernel uses rootfs internally as the starting
502           and ending point for searching through the kernel's doubly linked
503           list of active mount points. That's why.
504
505 config UMOUNT
506         bool "umount"
507         default y
508         select PLATFORM_LINUX
509         help
510           When you want to remove a mounted filesystem from its current mount
511           point, for example when you are shutting down the system, the
512           'umount' utility is the tool to use. If you enabled the 'mount'
513           utility, you almost certainly also want to enable 'umount'.
514
515 config FEATURE_UMOUNT_ALL
516         bool "Support option -a"
517         default y
518         depends on UMOUNT
519         help
520           Support -a option to unmount all currently mounted filesystems.
521
522 comment "Common options for mount/umount"
523         depends on MOUNT || UMOUNT
524
525 config FEATURE_MOUNT_LOOP
526         bool "Support loopback mounts"
527         default y
528         depends on MOUNT || UMOUNT
529         help
530           Enabling this feature allows automatic mounting of files (containing
531           filesystem images) via the linux kernel's loopback devices.
532           The mount command will detect you are trying to mount a file instead
533           of a block device, and transparently associate the file with a
534           loopback device. The umount command will also free that loopback
535           device.
536
537           You can still use the 'losetup' utility (to manually associate files
538           with loop devices) if you need to do something advanced, such as
539           specify an offset or cryptographic options to the loopback device.
540           (If you don't want umount to free the loop device, use "umount -D".)
541
542 config FEATURE_MOUNT_LOOP_CREATE
543         bool "Create new loopback devices if needed"
544         default y
545         depends on FEATURE_MOUNT_LOOP
546         help
547           Linux kernels >= 2.6.24 support unlimited loopback devices. They are
548           allocated for use when trying to use a loop device. The loop device
549           must however exist.
550
551           This feature lets mount to try to create next /dev/loopN device
552           if it does not find a free one.
553
554 config FEATURE_MTAB_SUPPORT
555         bool "Support for the old /etc/mtab file"
556         default n
557         depends on MOUNT || UMOUNT
558         select FEATURE_MOUNT_FAKE
559         help
560           Historically, Unix systems kept track of the currently mounted
561           partitions in the file "/etc/mtab". These days, the kernel exports
562           the list of currently mounted partitions in "/proc/mounts", rendering
563           the old mtab file obsolete. (In modern systems, /etc/mtab should be
564           a symlink to /proc/mounts.)
565
566           The only reason to have mount maintain an /etc/mtab file itself is if
567           your stripped-down embedded system does not have a /proc directory.
568           If you must use this, keep in mind it's inherently brittle (for
569           example a mount under chroot won't update it), can't handle modern
570           features like separate per-process filesystem namespaces, requires
571           that your /etc directory be writable, tends to get easily confused
572           by --bind or --move mounts, won't update if you rename a directory
573           that contains a mount point, and so on. (In brief: avoid.)
574
575           About the only reason to use this is if you've removed /proc from
576           your kernel.
577
578 source util-linux/volume_id/Config.in
579
580 endmenu