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