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.
43 config FEATURE_BLKID_TYPE
44 bool "Print filesystem type"
48 Show TYPE="filesystem type"
53 depends on PLATFORM_LINUX
55 dmesg is used to examine or control the kernel ring buffer. When the
56 Linux kernel prints messages to the system log, they are stored in
57 the kernel ring buffer. You can use dmesg to print the kernel's ring
58 buffer, clear the kernel ring buffer, change the size of the kernel
59 ring buffer, and change the priority level at which kernel messages
60 are also logged to the system console. Enable this option if you
61 wish to enable the 'dmesg' utility.
63 config FEATURE_DMESG_PRETTY
64 bool "Pretty dmesg output"
68 If you wish to scrub the syslog level from the output, say 'Y' here.
69 The syslog level is a string prefixed to every line with the form
72 With this option you will see:
74 Linux version 2.6.17.4 .....
75 BIOS-provided physical RAM map:
76 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
78 Without this option you will see:
80 <5>Linux version 2.6.17.4 .....
81 <6>BIOS-provided physical RAM map:
82 <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
87 depends on PLATFORM_LINUX
89 fbset is used to show or change the settings of a Linux frame buffer
90 device. The frame buffer device provides a simple and unique
91 interface to access a graphics display. Enable this option
92 if you wish to enable the 'fbset' utility.
94 config FEATURE_FBSET_FANCY
95 bool "Turn on extra fbset options"
99 This option enables extended fbset options, allowing one to set the
100 framebuffer size, color depth, etc. interface to access a graphics
101 display. Enable this option if you wish to enable extended fbset
104 config FEATURE_FBSET_READMODE
105 bool "Turn on fbset readmode support"
109 This option allows fbset to read the video mode database stored by
110 default as /etc/fb.modes, which can be used to set frame buffer
111 device to pre-defined video modes.
116 depends on PLATFORM_LINUX
118 fdflush is only needed when changing media on slightly-broken
119 removable media drives. It is used to make Linux believe that a
120 hardware disk-change switch has been actuated, which causes Linux to
121 forget anything it has cached from the previous media. If you have
122 such a slightly-broken drive, you will need to run fdflush every time
123 you change a disk. Most people have working hardware and can safely
129 depends on PLATFORM_LINUX
131 fdformat is used to low-level format a floppy disk.
136 depends on PLATFORM_LINUX
138 The fdisk utility is used to divide hard disks into one or more
139 logical disks, which are generally called partitions. This utility
140 can be used to list and edit the set of partitions or BSD style
141 'disk slices' that are defined on a hard drive.
143 config FDISK_SUPPORT_LARGE_DISKS
144 bool "Support over 4GB disks"
148 Enable this option to support large disks > 4GB.
150 config FEATURE_FDISK_WRITABLE
155 Enabling this option allows you to create or change a partition table
156 and write those changes out to disk. If you leave this option
157 disabled, you will only be able to view the partition table.
159 config FEATURE_AIX_LABEL
160 bool "Support AIX disklabels"
162 depends on FDISK && FEATURE_FDISK_WRITABLE
164 Enabling this option allows you to create or change AIX disklabels.
165 Most people can safely leave this option disabled.
167 config FEATURE_SGI_LABEL
168 bool "Support SGI disklabels"
170 depends on FDISK && FEATURE_FDISK_WRITABLE
172 Enabling this option allows you to create or change SGI disklabels.
173 Most people can safely leave this option disabled.
175 config FEATURE_SUN_LABEL
176 bool "Support SUN disklabels"
178 depends on FDISK && FEATURE_FDISK_WRITABLE
180 Enabling this option allows you to create or change SUN disklabels.
181 Most people can safely leave this option disabled.
183 config FEATURE_OSF_LABEL
184 bool "Support BSD disklabels"
186 depends on FDISK && FEATURE_FDISK_WRITABLE
188 Enabling this option allows you to create or change BSD disklabels
189 and define and edit BSD disk slices.
191 config FEATURE_GPT_LABEL
192 bool "Support GPT disklabels"
194 depends on FDISK && FEATURE_FDISK_WRITABLE
196 Enabling this option allows you to view GUID Partition Table
199 config FEATURE_FDISK_ADVANCED
200 bool "Support expert mode"
202 depends on FDISK && FEATURE_FDISK_WRITABLE
204 Enabling this option allows you to do terribly unsafe things like
205 define arbitrary drive geometry, move the beginning of data in a
206 partition, and similarly evil things. Unless you have a very good
207 reason you would be wise to leave this disabled.
212 depends on PLATFORM_LINUX
215 Prints the name of a filesystem with given label or UUID.
217 With all submodules selected, it will add ~8k to busybox.
223 Manage locks from shell scripts
228 depends on PLATFORM_LINUX
230 Linux allows you to create ramdisks. This utility allows you to
231 delete them and completely free all memory that was used for the
232 ramdisk. For example, if you boot Linux into a ramdisk and later
233 pivot_root, you may want to free the memory that is allocated to the
234 ramdisk. If you have no use for freeing memory from a ramdisk, leave
241 The minix filesystem is a nice, small, compact, read-write filesystem
242 with little overhead. It is not a journaling filesystem however and
243 can experience corruption if it is not properly unmounted or if the
244 power goes off in the middle of a write. This utility allows you to
245 check for and attempt to repair any corruption that occurs to a minix
251 depends on PLATFORM_LINUX
253 Utility to create EXT2 filesystems.
258 depends on PLATFORM_LINUX
260 The minix filesystem is a nice, small, compact, read-write filesystem
261 with little overhead. If you wish to be able to create minix
262 filesystems this utility will do the job for you.
264 config FEATURE_MINIX2
265 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
267 depends on FSCK_MINIX || MKFS_MINIX
269 If you wish to be able to create version 2 minix filesystems, enable
270 this. If you enabled 'mkfs_minix' then you almost certainly want to
271 be using the version 2 filesystem support.
276 depends on PLATFORM_LINUX
278 Utility to create ReiserFS filesystems.
279 Note: this applet needs a lot of testing and polishing.
284 depends on PLATFORM_LINUX
286 Utility to create FAT32 filesystems.
292 The getopt utility is used to break up (parse) options in command
293 lines to make it easy to write complex shell scripts that also check
294 for legal (and illegal) options. If you want to write horribly
295 complex shell scripts, or use some horribly complex shell script
296 written by others, this utility may be for you. Most people will
297 wisely leave this disabled.
299 config FEATURE_GETOPT_LONG
300 bool "Support option -l"
301 default y if LONG_OPTS
304 Enable support for long options (option -l).
310 The hexdump utility is used to display binary data in a readable
311 way that is comparable to the output from most hex editors.
313 config FEATURE_HEXDUMP_REVERSE
314 bool "Support -R, reverse of 'hexdump -Cv'"
318 The hexdump utility is used to display binary data in an ascii
319 readable way. This option creates binary data from an ascii input.
320 NB: this option is non-standard. It's unwise to use it in scripts
321 aimed to be portable.
328 hd is an alias to hexdump -C.
333 depends on PLATFORM_LINUX
335 The hwclock utility is used to read and set the hardware clock
336 on a system. This is primarily used to set the current time on
337 shutdown in the hardware clock, so the hardware will keep the
338 correct time when Linux is _not_ running.
340 config FEATURE_HWCLOCK_LONG_OPTIONS
341 bool "Support long options (--hctosys,...)"
343 depends on HWCLOCK && LONG_OPTS
345 By default, the hwclock utility only uses short options. If you
346 are overly fond of its long options, such as --hctosys, --utc, etc)
347 then enable this option.
349 config FEATURE_HWCLOCK_ADJTIME_FHS
350 bool "Use FHS /var/lib/hwclock/adjtime"
351 default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
354 Starting with FHS 2.3, the adjtime state file is supposed to exist
355 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
356 to use the FHS behavior, answer Y here, otherwise answer N for the
357 classic /etc/adjtime path.
359 pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
366 The ipcrm utility allows the removal of System V interprocess
367 communication (IPC) objects and the associated data structures
373 depends on PLATFORM_LINUX
376 The ipcs utility is used to provide information on the currently
377 allocated System V interprocess (IPC) objects in the system.
382 depends on PLATFORM_LINUX
384 losetup is used to associate or detach a loop device with a regular
385 file or block device, and to query the status of a loop device. This
386 version does not currently support enabling data encryption.
391 #depends on PLATFORM_LINUX
393 lspci is a utility for displaying information about PCI buses in the
394 system and devices connected to them.
396 This version uses sysfs (/sys/bus/pci/devices) only.
401 #depends on PLATFORM_LINUX
403 lsusb is a utility for displaying information about USB buses in the
404 system and devices connected to them.
406 This version uses sysfs (/sys/bus/usb/devices) only.
411 depends on PLATFORM_LINUX
413 mdev is a mini-udev implementation for dynamically creating device
414 nodes in the /dev directory.
416 For more information, please see docs/mdev.txt
418 config FEATURE_MDEV_CONF
419 bool "Support /etc/mdev.conf"
423 Add support for the mdev config file to control ownership and
424 permissions of the device nodes.
426 For more information, please see docs/mdev.txt
428 config FEATURE_MDEV_RENAME
429 bool "Support subdirs/symlinks"
431 depends on FEATURE_MDEV_CONF
433 Add support for renaming devices and creating symlinks.
435 For more information, please see docs/mdev.txt
437 config FEATURE_MDEV_RENAME_REGEXP
438 bool "Support regular expressions substitutions when renaming device"
440 depends on FEATURE_MDEV_RENAME
442 Add support for regular expressions substitutions when renaming
445 config FEATURE_MDEV_EXEC
446 bool "Support command execution at device addition/removal"
448 depends on FEATURE_MDEV_CONF
450 This adds support for an optional field to /etc/mdev.conf for
451 executing commands when devices are created/removed.
453 For more information, please see docs/mdev.txt
455 config FEATURE_MDEV_LOAD_FIRMWARE
456 bool "Support loading of firmwares"
460 Some devices need to load firmware before they can be usable.
462 These devices will request userspace look up the files in
463 /lib/firmware/ and if it exists, send it to the kernel for
464 loading into the hardware.
470 The mkswap utility is used to configure a file or disk partition as
471 Linux swap space. This allows Linux to use the entire file or
472 partition as if it were additional RAM, which can greatly increase
473 the capability of low-memory machines. This additional memory is
474 much slower than real RAM, but can be very helpful at preventing your
475 applications being killed by the Linux out of memory (OOM) killer.
476 Once you have created swap space using 'mkswap' you need to enable
477 the swap space using the 'swapon' utility.
479 config FEATURE_MKSWAP_UUID
484 Generate swap spaces with universally unique identifiers.
490 more is a simple utility which allows you to read text one screen
491 sized page at a time. If you want to read text that is larger than
492 the screen, and you are using anything faster than a 300 baud modem,
493 you will probably find this utility very helpful. If you don't have
494 any need to reading text files, you can leave this disabled.
499 depends on PLATFORM_LINUX
501 All files and filesystems in Unix are arranged into one big directory
502 tree. The 'mount' utility is used to graft a filesystem onto a
503 particular part of the tree. A filesystem can either live on a block
504 device, or it can be accessible over the network, as is the case with
505 NFS filesystems. Most people using BusyBox will also want to enable
508 config FEATURE_MOUNT_FAKE
509 bool "Support option -f"
513 Enable support for faking a file system mount.
515 config FEATURE_MOUNT_VERBOSE
516 bool "Support option -v"
520 Enable multi-level -v[vv...] verbose messages. Useful if you
521 debug mount problems and want to see what is exactly passed
524 config FEATURE_MOUNT_HELPERS
525 bool "Support mount helpers"
529 Enable mounting of virtual file systems via external helpers.
530 E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
531 "obexfs -b00.11.22.33.44.55 /mnt"
532 Also "mount -t sometype [-o opts] fs /mnt" will try
533 "sometype [-o opts] fs /mnt" if simple mount syscall fails.
534 The idea is to use such virtual filesystems in /etc/fstab.
536 config FEATURE_MOUNT_LABEL
537 bool "Support specifying devices by label or UUID"
542 This allows for specifying a device by label or uuid, rather than by
543 name. This feature utilizes the same functionality as blkid/findfs.
544 This also enables label or uuid support for swapon.
546 config FEATURE_MOUNT_NFS
547 bool "Support mounting NFS file systems"
550 select FEATURE_HAVE_RPC
551 select FEATURE_SYSLOG
553 Enable mounting of NFS file systems.
555 config FEATURE_MOUNT_CIFS
556 bool "Support mounting CIFS/SMB file systems"
560 Enable support for samba mounts.
562 config FEATURE_MOUNT_FLAGS
564 bool "Support lots of -o flags in mount"
567 Without this, mount only supports ro/rw/remount. With this, it
568 supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
569 noatime, diratime, nodiratime, loud, bind, move, shared, slave,
570 private, unbindable, rshared, rslave, rprivate, and runbindable.
572 config FEATURE_MOUNT_FSTAB
574 bool "Support /etc/fstab and -a"
577 Support mount all and looking for files in /etc/fstab.
582 depends on PLATFORM_LINUX
584 The pivot_root utility swaps the mount points for the root filesystem
585 with some other mounted filesystem. This allows you to do all sorts
586 of wild and crazy things with your Linux system and is far more
587 powerful than 'chroot'.
589 Note: This is for initrd in linux 2.4. Under initramfs (introduced
590 in linux 2.6) use switch_root instead.
596 The rdate utility allows you to synchronize the date and time of your
597 system clock with the date and time of a remote networked system using
598 the RFC868 protocol, which is built into the inetd daemon on most
605 Print the device node associated with the filesystem mounted at '/'.
610 #depends on PLATFORM_LINUX
612 This allows you to parse /proc/profile for basic profiling.
617 depends on PLATFORM_LINUX
619 Enter a system sleep state until specified wakeup time.
625 The script makes typescript of terminal session.
631 This program replays a typescript, using timing information
637 depends on PLATFORM_LINUX
639 The linux32 utility is used to create a 32bit environment for the
640 specified program (usually a shell). It only makes sense to have
641 this util on a system that supports both 64bit and 32bit userland
642 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
647 depends on PLATFORM_LINUX
649 This option enables both the 'swapon' and the 'swapoff' utilities.
650 Once you have created some swap space using 'mkswap', you also need
651 to enable your swap space with the 'swapon' utility. The 'swapoff'
652 utility is used, typically at system shutdown, to disable any swap
653 space. If you are not using any swap space, you can leave this
656 config FEATURE_SWAPON_PRI
657 bool "Support priority option -p"
661 Enable support for setting swap device priority in swapon.
666 depends on PLATFORM_LINUX
668 The switch_root utility is used from initramfs to select a new
669 root device. Under initramfs, you have to use this instead of
670 pivot_root. (Stop reading here if you don't care why.)
672 Booting with initramfs extracts a gzipped cpio archive into rootfs
673 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
674 or unmounted*, pivot_root will not work from initramfs. Instead,
675 switch_root deletes everything out of rootfs (including itself),
676 does a mount --move that overmounts rootfs with the new root, and
677 then execs the specified init program.
679 * Because the Linux kernel uses rootfs internally as the starting
680 and ending point for searching through the kernel's doubly linked
681 list of active mount points. That's why.
686 depends on PLATFORM_LINUX
688 When you want to remove a mounted filesystem from its current mount
689 point, for example when you are shutting down the system, the
690 'umount' utility is the tool to use. If you enabled the 'mount'
691 utility, you almost certainly also want to enable 'umount'.
693 config FEATURE_UMOUNT_ALL
694 bool "Support option -a"
698 Support -a option to unmount all currently mounted filesystems.
700 comment "Common options for mount/umount"
701 depends on MOUNT || UMOUNT
703 config FEATURE_MOUNT_LOOP
704 bool "Support loopback mounts"
706 depends on MOUNT || UMOUNT
708 Enabling this feature allows automatic mounting of files (containing
709 filesystem images) via the linux kernel's loopback devices.
710 The mount command will detect you are trying to mount a file instead
711 of a block device, and transparently associate the file with a
712 loopback device. The umount command will also free that loopback
715 You can still use the 'losetup' utility (to manually associate files
716 with loop devices) if you need to do something advanced, such as
717 specify an offset or cryptographic options to the loopback device.
718 (If you don't want umount to free the loop device, use "umount -D".)
720 config FEATURE_MOUNT_LOOP_CREATE
721 bool "Create new loopback devices if needed"
723 depends on FEATURE_MOUNT_LOOP
725 Linux kernels >= 2.6.24 support unlimited loopback devices. They are
726 allocated for use when trying to use a loop device. The loop device
729 This feature lets mount to try to create next /dev/loopN device
730 if it does not find a free one.
732 config FEATURE_MTAB_SUPPORT
733 bool "Support for the old /etc/mtab file"
735 depends on MOUNT || UMOUNT
736 select FEATURE_MOUNT_FAKE
738 Historically, Unix systems kept track of the currently mounted
739 partitions in the file "/etc/mtab". These days, the kernel exports
740 the list of currently mounted partitions in "/proc/mounts", rendering
741 the old mtab file obsolete. (In modern systems, /etc/mtab should be
742 a symlink to /proc/mounts.)
744 The only reason to have mount maintain an /etc/mtab file itself is if
745 your stripped-down embedded system does not have a /proc directory.
746 If you must use this, keep in mind it's inherently brittle (for
747 example a mount under chroot won't update it), can't handle modern
748 features like separate per-process filesystem namespaces, requires
749 that your /etc directory be writable, tends to get easily confused
750 by --bind or --move mounts, won't update if you rename a directory
751 that contains a mount point, and so on. (In brief: avoid.)
753 About the only reason to use this is if you've removed /proc from
757 bool #No description makes it a hidden option
760 menu "Filesystem/Volume identification"
763 config FEATURE_VOLUMEID_EXT
764 bool "Ext filesystem"
770 config FEATURE_VOLUMEID_BTRFS
771 bool "btrfs filesystem"
777 config FEATURE_VOLUMEID_REISERFS
778 bool "Reiser filesystem"
784 config FEATURE_VOLUMEID_FAT
785 bool "fat filesystem"
791 config FEATURE_VOLUMEID_HFS
792 bool "hfs filesystem"
798 config FEATURE_VOLUMEID_JFS
799 bool "jfs filesystem"
805 ### config FEATURE_VOLUMEID_UFS
806 ### bool "ufs filesystem"
808 ### depends on VOLUMEID
812 config FEATURE_VOLUMEID_XFS
813 bool "xfs filesystem"
819 config FEATURE_VOLUMEID_NTFS
820 bool "ntfs filesystem"
826 config FEATURE_VOLUMEID_ISO9660
827 bool "iso9660 filesystem"
833 config FEATURE_VOLUMEID_UDF
834 bool "udf filesystem"
840 config FEATURE_VOLUMEID_LUKS
841 bool "luks filesystem"
847 config FEATURE_VOLUMEID_LINUXSWAP
848 bool "linux swap filesystem"
854 ### config FEATURE_VOLUMEID_LVM
857 ### depends on VOLUMEID
861 config FEATURE_VOLUMEID_CRAMFS
862 bool "cramfs filesystem"
868 ### config FEATURE_VOLUMEID_HPFS
869 ### bool "hpfs filesystem"
871 ### depends on VOLUMEID
875 config FEATURE_VOLUMEID_ROMFS
876 bool "romfs filesystem"
882 config FEATURE_VOLUMEID_SYSV
883 bool "sysv filesystem"
889 ### config FEATURE_VOLUMEID_MINIX
890 ### bool "minix filesystem"
892 ### depends on VOLUMEID
896 ### These only detect partition tables - not used (yet?)
897 ### config FEATURE_VOLUMEID_MAC
898 ### bool "mac filesystem"
900 ### depends on VOLUMEID
904 ### config FEATURE_VOLUMEID_MSDOS
905 ### bool "msdos filesystem"
907 ### depends on VOLUMEID
911 config FEATURE_VOLUMEID_OCFS2
912 bool "ocfs2 filesystem"
918 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
919 ### bool "highpoint raid"
921 ### depends on VOLUMEID
925 ### config FEATURE_VOLUMEID_ISWRAID
926 ### bool "intel raid"
928 ### depends on VOLUMEID
932 ### config FEATURE_VOLUMEID_LSIRAID
935 ### depends on VOLUMEID
939 ### config FEATURE_VOLUMEID_VIARAID
942 ### depends on VOLUMEID
946 ### config FEATURE_VOLUMEID_SILICONRAID
947 ### bool "silicon raid"
949 ### depends on VOLUMEID
953 ### config FEATURE_VOLUMEID_NVIDIARAID
954 ### bool "nvidia raid"
956 ### depends on VOLUMEID
960 ### config FEATURE_VOLUMEID_PROMISERAID
961 ### bool "promise raid"
963 ### depends on VOLUMEID
967 config FEATURE_VOLUMEID_LINUXRAID