2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Linux System Utilities"
12 acpid listens to ACPI events coming either in textual form from
13 /proc/acpi/event (though it is marked deprecated it is still widely
14 used and _is_ a standard) or in binary form from specified evdevs
15 (just use /dev/input/event*).
17 It parses the event to retrieve ACTION and a possible PARAMETER.
18 It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
19 (if the resulting path is a directory) or directly as an executable.
21 N.B. acpid relies on run-parts so have the latter installed.
23 config FEATURE_ACPID_COMPAT
24 bool "Accept and ignore redundant options"
28 Accept and ignore compatibility options -g -m -s -S -v.
35 Lists labels and UUIDs of all filesystems.
37 With all submodules selected, it will add ~8k to busybox.
43 dmesg is used to examine or control the kernel ring buffer. When the
44 Linux kernel prints messages to the system log, they are stored in
45 the kernel ring buffer. You can use dmesg to print the kernel's ring
46 buffer, clear the kernel ring buffer, change the size of the kernel
47 ring buffer, and change the priority level at which kernel messages
48 are also logged to the system console. Enable this option if you
49 wish to enable the 'dmesg' utility.
51 config FEATURE_DMESG_PRETTY
52 bool "Pretty dmesg output"
56 If you wish to scrub the syslog level from the output, say 'Y' here.
57 The syslog level is a string prefixed to every line with the form
60 With this option you will see:
62 Linux version 2.6.17.4 .....
63 BIOS-provided physical RAM map:
64 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
66 Without this option you will see:
68 <5>Linux version 2.6.17.4 .....
69 <6>BIOS-provided physical RAM map:
70 <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
76 fbset is used to show or change the settings of a Linux frame buffer
77 device. The frame buffer device provides a simple and unique
78 interface to access a graphics display. Enable this option
79 if you wish to enable the 'fbset' utility.
81 config FEATURE_FBSET_FANCY
82 bool "Turn on extra fbset options"
86 This option enables extended fbset options, allowing one to set the
87 framebuffer size, color depth, etc. interface to access a graphics
88 display. Enable this option if you wish to enable extended fbset
91 config FEATURE_FBSET_READMODE
92 bool "Turn on fbset readmode support"
96 This option allows fbset to read the video mode database stored by
97 default as /etc/fb.modes, which can be used to set frame buffer
98 device to pre-defined video modes.
104 fdflush is only needed when changing media on slightly-broken
105 removable media drives. It is used to make Linux believe that a
106 hardware disk-change switch has been actuated, which causes Linux to
107 forget anything it has cached from the previous media. If you have
108 such a slightly-broken drive, you will need to run fdflush every time
109 you change a disk. Most people have working hardware and can safely
116 fdformat is used to low-level format a floppy disk.
122 The fdisk utility is used to divide hard disks into one or more
123 logical disks, which are generally called partitions. This utility
124 can be used to list and edit the set of partitions or BSD style
125 'disk slices' that are defined on a hard drive.
127 config FDISK_SUPPORT_LARGE_DISKS
128 bool "Support over 4GB disks"
132 Enable this option to support large disks > 4GB.
134 config FEATURE_FDISK_WRITABLE
139 Enabling this option allows you to create or change a partition table
140 and write those changes out to disk. If you leave this option
141 disabled, you will only be able to view the partition table.
143 config FEATURE_AIX_LABEL
144 bool "Support AIX disklabels"
146 depends on FDISK && FEATURE_FDISK_WRITABLE
148 Enabling this option allows you to create or change AIX disklabels.
149 Most people can safely leave this option disabled.
151 config FEATURE_SGI_LABEL
152 bool "Support SGI disklabels"
154 depends on FDISK && FEATURE_FDISK_WRITABLE
156 Enabling this option allows you to create or change SGI disklabels.
157 Most people can safely leave this option disabled.
159 config FEATURE_SUN_LABEL
160 bool "Support SUN disklabels"
162 depends on FDISK && FEATURE_FDISK_WRITABLE
164 Enabling this option allows you to create or change SUN disklabels.
165 Most people can safely leave this option disabled.
167 config FEATURE_OSF_LABEL
168 bool "Support BSD disklabels"
170 depends on FDISK && FEATURE_FDISK_WRITABLE
172 Enabling this option allows you to create or change BSD disklabels
173 and define and edit BSD disk slices.
175 config FEATURE_FDISK_ADVANCED
176 bool "Support expert mode"
178 depends on FDISK && FEATURE_FDISK_WRITABLE
180 Enabling this option allows you to do terribly unsafe things like
181 define arbitrary drive geometry, move the beginning of data in a
182 partition, and similarly evil things. Unless you have a very good
183 reason you would be wise to leave this disabled.
190 Prints the name of a filesystem with given label or UUID.
192 With all submodules selected, it will add ~8k to busybox.
198 Manage locks from shell scripts
204 Linux allows you to create ramdisks. This utility allows you to
205 delete them and completely free all memory that was used for the
206 ramdisk. For example, if you boot Linux into a ramdisk and later
207 pivot_root, you may want to free the memory that is allocated to the
208 ramdisk. If you have no use for freeing memory from a ramdisk, leave
215 The minix filesystem is a nice, small, compact, read-write filesystem
216 with little overhead. It is not a journaling filesystem however and
217 can experience corruption if it is not properly unmounted or if the
218 power goes off in the middle of a write. This utility allows you to
219 check for and attempt to repair any corruption that occurs to a minix
226 Utility to create EXT2 filesystems.
232 The minix filesystem is a nice, small, compact, read-write filesystem
233 with little overhead. If you wish to be able to create minix
234 filesystems this utility will do the job for you.
236 config FEATURE_MINIX2
237 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
239 depends on FSCK_MINIX || MKFS_MINIX
241 If you wish to be able to create version 2 minix filesystems, enable
242 this. If you enabled 'mkfs_minix' then you almost certainly want to
243 be using the version 2 filesystem support.
249 Utility to create ReiserFS filesystems.
250 Note: this applet needs a lot of testing and polishing.
256 Utility to create FAT32 filesystems.
262 The getopt utility is used to break up (parse) options in command
263 lines to make it easy to write complex shell scripts that also check
264 for legal (and illegal) options. If you want to write horribly
265 complex shell scripts, or use some horribly complex shell script
266 written by others, this utility may be for you. Most people will
267 wisely leave this disabled.
269 config FEATURE_GETOPT_LONG
270 bool "Support option -l"
271 default y if LONG_OPTS
274 Enable support for long options (option -l).
280 The hexdump utility is used to display binary data in a readable
281 way that is comparable to the output from most hex editors.
283 config FEATURE_HEXDUMP_REVERSE
284 bool "Support -R, reverse of 'hexdump -Cv'"
288 The hexdump utility is used to display binary data in an ascii
289 readable way. This option creates binary data from an ascii input.
290 NB: this option is non-standard. It's unwise to use it in scripts
291 aimed to be portable.
298 hd is an alias to hexdump -C.
304 The hwclock utility is used to read and set the hardware clock
305 on a system. This is primarily used to set the current time on
306 shutdown in the hardware clock, so the hardware will keep the
307 correct time when Linux is _not_ running.
309 config FEATURE_HWCLOCK_LONG_OPTIONS
310 bool "Support long options (--hctosys,...)"
312 depends on HWCLOCK && LONG_OPTS
314 By default, the hwclock utility only uses short options. If you
315 are overly fond of its long options, such as --hctosys, --utc, etc)
316 then enable this option.
318 config FEATURE_HWCLOCK_ADJTIME_FHS
319 bool "Use FHS /var/lib/hwclock/adjtime"
323 Starting with FHS 2.3, the adjtime state file is supposed to exist
324 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
325 to use the FHS behavior, answer Y here, otherwise answer N for the
326 classic /etc/adjtime path.
328 pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
335 The ipcrm utility allows the removal of System V interprocess
336 communication (IPC) objects and the associated data structures
344 The ipcs utility is used to provide information on the currently
345 allocated System V interprocess (IPC) objects in the system.
351 losetup is used to associate or detach a loop device with a regular
352 file or block device, and to query the status of a loop device. This
353 version does not currently support enabling data encryption.
359 lspci is a utility for displaying information about PCI buses in the
360 system and devices connected to them.
362 This version uses sysfs (/sys/bus/pci/devices) only.
368 lsusb is a utility for displaying information about USB buses in the
369 system and devices connected to them.
371 This version uses sysfs (/sys/bus/usb/devices) only.
377 mdev is a mini-udev implementation for dynamically creating device
378 nodes in the /dev directory.
380 For more information, please see docs/mdev.txt
382 config FEATURE_MDEV_CONF
383 bool "Support /etc/mdev.conf"
387 Add support for the mdev config file to control ownership and
388 permissions of the device nodes.
390 For more information, please see docs/mdev.txt
392 config FEATURE_MDEV_RENAME
393 bool "Support subdirs/symlinks"
395 depends on FEATURE_MDEV_CONF
397 Add support for renaming devices and creating symlinks.
399 For more information, please see docs/mdev.txt
401 config FEATURE_MDEV_RENAME_REGEXP
402 bool "Support regular expressions substitutions when renaming device"
404 depends on FEATURE_MDEV_RENAME
406 Add support for regular expressions substitutions when renaming
409 config FEATURE_MDEV_EXEC
410 bool "Support command execution at device addition/removal"
412 depends on FEATURE_MDEV_CONF
414 This adds support for an optional field to /etc/mdev.conf for
415 executing commands when devices are created/removed.
417 For more information, please see docs/mdev.txt
419 config FEATURE_MDEV_LOAD_FIRMWARE
420 bool "Support loading of firmwares"
424 Some devices need to load firmware before they can be usable.
426 These devices will request userspace look up the files in
427 /lib/firmware/ and if it exists, send it to the kernel for
428 loading into the hardware.
434 The mkswap utility is used to configure a file or disk partition as
435 Linux swap space. This allows Linux to use the entire file or
436 partition as if it were additional RAM, which can greatly increase
437 the capability of low-memory machines. This additional memory is
438 much slower than real RAM, but can be very helpful at preventing your
439 applications being killed by the Linux out of memory (OOM) killer.
440 Once you have created swap space using 'mkswap' you need to enable
441 the swap space using the 'swapon' utility.
443 config FEATURE_MKSWAP_UUID
448 Generate swap spaces with universally unique identifiers.
454 more is a simple utility which allows you to read text one screen
455 sized page at a time. If you want to read text that is larger than
456 the screen, and you are using anything faster than a 300 baud modem,
457 you will probably find this utility very helpful. If you don't have
458 any need to reading text files, you can leave this disabled.
460 config FEATURE_USE_TERMIOS
461 bool "Use termios to manipulate the screen"
463 depends on MORE || TOP
465 This option allows utilities such as 'more' and 'top' to determine
466 the size of the screen. If you leave this disabled, your utilities
467 that display things on the screen will be especially primitive and
468 will be unable to determine the current screen size, and will be
469 unable to move the cursor.
472 bool #No description makes it a hidden option
475 config FEATURE_VOLUMEID_EXT
476 bool "Ext filesystem"
482 config FEATURE_VOLUMEID_BTRFS
483 bool "btrfs filesystem"
489 config FEATURE_VOLUMEID_REISERFS
490 bool "Reiser filesystem"
496 config FEATURE_VOLUMEID_FAT
497 bool "fat filesystem"
503 config FEATURE_VOLUMEID_HFS
504 bool "hfs filesystem"
510 config FEATURE_VOLUMEID_JFS
511 bool "jfs filesystem"
517 ### config FEATURE_VOLUMEID_UFS
518 ### bool "ufs filesystem"
520 ### depends on VOLUMEID
524 config FEATURE_VOLUMEID_XFS
525 bool "xfs filesystem"
531 config FEATURE_VOLUMEID_NTFS
532 bool "ntfs filesystem"
538 config FEATURE_VOLUMEID_ISO9660
539 bool "iso9660 filesystem"
545 config FEATURE_VOLUMEID_UDF
546 bool "udf filesystem"
552 config FEATURE_VOLUMEID_LUKS
553 bool "luks filesystem"
559 config FEATURE_VOLUMEID_LINUXSWAP
560 bool "linux swap filesystem"
566 ### config FEATURE_VOLUMEID_LVM
569 ### depends on VOLUMEID
573 config FEATURE_VOLUMEID_CRAMFS
574 bool "cramfs filesystem"
580 ### config FEATURE_VOLUMEID_HPFS
581 ### bool "hpfs filesystem"
583 ### depends on VOLUMEID
587 config FEATURE_VOLUMEID_ROMFS
588 bool "romfs filesystem"
594 config FEATURE_VOLUMEID_SYSV
595 bool "sysv filesystem"
601 ### config FEATURE_VOLUMEID_MINIX
602 ### bool "minix filesystem"
604 ### depends on VOLUMEID
608 ### These only detect partition tables - not used (yet?)
609 ### config FEATURE_VOLUMEID_MAC
610 ### bool "mac filesystem"
612 ### depends on VOLUMEID
616 ### config FEATURE_VOLUMEID_MSDOS
617 ### bool "msdos filesystem"
619 ### depends on VOLUMEID
623 config FEATURE_VOLUMEID_OCFS2
624 bool "ocfs2 filesystem"
630 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
631 ### bool "highpoint raid"
633 ### depends on VOLUMEID
637 ### config FEATURE_VOLUMEID_ISWRAID
638 ### bool "intel raid"
640 ### depends on VOLUMEID
644 ### config FEATURE_VOLUMEID_LSIRAID
647 ### depends on VOLUMEID
651 ### config FEATURE_VOLUMEID_VIARAID
654 ### depends on VOLUMEID
658 ### config FEATURE_VOLUMEID_SILICONRAID
659 ### bool "silicon raid"
661 ### depends on VOLUMEID
665 ### config FEATURE_VOLUMEID_NVIDIARAID
666 ### bool "nvidia raid"
668 ### depends on VOLUMEID
672 ### config FEATURE_VOLUMEID_PROMISERAID
673 ### bool "promise raid"
675 ### depends on VOLUMEID
679 config FEATURE_VOLUMEID_LINUXRAID
690 All files and filesystems in Unix are arranged into one big directory
691 tree. The 'mount' utility is used to graft a filesystem onto a
692 particular part of the tree. A filesystem can either live on a block
693 device, or it can be accessible over the network, as is the case with
694 NFS filesystems. Most people using BusyBox will also want to enable
697 config FEATURE_MOUNT_FAKE
698 bool "Support option -f"
702 Enable support for faking a file system mount.
704 config FEATURE_MOUNT_VERBOSE
705 bool "Support option -v"
709 Enable multi-level -v[vv...] verbose messages. Useful if you
710 debug mount problems and want to see what is exactly passed
713 config FEATURE_MOUNT_HELPERS
714 bool "Support mount helpers"
718 Enable mounting of virtual file systems via external helpers.
719 E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
720 "obexfs -b00.11.22.33.44.55 /mnt"
721 Also "mount -t sometype [-o opts] fs /mnt" will try
722 "sometype [-o opts] fs /mnt" if simple mount syscall fails.
723 The idea is to use such virtual filesystems in /etc/fstab.
725 config FEATURE_MOUNT_LABEL
726 bool "Support specifiying devices by label or UUID"
731 This allows for specifying a device by label or uuid, rather than by
732 name. This feature utilizes the same functionality as blkid/findfs.
733 This also enables label or uuid support for swapon.
735 config FEATURE_MOUNT_NFS
736 bool "Support mounting NFS file systems"
739 select FEATURE_HAVE_RPC
740 select FEATURE_SYSLOG
742 Enable mounting of NFS file systems.
744 config FEATURE_MOUNT_CIFS
745 bool "Support mounting CIFS/SMB file systems"
749 Enable support for samba mounts.
751 config FEATURE_MOUNT_FLAGS
753 bool "Support lots of -o flags in mount"
756 Without this, mount only supports ro/rw/remount. With this, it
757 supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
758 noatime, diratime, nodiratime, loud, bind, move, shared, slave,
759 private, unbindable, rshared, rslave, rprivate, and runbindable.
761 config FEATURE_MOUNT_FSTAB
763 bool "Support /etc/fstab and -a"
766 Support mount all and looking for files in /etc/fstab.
772 The pivot_root utility swaps the mount points for the root filesystem
773 with some other mounted filesystem. This allows you to do all sorts
774 of wild and crazy things with your Linux system and is far more
775 powerful than 'chroot'.
777 Note: This is for initrd in linux 2.4. Under initramfs (introduced
778 in linux 2.6) use switch_root instead.
784 The rdate utility allows you to synchronize the date and time of your
785 system clock with the date and time of a remote networked system using
786 the RFC868 protocol, which is built into the inetd daemon on most
793 Print the device node associated with the filesystem mounted at '/'.
799 This allows you to parse /proc/profile for basic profiling.
805 Enter a system sleep state until specified wakeup time.
811 The script makes typescript of terminal session.
817 This program replays a typescript, using timing information
824 The linux32 utility is used to create a 32bit environment for the
825 specified program (usually a shell). It only makes sense to have
826 this util on a system that supports both 64bit and 32bit userland
827 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
833 This option enables both the 'swapon' and the 'swapoff' utilities.
834 Once you have created some swap space using 'mkswap', you also need
835 to enable your swap space with the 'swapon' utility. The 'swapoff'
836 utility is used, typically at system shutdown, to disable any swap
837 space. If you are not using any swap space, you can leave this
840 config FEATURE_SWAPON_PRI
841 bool "Support priority option -p"
845 Enable support for setting swap device priority in swapon.
851 The switch_root utility is used from initramfs to select a new
852 root device. Under initramfs, you have to use this instead of
853 pivot_root. (Stop reading here if you don't care why.)
855 Booting with initramfs extracts a gzipped cpio archive into rootfs
856 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
857 or unmounted*, pivot_root will not work from initramfs. Instead,
858 switch_root deletes everything out of rootfs (including itself),
859 does a mount --move that overmounts rootfs with the new root, and
860 then execs the specified init program.
862 * Because the Linux kernel uses rootfs internally as the starting
863 and ending point for searching through the kernel's doubly linked
864 list of active mount points. That's why.
870 When you want to remove a mounted filesystem from its current mount
871 point, for example when you are shutting down the system, the
872 'umount' utility is the tool to use. If you enabled the 'mount'
873 utility, you almost certainly also want to enable 'umount'.
875 config FEATURE_UMOUNT_ALL
876 bool "Support option -a"
880 Support -a option to unmount all currently mounted filesystems.
882 comment "Common options for mount/umount"
883 depends on MOUNT || UMOUNT
885 config FEATURE_MOUNT_LOOP
886 bool "Support loopback mounts"
888 depends on MOUNT || UMOUNT
890 Enabling this feature allows automatic mounting of files (containing
891 filesystem images) via the linux kernel's loopback devices.
892 The mount command will detect you are trying to mount a file instead
893 of a block device, and transparently associate the file with a
894 loopback device. The umount command will also free that loopback
897 You can still use the 'losetup' utility (to manually associate files
898 with loop devices) if you need to do something advanced, such as
899 specify an offset or cryptographic options to the loopback device.
900 (If you don't want umount to free the loop device, use "umount -D".)
902 config FEATURE_MOUNT_LOOP_CREATE
903 bool "Create new loopback devices if needed"
905 depends on FEATURE_MOUNT_LOOP
907 Linux kernels >= 2.6.24 support unlimited loopback devices. They are
908 allocated for use when trying to use a loop device. The loop device
911 This feature lets mount to try to create next /dev/loopN device
912 if it does not find a free one.
914 config FEATURE_MTAB_SUPPORT
915 bool "Support for the old /etc/mtab file"
917 depends on MOUNT || UMOUNT
918 select FEATURE_MOUNT_FAKE
920 Historically, Unix systems kept track of the currently mounted
921 partitions in the file "/etc/mtab". These days, the kernel exports
922 the list of currently mounted partitions in "/proc/mounts", rendering
923 the old mtab file obsolete. (In modern systems, /etc/mtab should be
924 a symlink to /proc/mounts.)
926 The only reason to have mount maintain an /etc/mtab file itself is if
927 your stripped-down embedded system does not have a /proc directory.
928 If you must use this, keep in mind it's inherently brittle (for
929 example a mount under chroot won't update it), can't handle modern
930 features like separate per-process filesystem namespaces, requires
931 that your /etc directory be writeable, tends to get easily confused
932 by --bind or --move mounts, won't update if you rename a directory
933 that contains a mount point, and so on. (In brief: avoid.)
935 About the only reason to use this is if you've removed /proc from