2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Linux System Utilities"
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.
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"
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)
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 select 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 select PLATFORM_LINUX
131 fdformat is used to low-level format a floppy disk.
136 select 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"
147 depends on !LFS # with LFS no special code is needed
149 Enable this option to support large disks > 4GB.
151 config FEATURE_FDISK_WRITABLE
156 Enabling this option allows you to create or change a partition table
157 and write those changes out to disk. If you leave this option
158 disabled, you will only be able to view the partition table.
160 config FEATURE_AIX_LABEL
161 bool "Support AIX disklabels"
163 depends on FDISK && FEATURE_FDISK_WRITABLE
165 Enabling this option allows you to create or change AIX disklabels.
166 Most people can safely leave this option disabled.
168 config FEATURE_SGI_LABEL
169 bool "Support SGI disklabels"
171 depends on FDISK && FEATURE_FDISK_WRITABLE
173 Enabling this option allows you to create or change SGI disklabels.
174 Most people can safely leave this option disabled.
176 config FEATURE_SUN_LABEL
177 bool "Support SUN disklabels"
179 depends on FDISK && FEATURE_FDISK_WRITABLE
181 Enabling this option allows you to create or change SUN disklabels.
182 Most people can safely leave this option disabled.
184 config FEATURE_OSF_LABEL
185 bool "Support BSD disklabels"
187 depends on FDISK && FEATURE_FDISK_WRITABLE
189 Enabling this option allows you to create or change BSD disklabels
190 and define and edit BSD disk slices.
192 config FEATURE_GPT_LABEL
193 bool "Support GPT disklabels"
195 depends on FDISK && FEATURE_FDISK_WRITABLE
197 Enabling this option allows you to view GUID Partition Table
200 config FEATURE_FDISK_ADVANCED
201 bool "Support expert mode"
203 depends on FDISK && FEATURE_FDISK_WRITABLE
205 Enabling this option allows you to do terribly unsafe things like
206 define arbitrary drive geometry, move the beginning of data in a
207 partition, and similarly evil things. Unless you have a very good
208 reason you would be wise to leave this disabled.
213 select PLATFORM_LINUX
216 Prints the name of a filesystem with given label or UUID.
218 With all submodules selected, it will add ~8k to busybox.
224 Manage locks from shell scripts
229 select PLATFORM_LINUX
231 Linux allows you to create ramdisks. This utility allows you to
232 delete them and completely free all memory that was used for the
233 ramdisk. For example, if you boot Linux into a ramdisk and later
234 pivot_root, you may want to free the memory that is allocated to the
235 ramdisk. If you have no use for freeing memory from a ramdisk, leave
242 The minix filesystem is a nice, small, compact, read-write filesystem
243 with little overhead. It is not a journaling filesystem however and
244 can experience corruption if it is not properly unmounted or if the
245 power goes off in the middle of a write. This utility allows you to
246 check for and attempt to repair any corruption that occurs to a minix
252 select PLATFORM_LINUX
254 Utility to create EXT2 filesystems.
259 select PLATFORM_LINUX
261 The minix filesystem is a nice, small, compact, read-write filesystem
262 with little overhead. If you wish to be able to create minix
263 filesystems this utility will do the job for you.
265 config FEATURE_MINIX2
266 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
268 depends on FSCK_MINIX || MKFS_MINIX
270 If you wish to be able to create version 2 minix filesystems, enable
271 this. If you enabled 'mkfs_minix' then you almost certainly want to
272 be using the version 2 filesystem support.
277 select PLATFORM_LINUX
279 Utility to create ReiserFS filesystems.
280 Note: this applet needs a lot of testing and polishing.
285 select PLATFORM_LINUX
287 Utility to create FAT32 filesystems.
293 The getopt utility is used to break up (parse) options in command
294 lines to make it easy to write complex shell scripts that also check
295 for legal (and illegal) options. If you want to write horribly
296 complex shell scripts, or use some horribly complex shell script
297 written by others, this utility may be for you. Most people will
298 wisely leave this disabled.
300 config FEATURE_GETOPT_LONG
301 bool "Support option -l"
302 default y if LONG_OPTS
305 Enable support for long options (option -l).
311 The hexdump utility is used to display binary data in a readable
312 way that is comparable to the output from most hex editors.
314 config FEATURE_HEXDUMP_REVERSE
315 bool "Support -R, reverse of 'hexdump -Cv'"
319 The hexdump utility is used to display binary data in an ascii
320 readable way. This option creates binary data from an ascii input.
321 NB: this option is non-standard. It's unwise to use it in scripts
322 aimed to be portable.
329 hd is an alias to hexdump -C.
334 select PLATFORM_LINUX
336 The hwclock utility is used to read and set the hardware clock
337 on a system. This is primarily used to set the current time on
338 shutdown in the hardware clock, so the hardware will keep the
339 correct time when Linux is _not_ running.
341 config FEATURE_HWCLOCK_LONG_OPTIONS
342 bool "Support long options (--hctosys,...)"
344 depends on HWCLOCK && LONG_OPTS
346 By default, the hwclock utility only uses short options. If you
347 are overly fond of its long options, such as --hctosys, --utc, etc)
348 then enable this option.
350 config FEATURE_HWCLOCK_ADJTIME_FHS
351 bool "Use FHS /var/lib/hwclock/adjtime"
352 default n # util-linux-ng in Fedora 13 still uses /etc/adjtime
355 Starting with FHS 2.3, the adjtime state file is supposed to exist
356 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
357 to use the FHS behavior, answer Y here, otherwise answer N for the
358 classic /etc/adjtime path.
360 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 select PLATFORM_LINUX
375 The ipcs utility is used to provide information on the currently
376 allocated System V interprocess (IPC) objects in the system.
381 select PLATFORM_LINUX
383 losetup is used to associate or detach a loop device with a regular
384 file or block device, and to query the status of a loop device. This
385 version does not currently support enabling data encryption.
390 #select PLATFORM_LINUX
392 lspci is a utility for displaying information about PCI buses in the
393 system and devices connected to them.
395 This version uses sysfs (/sys/bus/pci/devices) only.
400 #select PLATFORM_LINUX
402 lsusb is a utility for displaying information about USB buses in the
403 system and devices connected to them.
405 This version uses sysfs (/sys/bus/usb/devices) only.
410 select PLATFORM_LINUX
412 mdev is a mini-udev implementation for dynamically creating device
413 nodes in the /dev directory.
415 For more information, please see docs/mdev.txt
417 config FEATURE_MDEV_CONF
418 bool "Support /etc/mdev.conf"
422 Add support for the mdev config file to control ownership and
423 permissions of the device nodes.
425 For more information, please see docs/mdev.txt
427 config FEATURE_MDEV_RENAME
428 bool "Support subdirs/symlinks"
430 depends on FEATURE_MDEV_CONF
432 Add support for renaming devices and creating symlinks.
434 For more information, please see docs/mdev.txt
436 config FEATURE_MDEV_RENAME_REGEXP
437 bool "Support regular expressions substitutions when renaming device"
439 depends on FEATURE_MDEV_RENAME
441 Add support for regular expressions substitutions when renaming
444 config FEATURE_MDEV_EXEC
445 bool "Support command execution at device addition/removal"
447 depends on FEATURE_MDEV_CONF
449 This adds support for an optional field to /etc/mdev.conf for
450 executing commands when devices are created/removed.
452 For more information, please see docs/mdev.txt
454 config FEATURE_MDEV_LOAD_FIRMWARE
455 bool "Support loading of firmwares"
459 Some devices need to load firmware before they can be usable.
461 These devices will request userspace look up the files in
462 /lib/firmware/ and if it exists, send it to the kernel for
463 loading into the hardware.
469 The mkswap utility is used to configure a file or disk partition as
470 Linux swap space. This allows Linux to use the entire file or
471 partition as if it were additional RAM, which can greatly increase
472 the capability of low-memory machines. This additional memory is
473 much slower than real RAM, but can be very helpful at preventing your
474 applications being killed by the Linux out of memory (OOM) killer.
475 Once you have created swap space using 'mkswap' you need to enable
476 the swap space using the 'swapon' utility.
478 config FEATURE_MKSWAP_UUID
483 Generate swap spaces with universally unique identifiers.
489 more is a simple utility which allows you to read text one screen
490 sized page at a time. If you want to read text that is larger than
491 the screen, and you are using anything faster than a 300 baud modem,
492 you will probably find this utility very helpful. If you don't have
493 any need to reading text files, you can leave this disabled.
498 select PLATFORM_LINUX
500 All files and filesystems in Unix are arranged into one big directory
501 tree. The 'mount' utility is used to graft a filesystem onto a
502 particular part of the tree. A filesystem can either live on a block
503 device, or it can be accessible over the network, as is the case with
504 NFS filesystems. Most people using BusyBox will also want to enable
507 config FEATURE_MOUNT_FAKE
508 bool "Support option -f"
512 Enable support for faking a file system mount.
514 config FEATURE_MOUNT_VERBOSE
515 bool "Support option -v"
519 Enable multi-level -v[vv...] verbose messages. Useful if you
520 debug mount problems and want to see what is exactly passed
523 config FEATURE_MOUNT_HELPERS
524 bool "Support mount helpers"
528 Enable mounting of virtual file systems via external helpers.
529 E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
530 "obexfs -b00.11.22.33.44.55 /mnt"
531 Also "mount -t sometype [-o opts] fs /mnt" will try
532 "sometype [-o opts] fs /mnt" if simple mount syscall fails.
533 The idea is to use such virtual filesystems in /etc/fstab.
535 config FEATURE_MOUNT_LABEL
536 bool "Support specifying devices by label or UUID"
541 This allows for specifying a device by label or uuid, rather than by
542 name. This feature utilizes the same functionality as blkid/findfs.
543 This also enables label or uuid support for swapon.
545 config FEATURE_MOUNT_NFS
546 bool "Support mounting NFS file systems"
549 select FEATURE_HAVE_RPC
550 select FEATURE_SYSLOG
552 Enable mounting of NFS file systems.
554 config FEATURE_MOUNT_CIFS
555 bool "Support mounting CIFS/SMB file systems"
559 Enable support for samba mounts.
561 config FEATURE_MOUNT_FLAGS
563 bool "Support lots of -o flags in mount"
566 Without this, mount only supports ro/rw/remount. With this, it
567 supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
568 noatime, diratime, nodiratime, loud, bind, move, shared, slave,
569 private, unbindable, rshared, rslave, rprivate, and runbindable.
571 config FEATURE_MOUNT_FSTAB
573 bool "Support /etc/fstab and -a"
576 Support mount all and looking for files in /etc/fstab.
581 select PLATFORM_LINUX
583 The pivot_root utility swaps the mount points for the root filesystem
584 with some other mounted filesystem. This allows you to do all sorts
585 of wild and crazy things with your Linux system and is far more
586 powerful than 'chroot'.
588 Note: This is for initrd in linux 2.4. Under initramfs (introduced
589 in linux 2.6) use switch_root instead.
595 The rdate utility allows you to synchronize the date and time of your
596 system clock with the date and time of a remote networked system using
597 the RFC868 protocol, which is built into the inetd daemon on most
604 Print the device node associated with the filesystem mounted at '/'.
609 #select PLATFORM_LINUX
611 This allows you to parse /proc/profile for basic profiling.
616 select PLATFORM_LINUX
618 Enter a system sleep state until specified wakeup time.
624 The script makes typescript of terminal session.
630 This program replays a typescript, using timing information
636 select PLATFORM_LINUX
638 The linux32 utility is used to create a 32bit environment for the
639 specified program (usually a shell). It only makes sense to have
640 this util on a system that supports both 64bit and 32bit userland
641 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
646 select PLATFORM_LINUX
648 This option enables both the 'swapon' and the 'swapoff' utilities.
649 Once you have created some swap space using 'mkswap', you also need
650 to enable your swap space with the 'swapon' utility. The 'swapoff'
651 utility is used, typically at system shutdown, to disable any swap
652 space. If you are not using any swap space, you can leave this
655 config FEATURE_SWAPON_PRI
656 bool "Support priority option -p"
660 Enable support for setting swap device priority in swapon.
665 select PLATFORM_LINUX
667 The switch_root utility is used from initramfs to select a new
668 root device. Under initramfs, you have to use this instead of
669 pivot_root. (Stop reading here if you don't care why.)
671 Booting with initramfs extracts a gzipped cpio archive into rootfs
672 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
673 or unmounted*, pivot_root will not work from initramfs. Instead,
674 switch_root deletes everything out of rootfs (including itself),
675 does a mount --move that overmounts rootfs with the new root, and
676 then execs the specified init program.
678 * Because the Linux kernel uses rootfs internally as the starting
679 and ending point for searching through the kernel's doubly linked
680 list of active mount points. That's why.
685 select PLATFORM_LINUX
687 When you want to remove a mounted filesystem from its current mount
688 point, for example when you are shutting down the system, the
689 'umount' utility is the tool to use. If you enabled the 'mount'
690 utility, you almost certainly also want to enable 'umount'.
692 config FEATURE_UMOUNT_ALL
693 bool "Support option -a"
697 Support -a option to unmount all currently mounted filesystems.
699 comment "Common options for mount/umount"
700 depends on MOUNT || UMOUNT
702 config FEATURE_MOUNT_LOOP
703 bool "Support loopback mounts"
705 depends on MOUNT || UMOUNT
707 Enabling this feature allows automatic mounting of files (containing
708 filesystem images) via the linux kernel's loopback devices.
709 The mount command will detect you are trying to mount a file instead
710 of a block device, and transparently associate the file with a
711 loopback device. The umount command will also free that loopback
714 You can still use the 'losetup' utility (to manually associate files
715 with loop devices) if you need to do something advanced, such as
716 specify an offset or cryptographic options to the loopback device.
717 (If you don't want umount to free the loop device, use "umount -D".)
719 config FEATURE_MOUNT_LOOP_CREATE
720 bool "Create new loopback devices if needed"
722 depends on FEATURE_MOUNT_LOOP
724 Linux kernels >= 2.6.24 support unlimited loopback devices. They are
725 allocated for use when trying to use a loop device. The loop device
728 This feature lets mount to try to create next /dev/loopN device
729 if it does not find a free one.
731 config FEATURE_MTAB_SUPPORT
732 bool "Support for the old /etc/mtab file"
734 depends on MOUNT || UMOUNT
735 select FEATURE_MOUNT_FAKE
737 Historically, Unix systems kept track of the currently mounted
738 partitions in the file "/etc/mtab". These days, the kernel exports
739 the list of currently mounted partitions in "/proc/mounts", rendering
740 the old mtab file obsolete. (In modern systems, /etc/mtab should be
741 a symlink to /proc/mounts.)
743 The only reason to have mount maintain an /etc/mtab file itself is if
744 your stripped-down embedded system does not have a /proc directory.
745 If you must use this, keep in mind it's inherently brittle (for
746 example a mount under chroot won't update it), can't handle modern
747 features like separate per-process filesystem namespaces, requires
748 that your /etc directory be writable, tends to get easily confused
749 by --bind or --move mounts, won't update if you rename a directory
750 that contains a mount point, and so on. (In brief: avoid.)
752 About the only reason to use this is if you've removed /proc from
756 bool #No description makes it a hidden option
759 menu "Filesystem/Volume identification"
762 config FEATURE_VOLUMEID_EXT
763 bool "Ext filesystem"
769 config FEATURE_VOLUMEID_BTRFS
770 bool "btrfs filesystem"
776 config FEATURE_VOLUMEID_REISERFS
777 bool "Reiser filesystem"
783 config FEATURE_VOLUMEID_FAT
784 bool "fat filesystem"
790 config FEATURE_VOLUMEID_HFS
791 bool "hfs filesystem"
797 config FEATURE_VOLUMEID_JFS
798 bool "jfs filesystem"
804 ### config FEATURE_VOLUMEID_UFS
805 ### bool "ufs filesystem"
807 ### depends on VOLUMEID
811 config FEATURE_VOLUMEID_XFS
812 bool "xfs filesystem"
818 config FEATURE_VOLUMEID_NTFS
819 bool "ntfs filesystem"
825 config FEATURE_VOLUMEID_ISO9660
826 bool "iso9660 filesystem"
832 config FEATURE_VOLUMEID_UDF
833 bool "udf filesystem"
839 config FEATURE_VOLUMEID_LUKS
840 bool "luks filesystem"
846 config FEATURE_VOLUMEID_LINUXSWAP
847 bool "linux swap filesystem"
853 ### config FEATURE_VOLUMEID_LVM
856 ### depends on VOLUMEID
860 config FEATURE_VOLUMEID_CRAMFS
861 bool "cramfs filesystem"
867 ### config FEATURE_VOLUMEID_HPFS
868 ### bool "hpfs filesystem"
870 ### depends on VOLUMEID
874 config FEATURE_VOLUMEID_ROMFS
875 bool "romfs filesystem"
881 config FEATURE_VOLUMEID_SYSV
882 bool "sysv filesystem"
888 ### config FEATURE_VOLUMEID_MINIX
889 ### bool "minix filesystem"
891 ### depends on VOLUMEID
895 ### These only detect partition tables - not used (yet?)
896 ### config FEATURE_VOLUMEID_MAC
897 ### bool "mac filesystem"
899 ### depends on VOLUMEID
903 ### config FEATURE_VOLUMEID_MSDOS
904 ### bool "msdos filesystem"
906 ### depends on VOLUMEID
910 config FEATURE_VOLUMEID_OCFS2
911 bool "ocfs2 filesystem"
917 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
918 ### bool "highpoint raid"
920 ### depends on VOLUMEID
924 ### config FEATURE_VOLUMEID_ISWRAID
925 ### bool "intel raid"
927 ### depends on VOLUMEID
931 ### config FEATURE_VOLUMEID_LSIRAID
934 ### depends on VOLUMEID
938 ### config FEATURE_VOLUMEID_VIARAID
941 ### depends on VOLUMEID
945 ### config FEATURE_VOLUMEID_SILICONRAID
946 ### bool "silicon raid"
948 ### depends on VOLUMEID
952 ### config FEATURE_VOLUMEID_NVIDIARAID
953 ### bool "nvidia raid"
955 ### depends on VOLUMEID
959 ### config FEATURE_VOLUMEID_PROMISERAID
960 ### bool "promise raid"
962 ### depends on VOLUMEID
966 config FEATURE_VOLUMEID_LINUXRAID