2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Linux System Utilities"
14 acpid listens to ACPI events coming either in textual form from
15 /proc/acpi/event (though it is marked deprecated it is still widely
16 used and _is_ a standard) or in binary form from specified evdevs
17 (just use /dev/input/event*).
19 It parses the event to retrieve ACTION and a possible PARAMETER.
20 It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts
21 (if the resulting path is a directory) or directly as an executable.
23 N.B. acpid relies on run-parts so have the latter installed.
25 config FEATURE_ACPID_COMPAT
26 bool "Accept and ignore redundant options"
30 Accept and ignore compatibility options -g -m -s -S -v.
37 Lists labels and UUIDs of all filesystems.
39 With all submodules selected, it will add ~8k to busybox.
45 dmesg is used to examine or control the kernel ring buffer. When the
46 Linux kernel prints messages to the system log, they are stored in
47 the kernel ring buffer. You can use dmesg to print the kernel's ring
48 buffer, clear the kernel ring buffer, change the size of the kernel
49 ring buffer, and change the priority level at which kernel messages
50 are also logged to the system console. Enable this option if you
51 wish to enable the 'dmesg' utility.
53 config FEATURE_DMESG_PRETTY
54 bool "Pretty dmesg output"
58 If you wish to scrub the syslog level from the output, say 'Y' here.
59 The syslog level is a string prefixed to every line with the form
62 With this option you will see:
64 Linux version 2.6.17.4 .....
65 BIOS-provided physical RAM map:
66 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
68 Without this option you will see:
70 <5>Linux version 2.6.17.4 .....
71 <6>BIOS-provided physical RAM map:
72 <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
78 fbset is used to show or change the settings of a Linux frame buffer
79 device. The frame buffer device provides a simple and unique
80 interface to access a graphics display. Enable this option
81 if you wish to enable the 'fbset' utility.
83 config FEATURE_FBSET_FANCY
84 bool "Turn on extra fbset options"
88 This option enables extended fbset options, allowing one to set the
89 framebuffer size, color depth, etc. interface to access a graphics
90 display. Enable this option if you wish to enable extended fbset
93 config FEATURE_FBSET_READMODE
94 bool "Turn on fbset readmode support"
98 This option allows fbset to read the video mode database stored by
99 default as /etc/fb.modes, which can be used to set frame buffer
100 device to pre-defined video modes.
106 fdflush is only needed when changing media on slightly-broken
107 removable media drives. It is used to make Linux believe that a
108 hardware disk-change switch has been actuated, which causes Linux to
109 forget anything it has cached from the previous media. If you have
110 such a slightly-broken drive, you will need to run fdflush every time
111 you change a disk. Most people have working hardware and can safely
118 fdformat is used to low-level format a floppy disk.
124 The fdisk utility is used to divide hard disks into one or more
125 logical disks, which are generally called partitions. This utility
126 can be used to list and edit the set of partitions or BSD style
127 'disk slices' that are defined on a hard drive.
129 config FDISK_SUPPORT_LARGE_DISKS
130 bool "Support over 4GB disks"
134 Enable this option to support large disks > 4GB.
136 config FEATURE_FDISK_WRITABLE
141 Enabling this option allows you to create or change a partition table
142 and write those changes out to disk. If you leave this option
143 disabled, you will only be able to view the partition table.
145 config FEATURE_AIX_LABEL
146 bool "Support AIX disklabels"
148 depends on FDISK && FEATURE_FDISK_WRITABLE
150 Enabling this option allows you to create or change AIX disklabels.
151 Most people can safely leave this option disabled.
153 config FEATURE_SGI_LABEL
154 bool "Support SGI disklabels"
156 depends on FDISK && FEATURE_FDISK_WRITABLE
158 Enabling this option allows you to create or change SGI disklabels.
159 Most people can safely leave this option disabled.
161 config FEATURE_SUN_LABEL
162 bool "Support SUN disklabels"
164 depends on FDISK && FEATURE_FDISK_WRITABLE
166 Enabling this option allows you to create or change SUN disklabels.
167 Most people can safely leave this option disabled.
169 config FEATURE_OSF_LABEL
170 bool "Support BSD disklabels"
172 depends on FDISK && FEATURE_FDISK_WRITABLE
174 Enabling this option allows you to create or change BSD disklabels
175 and define and edit BSD disk slices.
177 config FEATURE_FDISK_ADVANCED
178 bool "Support expert mode"
180 depends on FDISK && FEATURE_FDISK_WRITABLE
182 Enabling this option allows you to do terribly unsafe things like
183 define arbitrary drive geometry, move the beginning of data in a
184 partition, and similarly evil things. Unless you have a very good
185 reason you would be wise to leave this disabled.
192 Prints the name of a filesystem with given label or UUID.
194 With all submodules selected, it will add ~8k to busybox.
200 Manage locks from shell scripts
206 Linux allows you to create ramdisks. This utility allows you to
207 delete them and completely free all memory that was used for the
208 ramdisk. For example, if you boot Linux into a ramdisk and later
209 pivot_root, you may want to free the memory that is allocated to the
210 ramdisk. If you have no use for freeing memory from a ramdisk, leave
217 The minix filesystem is a nice, small, compact, read-write filesystem
218 with little overhead. It is not a journaling filesystem however and
219 can experience corruption if it is not properly unmounted or if the
220 power goes off in the middle of a write. This utility allows you to
221 check for and attempt to repair any corruption that occurs to a minix
228 Utility to create EXT2 filesystems.
234 The minix filesystem is a nice, small, compact, read-write filesystem
235 with little overhead. If you wish to be able to create minix
236 filesystems this utility will do the job for you.
238 config FEATURE_MINIX2
239 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
241 depends on FSCK_MINIX || MKFS_MINIX
243 If you wish to be able to create version 2 minix filesystems, enable
244 this. If you enabled 'mkfs_minix' then you almost certainly want to
245 be using the version 2 filesystem support.
251 Utility to create ReiserFS filesystems.
252 Note: this applet needs a lot of testing and polishing.
258 Utility to create FAT32 filesystems.
264 The getopt utility is used to break up (parse) options in command
265 lines to make it easy to write complex shell scripts that also check
266 for legal (and illegal) options. If you want to write horribly
267 complex shell scripts, or use some horribly complex shell script
268 written by others, this utility may be for you. Most people will
269 wisely leave this disabled.
271 config FEATURE_GETOPT_LONG
272 bool "Support option -l"
273 default y if LONG_OPTS
276 Enable support for long options (option -l).
282 The hexdump utility is used to display binary data in a readable
283 way that is comparable to the output from most hex editors.
285 config FEATURE_HEXDUMP_REVERSE
286 bool "Support -R, reverse of 'hexdump -Cv'"
290 The hexdump utility is used to display binary data in an ascii
291 readable way. This option creates binary data from an ascii input.
292 NB: this option is non-standard. It's unwise to use it in scripts
293 aimed to be portable.
300 hd is an alias to hexdump -C.
306 The hwclock utility is used to read and set the hardware clock
307 on a system. This is primarily used to set the current time on
308 shutdown in the hardware clock, so the hardware will keep the
309 correct time when Linux is _not_ running.
311 config FEATURE_HWCLOCK_LONG_OPTIONS
312 bool "Support long options (--hctosys,...)"
314 depends on HWCLOCK && LONG_OPTS
316 By default, the hwclock utility only uses short options. If you
317 are overly fond of its long options, such as --hctosys, --utc, etc)
318 then enable this option.
320 config FEATURE_HWCLOCK_ADJTIME_FHS
321 bool "Use FHS /var/lib/hwclock/adjtime"
325 Starting with FHS 2.3, the adjtime state file is supposed to exist
326 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
327 to use the FHS behavior, answer Y here, otherwise answer N for the
328 classic /etc/adjtime path.
330 pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
337 The ipcrm utility allows the removal of System V interprocess
338 communication (IPC) objects and the associated data structures
346 The ipcs utility is used to provide information on the currently
347 allocated System V interprocess (IPC) objects in the system.
353 losetup is used to associate or detach a loop device with a regular
354 file or block device, and to query the status of a loop device. This
355 version does not currently support enabling data encryption.
361 lspci is a utility for displaying information about PCI buses in the
362 system and devices connected to them.
364 This version uses sysfs (/sys/bus/pci/devices) only.
370 lsusb is a utility for displaying information about USB buses in the
371 system and devices connected to them.
373 This version uses sysfs (/sys/bus/usb/devices) only.
379 mdev is a mini-udev implementation for dynamically creating device
380 nodes in the /dev directory.
382 For more information, please see docs/mdev.txt
384 config FEATURE_MDEV_CONF
385 bool "Support /etc/mdev.conf"
389 Add support for the mdev config file to control ownership and
390 permissions of the device nodes.
392 For more information, please see docs/mdev.txt
394 config FEATURE_MDEV_RENAME
395 bool "Support subdirs/symlinks"
397 depends on FEATURE_MDEV_CONF
399 Add support for renaming devices and creating symlinks.
401 For more information, please see docs/mdev.txt
403 config FEATURE_MDEV_RENAME_REGEXP
404 bool "Support regular expressions substitutions when renaming device"
406 depends on FEATURE_MDEV_RENAME
408 Add support for regular expressions substitutions when renaming
411 config FEATURE_MDEV_EXEC
412 bool "Support command execution at device addition/removal"
414 depends on FEATURE_MDEV_CONF
416 This adds support for an optional field to /etc/mdev.conf for
417 executing commands when devices are created/removed.
419 For more information, please see docs/mdev.txt
421 config FEATURE_MDEV_LOAD_FIRMWARE
422 bool "Support loading of firmwares"
426 Some devices need to load firmware before they can be usable.
428 These devices will request userspace look up the files in
429 /lib/firmware/ and if it exists, send it to the kernel for
430 loading into the hardware.
436 The mkswap utility is used to configure a file or disk partition as
437 Linux swap space. This allows Linux to use the entire file or
438 partition as if it were additional RAM, which can greatly increase
439 the capability of low-memory machines. This additional memory is
440 much slower than real RAM, but can be very helpful at preventing your
441 applications being killed by the Linux out of memory (OOM) killer.
442 Once you have created swap space using 'mkswap' you need to enable
443 the swap space using the 'swapon' utility.
445 config FEATURE_MKSWAP_UUID
450 Generate swap spaces with universally unique identifiers.
456 more is a simple utility which allows you to read text one screen
457 sized page at a time. If you want to read text that is larger than
458 the screen, and you are using anything faster than a 300 baud modem,
459 you will probably find this utility very helpful. If you don't have
460 any need to reading text files, you can leave this disabled.
462 config FEATURE_USE_TERMIOS
463 bool "Use termios to manipulate the screen"
465 depends on MORE || TOP
467 This option allows utilities such as 'more' and 'top' to determine
468 the size of the screen. If you leave this disabled, your utilities
469 that display things on the screen will be especially primitive and
470 will be unable to determine the current screen size, and will be
471 unable to move the cursor.
477 All files and filesystems in Unix are arranged into one big directory
478 tree. The 'mount' utility is used to graft a filesystem onto a
479 particular part of the tree. A filesystem can either live on a block
480 device, or it can be accessible over the network, as is the case with
481 NFS filesystems. Most people using BusyBox will also want to enable
484 config FEATURE_MOUNT_FAKE
485 bool "Support option -f"
489 Enable support for faking a file system mount.
491 config FEATURE_MOUNT_VERBOSE
492 bool "Support option -v"
496 Enable multi-level -v[vv...] verbose messages. Useful if you
497 debug mount problems and want to see what is exactly passed
500 config FEATURE_MOUNT_HELPERS
501 bool "Support mount helpers"
505 Enable mounting of virtual file systems via external helpers.
506 E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
507 "obexfs -b00.11.22.33.44.55 /mnt"
508 Also "mount -t sometype [-o opts] fs /mnt" will try
509 "sometype [-o opts] fs /mnt" if simple mount syscall fails.
510 The idea is to use such virtual filesystems in /etc/fstab.
512 config FEATURE_MOUNT_LABEL
513 bool "Support specifying devices by label or UUID"
518 This allows for specifying a device by label or uuid, rather than by
519 name. This feature utilizes the same functionality as blkid/findfs.
520 This also enables label or uuid support for swapon.
522 config FEATURE_MOUNT_NFS
523 bool "Support mounting NFS file systems"
526 select FEATURE_HAVE_RPC
527 select FEATURE_SYSLOG
529 Enable mounting of NFS file systems.
531 config FEATURE_MOUNT_CIFS
532 bool "Support mounting CIFS/SMB file systems"
536 Enable support for samba mounts.
538 config FEATURE_MOUNT_FLAGS
540 bool "Support lots of -o flags in mount"
543 Without this, mount only supports ro/rw/remount. With this, it
544 supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
545 noatime, diratime, nodiratime, loud, bind, move, shared, slave,
546 private, unbindable, rshared, rslave, rprivate, and runbindable.
548 config FEATURE_MOUNT_FSTAB
550 bool "Support /etc/fstab and -a"
553 Support mount all and looking for files in /etc/fstab.
559 The pivot_root utility swaps the mount points for the root filesystem
560 with some other mounted filesystem. This allows you to do all sorts
561 of wild and crazy things with your Linux system and is far more
562 powerful than 'chroot'.
564 Note: This is for initrd in linux 2.4. Under initramfs (introduced
565 in linux 2.6) use switch_root instead.
571 The rdate utility allows you to synchronize the date and time of your
572 system clock with the date and time of a remote networked system using
573 the RFC868 protocol, which is built into the inetd daemon on most
580 Print the device node associated with the filesystem mounted at '/'.
586 This allows you to parse /proc/profile for basic profiling.
592 Enter a system sleep state until specified wakeup time.
598 The script makes typescript of terminal session.
604 This program replays a typescript, using timing information
611 The linux32 utility is used to create a 32bit environment for the
612 specified program (usually a shell). It only makes sense to have
613 this util on a system that supports both 64bit and 32bit userland
614 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
620 This option enables both the 'swapon' and the 'swapoff' utilities.
621 Once you have created some swap space using 'mkswap', you also need
622 to enable your swap space with the 'swapon' utility. The 'swapoff'
623 utility is used, typically at system shutdown, to disable any swap
624 space. If you are not using any swap space, you can leave this
627 config FEATURE_SWAPON_PRI
628 bool "Support priority option -p"
632 Enable support for setting swap device priority in swapon.
638 The switch_root utility is used from initramfs to select a new
639 root device. Under initramfs, you have to use this instead of
640 pivot_root. (Stop reading here if you don't care why.)
642 Booting with initramfs extracts a gzipped cpio archive into rootfs
643 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
644 or unmounted*, pivot_root will not work from initramfs. Instead,
645 switch_root deletes everything out of rootfs (including itself),
646 does a mount --move that overmounts rootfs with the new root, and
647 then execs the specified init program.
649 * Because the Linux kernel uses rootfs internally as the starting
650 and ending point for searching through the kernel's doubly linked
651 list of active mount points. That's why.
657 When you want to remove a mounted filesystem from its current mount
658 point, for example when you are shutting down the system, the
659 'umount' utility is the tool to use. If you enabled the 'mount'
660 utility, you almost certainly also want to enable 'umount'.
662 config FEATURE_UMOUNT_ALL
663 bool "Support option -a"
667 Support -a option to unmount all currently mounted filesystems.
669 comment "Common options for mount/umount"
670 depends on MOUNT || UMOUNT
672 config FEATURE_MOUNT_LOOP
673 bool "Support loopback mounts"
675 depends on MOUNT || UMOUNT
677 Enabling this feature allows automatic mounting of files (containing
678 filesystem images) via the linux kernel's loopback devices.
679 The mount command will detect you are trying to mount a file instead
680 of a block device, and transparently associate the file with a
681 loopback device. The umount command will also free that loopback
684 You can still use the 'losetup' utility (to manually associate files
685 with loop devices) if you need to do something advanced, such as
686 specify an offset or cryptographic options to the loopback device.
687 (If you don't want umount to free the loop device, use "umount -D".)
689 config FEATURE_MOUNT_LOOP_CREATE
690 bool "Create new loopback devices if needed"
692 depends on FEATURE_MOUNT_LOOP
694 Linux kernels >= 2.6.24 support unlimited loopback devices. They are
695 allocated for use when trying to use a loop device. The loop device
698 This feature lets mount to try to create next /dev/loopN device
699 if it does not find a free one.
701 config FEATURE_MTAB_SUPPORT
702 bool "Support for the old /etc/mtab file"
704 depends on MOUNT || UMOUNT
705 select FEATURE_MOUNT_FAKE
707 Historically, Unix systems kept track of the currently mounted
708 partitions in the file "/etc/mtab". These days, the kernel exports
709 the list of currently mounted partitions in "/proc/mounts", rendering
710 the old mtab file obsolete. (In modern systems, /etc/mtab should be
711 a symlink to /proc/mounts.)
713 The only reason to have mount maintain an /etc/mtab file itself is if
714 your stripped-down embedded system does not have a /proc directory.
715 If you must use this, keep in mind it's inherently brittle (for
716 example a mount under chroot won't update it), can't handle modern
717 features like separate per-process filesystem namespaces, requires
718 that your /etc directory be writable, tends to get easily confused
719 by --bind or --move mounts, won't update if you rename a directory
720 that contains a mount point, and so on. (In brief: avoid.)
722 About the only reason to use this is if you've removed /proc from
726 bool #No description makes it a hidden option
729 menu "Filesystem/Volume identification"
732 config FEATURE_VOLUMEID_EXT
733 bool "Ext filesystem"
739 config FEATURE_VOLUMEID_BTRFS
740 bool "btrfs filesystem"
746 config FEATURE_VOLUMEID_REISERFS
747 bool "Reiser filesystem"
753 config FEATURE_VOLUMEID_FAT
754 bool "fat filesystem"
760 config FEATURE_VOLUMEID_HFS
761 bool "hfs filesystem"
767 config FEATURE_VOLUMEID_JFS
768 bool "jfs filesystem"
774 ### config FEATURE_VOLUMEID_UFS
775 ### bool "ufs filesystem"
777 ### depends on VOLUMEID
781 config FEATURE_VOLUMEID_XFS
782 bool "xfs filesystem"
788 config FEATURE_VOLUMEID_NTFS
789 bool "ntfs filesystem"
795 config FEATURE_VOLUMEID_ISO9660
796 bool "iso9660 filesystem"
802 config FEATURE_VOLUMEID_UDF
803 bool "udf filesystem"
809 config FEATURE_VOLUMEID_LUKS
810 bool "luks filesystem"
816 config FEATURE_VOLUMEID_LINUXSWAP
817 bool "linux swap filesystem"
823 ### config FEATURE_VOLUMEID_LVM
826 ### depends on VOLUMEID
830 config FEATURE_VOLUMEID_CRAMFS
831 bool "cramfs filesystem"
837 ### config FEATURE_VOLUMEID_HPFS
838 ### bool "hpfs filesystem"
840 ### depends on VOLUMEID
844 config FEATURE_VOLUMEID_ROMFS
845 bool "romfs filesystem"
851 config FEATURE_VOLUMEID_SYSV
852 bool "sysv filesystem"
858 ### config FEATURE_VOLUMEID_MINIX
859 ### bool "minix filesystem"
861 ### depends on VOLUMEID
865 ### These only detect partition tables - not used (yet?)
866 ### config FEATURE_VOLUMEID_MAC
867 ### bool "mac filesystem"
869 ### depends on VOLUMEID
873 ### config FEATURE_VOLUMEID_MSDOS
874 ### bool "msdos filesystem"
876 ### depends on VOLUMEID
880 config FEATURE_VOLUMEID_OCFS2
881 bool "ocfs2 filesystem"
887 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
888 ### bool "highpoint raid"
890 ### depends on VOLUMEID
894 ### config FEATURE_VOLUMEID_ISWRAID
895 ### bool "intel raid"
897 ### depends on VOLUMEID
901 ### config FEATURE_VOLUMEID_LSIRAID
904 ### depends on VOLUMEID
908 ### config FEATURE_VOLUMEID_VIARAID
911 ### depends on VOLUMEID
915 ### config FEATURE_VOLUMEID_SILICONRAID
916 ### bool "silicon raid"
918 ### depends on VOLUMEID
922 ### config FEATURE_VOLUMEID_NVIDIARAID
923 ### bool "nvidia raid"
925 ### depends on VOLUMEID
929 ### config FEATURE_VOLUMEID_PROMISERAID
930 ### bool "promise raid"
932 ### depends on VOLUMEID
936 config FEATURE_VOLUMEID_LINUXRAID