7d8e94890a7273a3c3ab9d2ae54d03acf42063b0
[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 for dynamically creating device
273           nodes in the /dev directory.
274
275           For more information, please see docs/mdev.txt
276
277 config FEATURE_MDEV_CONF
278         bool "Support /etc/mdev.conf"
279         default n
280         depends on MDEV
281         help
282           Add support for the mdev config file to control ownership and
283           permissions of the device nodes.
284
285           For more information, please see docs/mdev.txt
286
287 config FEATURE_MDEV_EXEC
288         bool "Support command execution at device addition/removal"
289         default n
290         depends on FEATURE_MDEV_CONF
291         help
292           This adds support for an optional field to /etc/mdev.conf for
293           executing commands when devices are created/removed.
294
295           For more information, please see docs/mdev.txt
296
297 config FEATURE_MDEV_LOAD_FIRMWARE
298         bool "Support loading of firmwares"
299         default n
300         depends on MDEV
301         help
302           Some devices need to load firmware before they can be usable.
303
304           These devices will request userspace look up the files in
305           /lib/firmware/ and if it exists, send it to the kernel for
306           loading into the hardware.
307
308 config MICROCOM
309         bool "microcom"
310         default n
311         help
312           The poor man's minicom utility for chatting with serial port devices.
313
314 config MKSWAP
315         bool "mkswap"
316         default n
317         help
318           The mkswap utility is used to configure a file or disk partition as
319           Linux swap space.  This allows Linux to use the entire file or
320           partition as if it were additional RAM, which can greatly increase
321           the capability of low-memory machines.  This additional memory is
322           much slower than real RAM, but can be very helpful at preventing your
323           applications being killed by the Linux out of memory (OOM) killer.
324           Once you have created swap space using 'mkswap' you need to enable
325           the swap space using the 'swapon' utility.
326
327 config FEATURE_MKSWAP_V0
328         bool "version 0 support"
329         default n
330         depends on MKSWAP
331 #       depends on MKSWAP && DEPRECATED
332         help
333           Enable support for the old v0 style.
334           If your kernel is older than 2.1.117, then v0 support is the
335           only option.
336
337 config MORE
338         bool "more"
339         default n
340         help
341           more is a simple utility which allows you to read text one screen
342           sized page at a time.  If you want to read text that is larger than
343           the screen, and you are using anything faster than a 300 baud modem,
344           you will probably find this utility very helpful.  If you don't have
345           any need to reading text files, you can leave this disabled.
346
347 config FEATURE_USE_TERMIOS
348         bool "Use termios to manipulate the screen"
349         default y
350         depends on MORE
351         help
352           This option allows utilities such as 'more' and 'top' to determine
353           the size of the screen.  If you leave this disabled, your utilities
354           that display things on the screen will be especially primitive and
355           will be unable to determine the current screen size, and will be
356           unable to move the cursor.
357
358 config MOUNT
359         bool "mount"
360         default n
361         help
362           All files and filesystems in Unix are arranged into one big directory
363           tree.  The 'mount' utility is used to graft a filesystem onto a
364           particular part of the tree.  A filesystem can either live on a block
365           device, or it can be accessible over the network, as is the case with
366           NFS filesystems.  Most people using BusyBox will also want to enable
367           the 'mount' utility.
368
369 config FEATURE_MOUNT_HELPERS
370         bool "Support mount helpers"
371         default n
372         depends on MOUNT
373         help
374           Enable mounting of virtual file systems via external helpers.
375           E.g. mount obexfs#-b00.11.22.33.44.55 /mnt will in effect call
376           obexfs -b00.11.22.33.44.55 /mnt
377           The idea is to use such virtual filesystems in /etc/fstab
378
379 config FEATURE_MOUNT_NFS
380         bool "Support mounting NFS file systems"
381         default n
382         depends on MOUNT
383         select FEATURE_HAVE_RPC
384         select FEATURE_SYSLOG
385         help
386           Enable mounting of NFS file systems.
387
388 config FEATURE_MOUNT_CIFS
389         bool "Support mounting CIFS/SMB file systems"
390         default n
391         depends on MOUNT
392         help
393           Enable support for samba mounts.
394
395 config FEATURE_MOUNT_FLAGS
396         depends on MOUNT
397         bool "Support lots of -o flags in mount"
398         default y
399         help
400           Without this, mount only supports ro/rw/remount.  With this, it
401           supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
402           noatime, diratime, nodiratime, loud, bind, move, shared, slave,
403           private, unbindable, rshared, rslave, rprivate, and runbindable.
404
405 config FEATURE_MOUNT_FSTAB
406         depends on MOUNT
407         bool "Support /etc/fstab and -a"
408         default y
409         help
410           Support mount all and looking for files in /etc/fstab.
411
412 config PIVOT_ROOT
413         bool "pivot_root"
414         default n
415         help
416           The pivot_root utility swaps the mount points for the root filesystem
417           with some other mounted filesystem.  This allows you to do all sorts
418           of wild and crazy things with your Linux system and is far more
419           powerful than 'chroot'.
420
421           Note: This is for initrd in linux 2.4.  Under initramfs (introduced
422           in linux 2.6) use switch_root instead.
423
424 config RDATE
425         bool "rdate"
426         default n
427         help
428           The rdate utility allows you to synchronize the date and time of your
429           system clock with the date and time of a remote networked system using
430           the RFC868 protocol, which is built into the inetd daemon on most
431           systems.
432
433 config READPROFILE
434         bool "readprofile"
435         default n
436         help
437           This allows you to parse /proc/profile for basic profiling.
438
439 config SETARCH
440         bool "setarch"
441         default n
442         help
443           The linux32 utility is used to create a 32bit environment for the
444           specified program (usually a shell).  It only makes sense to have
445           this util on a system that supports both 64bit and 32bit userland
446           (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
447
448 config SWAPONOFF
449         bool "swaponoff"
450         default n
451         help
452           This option enables both the 'swapon' and the 'swapoff' utilities.
453           Once you have created some swap space using 'mkswap', you also need
454           to enable your swap space with the 'swapon' utility.  The 'swapoff'
455           utility is used, typically at system shutdown, to disable any swap
456           space.  If you are not using any swap space, you can leave this
457           option disabled.
458
459 config SWITCH_ROOT
460         bool "switch_root"
461         default n
462         help
463           The switch_root utility is used from initramfs to select a new
464           root device.  Under initramfs, you have to use this instead of
465           pivot_root.  (Stop reading here if you don't care why.)
466
467           Booting with initramfs extracts a gzipped cpio archive into rootfs
468           (which is a variant of ramfs/tmpfs).  Because rootfs can't be moved
469           or unmounted*, pivot_root will not work from initramfs.  Instead,
470           switch_root deletes everything out of rootfs (including itself),
471           does a mount --move that overmounts rootfs with the new root, and
472           then execs the specified init program.
473
474           * Because the Linux kernel uses rootfs internally as the starting
475           and ending point for searching through the kernel's doubly linked
476           list of active mount points.  That's why.
477
478 config UMOUNT
479         bool "umount"
480         default n
481         help
482           When you want to remove a mounted filesystem from its current mount point,
483           for example when you are shutting down the system, the 'umount' utility is
484           the tool to use.  If you enabled the 'mount' utility, you almost certainly
485           also want to enable 'umount'.
486
487 config FEATURE_UMOUNT_ALL
488         bool "umount -a option"
489         default n
490         depends on UMOUNT
491         help
492           Support -a option to unmount all currently mounted filesystems.
493
494 comment "Common options for mount/umount"
495         depends on MOUNT || UMOUNT
496
497 config FEATURE_MOUNT_LOOP
498         bool "Support loopback mounts"
499         default n
500         depends on MOUNT || UMOUNT
501         help
502           Enabling this feature allows automatic mounting of files (containing
503           filesystem images) via the linux kernel's loopback devices.  The mount
504           command will detect you are trying to mount a file instead of a block
505           device, and transparently associate the file with a loopback device.
506           The umount command will also free that loopback device.
507
508           You can still use the 'losetup' utility (to manually associate files
509           with loop devices) if you need to do something advanced, such as
510           specify an offset or cryptographic options to the loopback device.
511           (If you don't want umount to free the loop device, use "umount -D".)
512
513 config FEATURE_MTAB_SUPPORT
514         bool "Support for the old /etc/mtab file"
515         default n
516         depends on MOUNT || UMOUNT
517         help
518           Historically, Unix systems kept track of the currently mounted
519           partitions in the file "/etc/mtab".  These days, the kernel exports
520           the list of currently mounted partitions in "/proc/mounts", rendering
521           the old mtab file obsolete.  (In modern systems, /etc/mtab should be
522           a symlink to /proc/mounts.)
523
524           The only reason to have mount maintain an /etc/mtab file itself is if
525           your stripped-down embedded system does not have a /proc directory.
526           If you must use this, keep in mind it's inherently brittle (for
527           example a mount under chroot won't update it), can't handle modern
528           features like separate per-process filesystem namespaces, requires
529           that your /etc directory be writeable, tends to get easily confused
530           by --bind or --move mounts, won't update if you rename a directory
531           that contains a mount point, and so on.  (In brief: avoid.)
532
533           About the only reason to use this is if you've removed /proc from
534           your kernel.
535
536 endmenu
537