2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Linux System Utilities"
13 depends on PLATFORM_LINUX
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*).
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.
24 N.B. acpid relies on run-parts so have the latter installed.
26 config FEATURE_ACPID_COMPAT
27 bool "Accept and ignore redundant options"
31 Accept and ignore compatibility options -g -m -s -S -v.
36 depends on PLATFORM_LINUX
39 Lists labels and UUIDs of all filesystems.
41 With all submodules selected, it will add ~8k to busybox.
46 depends on PLATFORM_LINUX
48 dmesg is used to examine or control the kernel ring buffer. When the
49 Linux kernel prints messages to the system log, they are stored in
50 the kernel ring buffer. You can use dmesg to print the kernel's ring
51 buffer, clear the kernel ring buffer, change the size of the kernel
52 ring buffer, and change the priority level at which kernel messages
53 are also logged to the system console. Enable this option if you
54 wish to enable the 'dmesg' utility.
56 config FEATURE_DMESG_PRETTY
57 bool "Pretty dmesg output"
61 If you wish to scrub the syslog level from the output, say 'Y' here.
62 The syslog level is a string prefixed to every line with the form
65 With this option you will see:
67 Linux version 2.6.17.4 .....
68 BIOS-provided physical RAM map:
69 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
71 Without this option you will see:
73 <5>Linux version 2.6.17.4 .....
74 <6>BIOS-provided physical RAM map:
75 <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
80 depends on PLATFORM_LINUX
82 fbset is used to show or change the settings of a Linux frame buffer
83 device. The frame buffer device provides a simple and unique
84 interface to access a graphics display. Enable this option
85 if you wish to enable the 'fbset' utility.
87 config FEATURE_FBSET_FANCY
88 bool "Turn on extra fbset options"
92 This option enables extended fbset options, allowing one to set the
93 framebuffer size, color depth, etc. interface to access a graphics
94 display. Enable this option if you wish to enable extended fbset
97 config FEATURE_FBSET_READMODE
98 bool "Turn on fbset readmode support"
102 This option allows fbset to read the video mode database stored by
103 default as /etc/fb.modes, which can be used to set frame buffer
104 device to pre-defined video modes.
109 depends on PLATFORM_LINUX
111 fdflush is only needed when changing media on slightly-broken
112 removable media drives. It is used to make Linux believe that a
113 hardware disk-change switch has been actuated, which causes Linux to
114 forget anything it has cached from the previous media. If you have
115 such a slightly-broken drive, you will need to run fdflush every time
116 you change a disk. Most people have working hardware and can safely
122 depends on PLATFORM_LINUX
124 fdformat is used to low-level format a floppy disk.
129 depends on PLATFORM_LINUX
131 The fdisk utility is used to divide hard disks into one or more
132 logical disks, which are generally called partitions. This utility
133 can be used to list and edit the set of partitions or BSD style
134 'disk slices' that are defined on a hard drive.
136 config FDISK_SUPPORT_LARGE_DISKS
137 bool "Support over 4GB disks"
141 Enable this option to support large disks > 4GB.
143 config FEATURE_FDISK_WRITABLE
148 Enabling this option allows you to create or change a partition table
149 and write those changes out to disk. If you leave this option
150 disabled, you will only be able to view the partition table.
152 config FEATURE_AIX_LABEL
153 bool "Support AIX disklabels"
155 depends on FDISK && FEATURE_FDISK_WRITABLE
157 Enabling this option allows you to create or change AIX disklabels.
158 Most people can safely leave this option disabled.
160 config FEATURE_SGI_LABEL
161 bool "Support SGI disklabels"
163 depends on FDISK && FEATURE_FDISK_WRITABLE
165 Enabling this option allows you to create or change SGI disklabels.
166 Most people can safely leave this option disabled.
168 config FEATURE_SUN_LABEL
169 bool "Support SUN disklabels"
171 depends on FDISK && FEATURE_FDISK_WRITABLE
173 Enabling this option allows you to create or change SUN disklabels.
174 Most people can safely leave this option disabled.
176 config FEATURE_OSF_LABEL
177 bool "Support BSD disklabels"
179 depends on FDISK && FEATURE_FDISK_WRITABLE
181 Enabling this option allows you to create or change BSD disklabels
182 and define and edit BSD disk slices.
184 config FEATURE_FDISK_ADVANCED
185 bool "Support expert mode"
187 depends on FDISK && FEATURE_FDISK_WRITABLE
189 Enabling this option allows you to do terribly unsafe things like
190 define arbitrary drive geometry, move the beginning of data in a
191 partition, and similarly evil things. Unless you have a very good
192 reason you would be wise to leave this disabled.
197 depends on PLATFORM_LINUX
200 Prints the name of a filesystem with given label or UUID.
202 With all submodules selected, it will add ~8k to busybox.
208 Manage locks from shell scripts
213 depends on PLATFORM_LINUX
215 Linux allows you to create ramdisks. This utility allows you to
216 delete them and completely free all memory that was used for the
217 ramdisk. For example, if you boot Linux into a ramdisk and later
218 pivot_root, you may want to free the memory that is allocated to the
219 ramdisk. If you have no use for freeing memory from a ramdisk, leave
226 The minix filesystem is a nice, small, compact, read-write filesystem
227 with little overhead. It is not a journaling filesystem however and
228 can experience corruption if it is not properly unmounted or if the
229 power goes off in the middle of a write. This utility allows you to
230 check for and attempt to repair any corruption that occurs to a minix
236 depends on PLATFORM_LINUX
238 Utility to create EXT2 filesystems.
243 depends on PLATFORM_LINUX
245 The minix filesystem is a nice, small, compact, read-write filesystem
246 with little overhead. If you wish to be able to create minix
247 filesystems this utility will do the job for you.
249 config FEATURE_MINIX2
250 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
252 depends on FSCK_MINIX || MKFS_MINIX
254 If you wish to be able to create version 2 minix filesystems, enable
255 this. If you enabled 'mkfs_minix' then you almost certainly want to
256 be using the version 2 filesystem support.
261 depends on PLATFORM_LINUX
263 Utility to create ReiserFS filesystems.
264 Note: this applet needs a lot of testing and polishing.
269 depends on PLATFORM_LINUX
271 Utility to create FAT32 filesystems.
277 The getopt utility is used to break up (parse) options in command
278 lines to make it easy to write complex shell scripts that also check
279 for legal (and illegal) options. If you want to write horribly
280 complex shell scripts, or use some horribly complex shell script
281 written by others, this utility may be for you. Most people will
282 wisely leave this disabled.
284 config FEATURE_GETOPT_LONG
285 bool "Support option -l"
286 default y if LONG_OPTS
289 Enable support for long options (option -l).
295 The hexdump utility is used to display binary data in a readable
296 way that is comparable to the output from most hex editors.
298 config FEATURE_HEXDUMP_REVERSE
299 bool "Support -R, reverse of 'hexdump -Cv'"
303 The hexdump utility is used to display binary data in an ascii
304 readable way. This option creates binary data from an ascii input.
305 NB: this option is non-standard. It's unwise to use it in scripts
306 aimed to be portable.
313 hd is an alias to hexdump -C.
318 depends on PLATFORM_LINUX
320 The hwclock utility is used to read and set the hardware clock
321 on a system. This is primarily used to set the current time on
322 shutdown in the hardware clock, so the hardware will keep the
323 correct time when Linux is _not_ running.
325 config FEATURE_HWCLOCK_LONG_OPTIONS
326 bool "Support long options (--hctosys,...)"
328 depends on HWCLOCK && LONG_OPTS
330 By default, the hwclock utility only uses short options. If you
331 are overly fond of its long options, such as --hctosys, --utc, etc)
332 then enable this option.
334 config FEATURE_HWCLOCK_ADJTIME_FHS
335 bool "Use FHS /var/lib/hwclock/adjtime"
336 default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
339 Starting with FHS 2.3, the adjtime state file is supposed to exist
340 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
341 to use the FHS behavior, answer Y here, otherwise answer N for the
342 classic /etc/adjtime path.
344 pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
351 The ipcrm utility allows the removal of System V interprocess
352 communication (IPC) objects and the associated data structures
358 depends on PLATFORM_LINUX
361 The ipcs utility is used to provide information on the currently
362 allocated System V interprocess (IPC) objects in the system.
367 depends on PLATFORM_LINUX
369 losetup is used to associate or detach a loop device with a regular
370 file or block device, and to query the status of a loop device. This
371 version does not currently support enabling data encryption.
376 #depends on PLATFORM_LINUX
378 lspci is a utility for displaying information about PCI buses in the
379 system and devices connected to them.
381 This version uses sysfs (/sys/bus/pci/devices) only.
386 #depends on PLATFORM_LINUX
388 lsusb is a utility for displaying information about USB buses in the
389 system and devices connected to them.
391 This version uses sysfs (/sys/bus/usb/devices) only.
396 depends on PLATFORM_LINUX
398 mdev is a mini-udev implementation for dynamically creating device
399 nodes in the /dev directory.
401 For more information, please see docs/mdev.txt
403 config FEATURE_MDEV_CONF
404 bool "Support /etc/mdev.conf"
408 Add support for the mdev config file to control ownership and
409 permissions of the device nodes.
411 For more information, please see docs/mdev.txt
413 config FEATURE_MDEV_RENAME
414 bool "Support subdirs/symlinks"
416 depends on FEATURE_MDEV_CONF
418 Add support for renaming devices and creating symlinks.
420 For more information, please see docs/mdev.txt
422 config FEATURE_MDEV_RENAME_REGEXP
423 bool "Support regular expressions substitutions when renaming device"
425 depends on FEATURE_MDEV_RENAME
427 Add support for regular expressions substitutions when renaming
430 config FEATURE_MDEV_EXEC
431 bool "Support command execution at device addition/removal"
433 depends on FEATURE_MDEV_CONF
435 This adds support for an optional field to /etc/mdev.conf for
436 executing commands when devices are created/removed.
438 For more information, please see docs/mdev.txt
440 config FEATURE_MDEV_LOAD_FIRMWARE
441 bool "Support loading of firmwares"
445 Some devices need to load firmware before they can be usable.
447 These devices will request userspace look up the files in
448 /lib/firmware/ and if it exists, send it to the kernel for
449 loading into the hardware.
455 The mkswap utility is used to configure a file or disk partition as
456 Linux swap space. This allows Linux to use the entire file or
457 partition as if it were additional RAM, which can greatly increase
458 the capability of low-memory machines. This additional memory is
459 much slower than real RAM, but can be very helpful at preventing your
460 applications being killed by the Linux out of memory (OOM) killer.
461 Once you have created swap space using 'mkswap' you need to enable
462 the swap space using the 'swapon' utility.
464 config FEATURE_MKSWAP_UUID
469 Generate swap spaces with universally unique identifiers.
475 more is a simple utility which allows you to read text one screen
476 sized page at a time. If you want to read text that is larger than
477 the screen, and you are using anything faster than a 300 baud modem,
478 you will probably find this utility very helpful. If you don't have
479 any need to reading text files, you can leave this disabled.
481 config FEATURE_USE_TERMIOS
482 bool "Use termios to manipulate the screen"
484 depends on MORE || TOP
486 This option allows utilities such as 'more' and 'top' to determine
487 the size of the screen. If you leave this disabled, your utilities
488 that display things on the screen will be especially primitive and
489 will be unable to determine the current screen size, and will be
490 unable to move the cursor.
495 depends on PLATFORM_LINUX
497 All files and filesystems in Unix are arranged into one big directory
498 tree. The 'mount' utility is used to graft a filesystem onto a
499 particular part of the tree. A filesystem can either live on a block
500 device, or it can be accessible over the network, as is the case with
501 NFS filesystems. Most people using BusyBox will also want to enable
504 config FEATURE_MOUNT_FAKE
505 bool "Support option -f"
509 Enable support for faking a file system mount.
511 config FEATURE_MOUNT_VERBOSE
512 bool "Support option -v"
516 Enable multi-level -v[vv...] verbose messages. Useful if you
517 debug mount problems and want to see what is exactly passed
520 config FEATURE_MOUNT_HELPERS
521 bool "Support mount helpers"
525 Enable mounting of virtual file systems via external helpers.
526 E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
527 "obexfs -b00.11.22.33.44.55 /mnt"
528 Also "mount -t sometype [-o opts] fs /mnt" will try
529 "sometype [-o opts] fs /mnt" if simple mount syscall fails.
530 The idea is to use such virtual filesystems in /etc/fstab.
532 config FEATURE_MOUNT_LABEL
533 bool "Support specifying devices by label or UUID"
538 This allows for specifying a device by label or uuid, rather than by
539 name. This feature utilizes the same functionality as blkid/findfs.
540 This also enables label or uuid support for swapon.
542 config FEATURE_MOUNT_NFS
543 bool "Support mounting NFS file systems"
546 select FEATURE_HAVE_RPC
547 select FEATURE_SYSLOG
549 Enable mounting of NFS file systems.
551 config FEATURE_MOUNT_CIFS
552 bool "Support mounting CIFS/SMB file systems"
556 Enable support for samba mounts.
558 config FEATURE_MOUNT_FLAGS
560 bool "Support lots of -o flags in mount"
563 Without this, mount only supports ro/rw/remount. With this, it
564 supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
565 noatime, diratime, nodiratime, loud, bind, move, shared, slave,
566 private, unbindable, rshared, rslave, rprivate, and runbindable.
568 config FEATURE_MOUNT_FSTAB
570 bool "Support /etc/fstab and -a"
573 Support mount all and looking for files in /etc/fstab.
578 depends on PLATFORM_LINUX
580 The pivot_root utility swaps the mount points for the root filesystem
581 with some other mounted filesystem. This allows you to do all sorts
582 of wild and crazy things with your Linux system and is far more
583 powerful than 'chroot'.
585 Note: This is for initrd in linux 2.4. Under initramfs (introduced
586 in linux 2.6) use switch_root instead.
592 The rdate utility allows you to synchronize the date and time of your
593 system clock with the date and time of a remote networked system using
594 the RFC868 protocol, which is built into the inetd daemon on most
601 Print the device node associated with the filesystem mounted at '/'.
606 #depends on PLATFORM_LINUX
608 This allows you to parse /proc/profile for basic profiling.
613 depends on PLATFORM_LINUX
615 Enter a system sleep state until specified wakeup time.
621 The script makes typescript of terminal session.
627 This program replays a typescript, using timing information
633 depends on PLATFORM_LINUX
635 The linux32 utility is used to create a 32bit environment for the
636 specified program (usually a shell). It only makes sense to have
637 this util on a system that supports both 64bit and 32bit userland
638 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
643 depends on PLATFORM_LINUX
645 This option enables both the 'swapon' and the 'swapoff' utilities.
646 Once you have created some swap space using 'mkswap', you also need
647 to enable your swap space with the 'swapon' utility. The 'swapoff'
648 utility is used, typically at system shutdown, to disable any swap
649 space. If you are not using any swap space, you can leave this
652 config FEATURE_SWAPON_PRI
653 bool "Support priority option -p"
657 Enable support for setting swap device priority in swapon.
662 depends on PLATFORM_LINUX
664 The switch_root utility is used from initramfs to select a new
665 root device. Under initramfs, you have to use this instead of
666 pivot_root. (Stop reading here if you don't care why.)
668 Booting with initramfs extracts a gzipped cpio archive into rootfs
669 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
670 or unmounted*, pivot_root will not work from initramfs. Instead,
671 switch_root deletes everything out of rootfs (including itself),
672 does a mount --move that overmounts rootfs with the new root, and
673 then execs the specified init program.
675 * Because the Linux kernel uses rootfs internally as the starting
676 and ending point for searching through the kernel's doubly linked
677 list of active mount points. That's why.
682 depends on PLATFORM_LINUX
684 When you want to remove a mounted filesystem from its current mount
685 point, for example when you are shutting down the system, the
686 'umount' utility is the tool to use. If you enabled the 'mount'
687 utility, you almost certainly also want to enable 'umount'.
689 config FEATURE_UMOUNT_ALL
690 bool "Support option -a"
694 Support -a option to unmount all currently mounted filesystems.
696 comment "Common options for mount/umount"
697 depends on MOUNT || UMOUNT
699 config FEATURE_MOUNT_LOOP
700 bool "Support loopback mounts"
702 depends on MOUNT || UMOUNT
704 Enabling this feature allows automatic mounting of files (containing
705 filesystem images) via the linux kernel's loopback devices.
706 The mount command will detect you are trying to mount a file instead
707 of a block device, and transparently associate the file with a
708 loopback device. The umount command will also free that loopback
711 You can still use the 'losetup' utility (to manually associate files
712 with loop devices) if you need to do something advanced, such as
713 specify an offset or cryptographic options to the loopback device.
714 (If you don't want umount to free the loop device, use "umount -D".)
716 config FEATURE_MOUNT_LOOP_CREATE
717 bool "Create new loopback devices if needed"
719 depends on FEATURE_MOUNT_LOOP
721 Linux kernels >= 2.6.24 support unlimited loopback devices. They are
722 allocated for use when trying to use a loop device. The loop device
725 This feature lets mount to try to create next /dev/loopN device
726 if it does not find a free one.
728 config FEATURE_MTAB_SUPPORT
729 bool "Support for the old /etc/mtab file"
731 depends on MOUNT || UMOUNT
732 select FEATURE_MOUNT_FAKE
734 Historically, Unix systems kept track of the currently mounted
735 partitions in the file "/etc/mtab". These days, the kernel exports
736 the list of currently mounted partitions in "/proc/mounts", rendering
737 the old mtab file obsolete. (In modern systems, /etc/mtab should be
738 a symlink to /proc/mounts.)
740 The only reason to have mount maintain an /etc/mtab file itself is if
741 your stripped-down embedded system does not have a /proc directory.
742 If you must use this, keep in mind it's inherently brittle (for
743 example a mount under chroot won't update it), can't handle modern
744 features like separate per-process filesystem namespaces, requires
745 that your /etc directory be writable, tends to get easily confused
746 by --bind or --move mounts, won't update if you rename a directory
747 that contains a mount point, and so on. (In brief: avoid.)
749 About the only reason to use this is if you've removed /proc from
753 bool #No description makes it a hidden option
756 menu "Filesystem/Volume identification"
759 config FEATURE_VOLUMEID_EXT
760 bool "Ext filesystem"
766 config FEATURE_VOLUMEID_BTRFS
767 bool "btrfs filesystem"
773 config FEATURE_VOLUMEID_REISERFS
774 bool "Reiser filesystem"
780 config FEATURE_VOLUMEID_FAT
781 bool "fat filesystem"
787 config FEATURE_VOLUMEID_HFS
788 bool "hfs filesystem"
794 config FEATURE_VOLUMEID_JFS
795 bool "jfs filesystem"
801 ### config FEATURE_VOLUMEID_UFS
802 ### bool "ufs filesystem"
804 ### depends on VOLUMEID
808 config FEATURE_VOLUMEID_XFS
809 bool "xfs filesystem"
815 config FEATURE_VOLUMEID_NTFS
816 bool "ntfs filesystem"
822 config FEATURE_VOLUMEID_ISO9660
823 bool "iso9660 filesystem"
829 config FEATURE_VOLUMEID_UDF
830 bool "udf filesystem"
836 config FEATURE_VOLUMEID_LUKS
837 bool "luks filesystem"
843 config FEATURE_VOLUMEID_LINUXSWAP
844 bool "linux swap filesystem"
850 ### config FEATURE_VOLUMEID_LVM
853 ### depends on VOLUMEID
857 config FEATURE_VOLUMEID_CRAMFS
858 bool "cramfs filesystem"
864 ### config FEATURE_VOLUMEID_HPFS
865 ### bool "hpfs filesystem"
867 ### depends on VOLUMEID
871 config FEATURE_VOLUMEID_ROMFS
872 bool "romfs filesystem"
878 config FEATURE_VOLUMEID_SYSV
879 bool "sysv filesystem"
885 ### config FEATURE_VOLUMEID_MINIX
886 ### bool "minix filesystem"
888 ### depends on VOLUMEID
892 ### These only detect partition tables - not used (yet?)
893 ### config FEATURE_VOLUMEID_MAC
894 ### bool "mac filesystem"
896 ### depends on VOLUMEID
900 ### config FEATURE_VOLUMEID_MSDOS
901 ### bool "msdos filesystem"
903 ### depends on VOLUMEID
907 config FEATURE_VOLUMEID_OCFS2
908 bool "ocfs2 filesystem"
914 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
915 ### bool "highpoint raid"
917 ### depends on VOLUMEID
921 ### config FEATURE_VOLUMEID_ISWRAID
922 ### bool "intel raid"
924 ### depends on VOLUMEID
928 ### config FEATURE_VOLUMEID_LSIRAID
931 ### depends on VOLUMEID
935 ### config FEATURE_VOLUMEID_VIARAID
938 ### depends on VOLUMEID
942 ### config FEATURE_VOLUMEID_SILICONRAID
943 ### bool "silicon raid"
945 ### depends on VOLUMEID
949 ### config FEATURE_VOLUMEID_NVIDIARAID
950 ### bool "nvidia raid"
952 ### depends on VOLUMEID
956 ### config FEATURE_VOLUMEID_PROMISERAID
957 ### bool "promise raid"
959 ### depends on VOLUMEID
963 config FEATURE_VOLUMEID_LINUXRAID