build system overhaul
[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 HWCLOCK
214         bool "hwclock"
215         default n
216         help
217           The hwclock utility is used to read and set the hardware clock
218           on a system.  This is primarily used to set the current time on
219           shutdown in the hardware clock, so the hardware will keep the
220           correct time when Linux is _not_ running.
221
222 config FEATURE_HWCLOCK_LONG_OPTIONS
223         bool "Support long options (--hctosys,...)"
224         default n
225         depends on HWCLOCK && GETOPT_LONG
226         help
227           By default, the hwclock utility only uses short options.  If you
228           are overly fond of its long options, such as --hctosys, --utc, etc)
229           then enable this option.
230
231 config FEATURE_HWCLOCK_ADJTIME_FHS
232         bool "Use FHS /var/lib/hwclock/adjtime"
233         default y
234         depends on HWCLOCK
235         help
236           Starting with FHS 2.3, the adjtime state file is supposed to exist
237           at /var/lib/hwclock/adjtime instead of /etc/adjtime.  If you wish
238           to use the FHS behavior, answer Y here, otherwise answer N for the
239           classic /etc/adjtime path.
240
241           http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
242
243 config IPCRM
244         bool "ipcrm"
245         default n
246         select FEATURE_SUID
247         help
248           The ipcrm utility allows the removal of System V interprocess
249           communication (IPC) objects and the associated data structures
250           from the system.
251
252 config IPCS
253         bool "ipcs"
254         default n
255         select FEATURE_SUID
256         help
257           The ipcs utility is used to provide information on the currently
258           allocated System V interprocess (IPC) objects in the system.
259
260 config LOSETUP
261         bool "losetup"
262         default n
263         help
264           losetup is used to associate or detach a loop device with a regular
265           file or block device, and to query the status of a loop device.  This
266           version does not currently support enabling data encryption.
267
268 config MDEV
269         bool "mdev"
270         default n
271         help
272           mdev is a mini-udev implementation: call it with -s to populate
273           /dev from /sys, then "echo /sbin/mdev > /proc/sys/kernel/hotplug" to
274           have it handle hotplug events afterwards.  Device names are taken
275           from sysfs.
276
277 config FEATURE_MDEV_CONF
278         bool "Support /etc/mdev.conf"
279         default n
280         depends on MDEV
281         help
282           The mdev config file contains lines that look like:
283
284             hd[a-z][0-9]* 0:3 660
285
286           That's device name (with regex match), uid:gid, and permissions.
287
288           Config file parsing stops on the first matching line.  If no config
289           entry is matched, devices are created with default 0:0 660.  (Make
290           the last line match .* to override this.)
291
292 config FEATURE_MDEV_EXEC
293         bool "Support command execution at device addition/removal"
294         default n
295         depends on FEATURE_MDEV_CONF
296         help
297           This adds support for an optional field to /etc/mdev.conf, consisting
298           of a special character and a command line to run after creating the
299           corresponding device(s) and before removing, ala:
300
301             hdc root:cdrom 660  *ln -s $MDEV cdrom
302
303           The $MDEV environment variable is set to the name of the device.
304
305           The special characters and their meanings are:
306             @ Run after creating the device.
307             $ Run before removing the device.
308             * Run both after creating and before removing the device.
309
310           Commands are executed via system() so you need /bin/sh, meaning you
311           probably want to select a default shell in the Shells menu.
312
313 config MKSWAP
314         bool "mkswap"
315         default n
316         help
317           The mkswap utility is used to configure a file or disk partition as
318           Linux swap space.  This allows Linux to use the entire file or
319           partition as if it were additional RAM, which can greatly increase
320           the capability of low-memory machines.  This additional memory is
321           much slower than real RAM, but can be very helpful at preventing your
322           applications being killed by the Linux out of memory (OOM) killer.
323           Once you have created swap space using 'mkswap' you need to enable
324           the swap space using the 'swapon' utility.
325
326 config FEATURE_MKSWAP_V0
327         bool "version 0 support"
328         default n
329         depends on MKSWAP
330 #       depends on MKSWAP && DEPRECATED
331         help
332           Enable support for the old v0 style.
333           If your kernel is older than 2.1.117, then v0 support is the
334           only option.
335
336 config MORE
337         bool "more"
338         default n
339         help
340           more is a simple utility which allows you to read text one screen
341           sized page at a time.  If you want to read text that is larger than
342           the screen, and you are using anything faster than a 300 baud modem,
343           you will probably find this utility very helpful.  If you don't have
344           any need to reading text files, you can leave this disabled.
345
346 config FEATURE_USE_TERMIOS
347         bool "Use termios to manipulate the screen"
348         default y
349         depends on MORE
350         help
351           This option allows utilities such as 'more' and 'top' to determine
352           the size of the screen.  If you leave this disabled, your utilities
353           that display things on the screen will be especially primitive and
354           will be unable to determine the current screen size, and will be
355           unable to move the cursor.
356
357 config MOUNT
358         bool "mount"
359         default n
360         help
361           All files and filesystems in Unix are arranged into one big directory
362           tree.  The 'mount' utility is used to graft a filesystem onto a
363           particular part of the tree.  A filesystem can either live on a block
364           device, or it can be accessible over the network, as is the case with
365           NFS filesystems.  Most people using BusyBox will also want to enable
366           the 'mount' utility.
367
368 config FEATURE_MOUNT_NFS
369         bool "Support mounting NFS file systems"
370         default n
371         depends on MOUNT
372         select FEATURE_SYSLOG
373         help
374           Enable mounting of NFS file systems.
375
376 config FEATURE_MOUNT_CIFS
377         bool "Support mounting CIFS/SMB file systems"
378         default n
379         depends on MOUNT
380         help
381           Enable support for samba mounts.
382
383 config FEATURE_MOUNT_FLAGS
384         depends on MOUNT
385         bool "Support lots of -o flags in mount"
386         default y
387         help
388           Without this, mount only supports ro/rw/remount.  With this, it
389           supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
390           noatime, diratime, nodiratime, loud, bind, move, shared, slave,
391           private, unbindable, rshared, rslave, rprivate, and runbindable.
392
393 config FEATURE_MOUNT_FSTAB
394         depends on MOUNT
395         bool "Support /etc/fstab and -a"
396         default y
397         help
398           Support mount all and looking for files in /etc/fstab.
399
400 config PIVOT_ROOT
401         bool "pivot_root"
402         default n
403         help
404           The pivot_root utility swaps the mount points for the root filesystem
405           with some other mounted filesystem.  This allows you to do all sorts
406           of wild and crazy things with your Linux system and is far more
407           powerful than 'chroot'.
408
409           Note: This is for initrd in linux 2.4.  Under initramfs (introduced
410           in linux 2.6) use switch_root instead.
411
412 config RDATE
413         bool "rdate"
414         default n
415         help
416           The rdate utility allows you to synchronize the date and time of your
417           system clock with the date and time of a remote networked system using
418           the RFC868 protocol, which is built into the inetd daemon on most
419           systems.
420
421 config READPROFILE
422         bool "readprofile"
423         default n
424         help
425           This allows you to parse /proc/profile for basic profiling.
426
427 config SETARCH
428         bool "setarch"
429         default n
430         help
431           The linux32 utility is used to create a 32bit environment for the
432           specified program (usually a shell).  It only makes sense to have
433           this util on a system that supports both 64bit and 32bit userland
434           (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
435
436 config SWAPONOFF
437         bool "swaponoff"
438         default n
439         help
440           This option enables both the 'swapon' and the 'swapoff' utilities.
441           Once you have created some swap space using 'mkswap', you also need
442           to enable your swap space with the 'swapon' utility.  The 'swapoff'
443           utility is used, typically at system shutdown, to disable any swap
444           space.  If you are not using any swap space, you can leave this
445           option disabled.
446
447 config SWITCH_ROOT
448         bool "switch_root"
449         default n
450         help
451           The switch_root utility is used from initramfs to select a new
452           root device.  Under initramfs, you have to use this instead of
453           pivot_root.  (Stop reading here if you don't care why.)
454
455           Booting with initramfs extracts a gzipped cpio archive into rootfs
456           (which is a variant of ramfs/tmpfs).  Because rootfs can't be moved
457           or unmounted*, pivot_root will not work from initramfs.  Instead,
458           switch_root deletes everything out of rootfs (including itself),
459           does a mount --move that overmounts rootfs with the new root, and
460           then execs the specified init program.
461
462           * Because the Linux kernel uses rootfs internally as the starting
463           and ending point for searching through the kernel's doubly linked
464           list of active mount points.  That's why.
465
466 config UMOUNT
467         bool "umount"
468         default n
469         help
470           When you want to remove a mounted filesystem from its current mount point,
471           for example when you are shutting down the system, the 'umount' utility is
472           the tool to use.  If you enabled the 'mount' utility, you almost certainly
473           also want to enable 'umount'.
474
475 config FEATURE_UMOUNT_ALL
476         bool "umount -a option"
477         default n
478         depends on UMOUNT
479         help
480           Support -a option to unmount all currently mounted filesystems.
481
482 comment "Common options for mount/umount"
483         depends on MOUNT || UMOUNT
484
485 config FEATURE_MOUNT_LOOP
486         bool "Support loopback mounts"
487         default n
488         depends on MOUNT || UMOUNT
489         help
490           Enabling this feature allows automatic mounting of files (containing
491           filesystem images) via the linux kernel's loopback devices.  The mount
492           command will detect you are trying to mount a file instead of a block
493           device, and transparently associate the file with a loopback device.
494           The umount command will also free that loopback device.
495
496           You can still use the 'losetup' utility (to manually associate files
497           with loop devices) if you need to do something advanced, such as
498           specify an offset or cryptographic options to the loopback device.
499           (If you don't want umount to free the loop device, use "umount -D".)
500
501 config FEATURE_MTAB_SUPPORT
502         bool "Support for the old /etc/mtab file"
503         default n
504         depends on MOUNT || UMOUNT
505         help
506           Historically, Unix systems kept track of the currently mounted
507           partitions in the file "/etc/mtab".  These days, the kernel exports
508           the list of currently mounted partitions in "/proc/mounts", rendering
509           the old mtab file obsolete.  (In modern systems, /etc/mtab should be
510           a symlink to /proc/mounts.)
511
512           The only reason to have mount maintain an /etc/mtab file itself is if
513           your stripped-down embedded system does not have a /proc directory.
514           If you must use this, keep in mind it's inherently brittle (for
515           example a mount under chroot won't update it), can't handle modern
516           features like separate per-process filesystem namespaces, requires
517           that your /etc directory be writeable, tends to get easily confused
518           by --bind or --move mounts, won't update if you rename a directory
519           that contains a mount point, and so on.  (In brief: avoid.)
520
521           About the only reason to use this is if you've removed /proc from
522           your kernel.
523
524 endmenu
525