2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Linux System Utilities"
12 dmesg is used to examine or control the kernel ring buffer. When the
13 Linux kernel prints messages to the system log, they are stored in
14 the kernel ring buffer. You can use dmesg to print the kernel's ring
15 buffer, clear the kernel ring buffer, change the size of the kernel
16 ring buffer, and change the priority level at which kernel messages
17 are also logged to the system console. Enable this option if you
18 wish to enable the 'dmesg' utility.
20 config FEATURE_DMESG_PRETTY
21 bool "Pretty dmesg output"
25 If you wish to scrub the syslog level from the output, say 'Y' here.
26 The syslog level is a string prefixed to every line with the form "<#>".
28 With this option you will see:
30 Linux version 2.6.17.4 .....
31 BIOS-provided physical RAM map:
32 BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
34 Without this option you will see:
36 <5>Linux version 2.6.17.4 .....
37 <6>BIOS-provided physical RAM map:
38 <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
44 fbset is used to show or change the settings of a Linux frame buffer
45 device. The frame buffer device provides a simple and unique
46 interface to access a graphics display. Enable this option
47 if you wish to enable the 'fbset' utility.
49 config FEATURE_FBSET_FANCY
50 bool "Turn on extra fbset options"
54 This option enables extended fbset options, allowing one to set the
55 framebuffer size, color depth, etc. interface to access a graphics
56 display. Enable this option if you wish to enable extended fbset
59 config FEATURE_FBSET_READMODE
60 bool "Turn on fbset readmode support"
64 This option allows fbset to read the video mode database stored by
65 default as /etc/fb.modes, which can be used to set frame buffer
66 device to pre-defined video modes.
72 fdflush is only needed when changing media on slightly-broken
73 removable media drives. It is used to make Linux believe that a
74 hardware disk-change switch has been actuated, which causes Linux to
75 forget anything it has cached from the previous media. If you have
76 such a slightly-broken drive, you will need to run fdflush every time
77 you change a disk. Most people have working hardware and can safely
84 fdformat is used to low-level format a floppy disk.
90 The fdisk utility is used to divide hard disks into one or more
91 logical disks, which are generally called partitions. This utility
92 can be used to list and edit the set of partitions or BSD style
93 'disk slices' that are defined on a hard drive.
95 config FDISK_SUPPORT_LARGE_DISKS
96 bool "Support over 4GB disks"
100 Enable this option to support large disks > 4GB.
102 config FEATURE_FDISK_WRITABLE
107 Enabling this option allows you to create or change a partition table
108 and write those changes out to disk. If you leave this option
109 disabled, you will only be able to view the partition table.
111 config FEATURE_AIX_LABEL
112 bool "Support AIX disklabels"
114 depends on FDISK && FEATURE_FDISK_WRITABLE
116 Enabling this option allows you to create or change AIX disklabels.
117 Most people can safely leave this option disabled.
119 config FEATURE_SGI_LABEL
120 bool "Support SGI disklabels"
122 depends on FDISK && FEATURE_FDISK_WRITABLE
124 Enabling this option allows you to create or change SGI disklabels.
125 Most people can safely leave this option disabled.
127 config FEATURE_SUN_LABEL
128 bool "Support SUN disklabels"
130 depends on FDISK && FEATURE_FDISK_WRITABLE
132 Enabling this option allows you to create or change SUN disklabels.
133 Most people can safely leave this option disabled.
135 config FEATURE_OSF_LABEL
136 bool "Support BSD disklabels"
138 depends on FDISK && FEATURE_FDISK_WRITABLE
140 Enabling this option allows you to create or change BSD disklabels
141 and define and edit BSD disk slices.
143 config FEATURE_FDISK_ADVANCED
144 bool "Support expert mode"
146 depends on FDISK && FEATURE_FDISK_WRITABLE
148 Enabling this option allows you to do terribly unsafe things like
149 define arbitrary drive geometry, move the beginning of data in a
150 partition, and similarly evil things. Unless you have a very good
151 reason you would be wise to leave this disabled.
158 This is similar to the findfs program that is part of the e2fsprogs
159 package. However, the e2fsprogs version only support ext2/3. This
160 version supports those in addition to FAT, swap, and ReiserFS.
162 With all submodules selected, it will add ~8k to busybox.
168 Linux allows you to create ramdisks. This utility allows you to
169 delete them and completely free all memory that was used for the
170 ramdisk. For example, if you boot Linux into a ramdisk and later
171 pivot_root, you may want to free the memory that is allocated to the
172 ramdisk. If you have no use for freeing memory from a ramdisk, leave
179 The minix filesystem is a nice, small, compact, read-write filesystem
180 with little overhead. It is not a journaling filesystem however and
181 can experience corruption if it is not properly unmounted or if the
182 power goes off in the middle of a write. This utility allows you to
183 check for and attempt to repair any corruption that occurs to a minix
190 The minix filesystem is a nice, small, compact, read-write filesystem
191 with little overhead. If you wish to be able to create minix filesystems
192 this utility will do the job for you.
194 comment "Minix filesystem support"
195 depends on FSCK_MINIX || MKFS_MINIX
197 config FEATURE_MINIX2
198 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
200 depends on FSCK_MINIX || MKFS_MINIX
202 If you wish to be able to create version 2 minix filesystems, enable this.
203 If you enabled 'mkfs_minix' then you almost certainly want to be using the
204 version 2 filesystem support.
210 The getopt utility is used to break up (parse) options in command
211 lines to make it easy to write complex shell scripts that also check
212 for legal (and illegal) options. If you want to write horribly
213 complex shell scripts, or use some horribly complex shell script
214 written by others, this utility may be for you. Most people will
215 wisely leave this disabled.
221 The hexdump utility is used to display binary data in a readable
222 way that is comparable to the output from most hex editors.
224 config FEATURE_HEXDUMP_REVERSE
225 bool "Support -R, reverse of 'hexdump -Cv'"
229 The hexdump utility is used to display binary data in an ascii
230 readable way. This option creates binary data from an ascii input.
231 NB: this option is non-standard. It's unwise to use it in scripts
232 aimed to be portable.
239 hd is an alias to hexdump -C.
245 The hwclock utility is used to read and set the hardware clock
246 on a system. This is primarily used to set the current time on
247 shutdown in the hardware clock, so the hardware will keep the
248 correct time when Linux is _not_ running.
250 config FEATURE_HWCLOCK_LONG_OPTIONS
251 bool "Support long options (--hctosys,...)"
253 depends on HWCLOCK && GETOPT_LONG
255 By default, the hwclock utility only uses short options. If you
256 are overly fond of its long options, such as --hctosys, --utc, etc)
257 then enable this option.
259 config FEATURE_HWCLOCK_ADJTIME_FHS
260 bool "Use FHS /var/lib/hwclock/adjtime"
264 Starting with FHS 2.3, the adjtime state file is supposed to exist
265 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
266 to use the FHS behavior, answer Y here, otherwise answer N for the
267 classic /etc/adjtime path.
269 http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
276 The ipcrm utility allows the removal of System V interprocess
277 communication (IPC) objects and the associated data structures
285 The ipcs utility is used to provide information on the currently
286 allocated System V interprocess (IPC) objects in the system.
292 losetup is used to associate or detach a loop device with a regular
293 file or block device, and to query the status of a loop device. This
294 version does not currently support enabling data encryption.
300 mdev is a mini-udev implementation for dynamically creating device
301 nodes in the /dev directory.
303 For more information, please see docs/mdev.txt
305 config FEATURE_MDEV_CONF
306 bool "Support /etc/mdev.conf"
310 Add support for the mdev config file to control ownership and
311 permissions of the device nodes.
313 For more information, please see docs/mdev.txt
315 config FEATURE_MDEV_RENAME
316 bool "Support subdirs/symlinks"
318 depends on FEATURE_MDEV_CONF
320 Add support for renaming devices and creating symlinks.
322 For more information, please see docs/mdev.txt
324 config FEATURE_MDEV_RENAME_REGEXP
325 bool "Support regular expressions substitutions when renaming device"
327 depends on FEATURE_MDEV_RENAME
329 Add support for regular expressions substitutions when renaming device.
331 config FEATURE_MDEV_EXEC
332 bool "Support command execution at device addition/removal"
334 depends on FEATURE_MDEV_CONF
336 This adds support for an optional field to /etc/mdev.conf for
337 executing commands when devices are created/removed.
339 For more information, please see docs/mdev.txt
341 config FEATURE_MDEV_LOAD_FIRMWARE
342 bool "Support loading of firmwares"
346 Some devices need to load firmware before they can be usable.
348 These devices will request userspace look up the files in
349 /lib/firmware/ and if it exists, send it to the kernel for
350 loading into the hardware.
356 The mkswap utility is used to configure a file or disk partition as
357 Linux swap space. This allows Linux to use the entire file or
358 partition as if it were additional RAM, which can greatly increase
359 the capability of low-memory machines. This additional memory is
360 much slower than real RAM, but can be very helpful at preventing your
361 applications being killed by the Linux out of memory (OOM) killer.
362 Once you have created swap space using 'mkswap' you need to enable
363 the swap space using the 'swapon' utility.
365 config FEATURE_MKSWAP_V0
366 bool "Version 0 support"
369 # depends on MKSWAP && DEPRECATED
371 Enable support for the old v0 style.
372 If your kernel is older than 2.1.117, then v0 support is the
379 more is a simple utility which allows you to read text one screen
380 sized page at a time. If you want to read text that is larger than
381 the screen, and you are using anything faster than a 300 baud modem,
382 you will probably find this utility very helpful. If you don't have
383 any need to reading text files, you can leave this disabled.
385 config FEATURE_USE_TERMIOS
386 bool "Use termios to manipulate the screen"
388 depends on MORE || TOP
390 This option allows utilities such as 'more' and 'top' to determine
391 the size of the screen. If you leave this disabled, your utilities
392 that display things on the screen will be especially primitive and
393 will be unable to determine the current screen size, and will be
394 unable to move the cursor.
397 bool "Routines for detecting label and uuid on common filesystems"
402 config FEATURE_VOLUMEID_EXT
403 bool "Ext filesystem"
409 config FEATURE_VOLUMEID_REISERFS
410 bool "Reiser filesystem"
416 config FEATURE_VOLUMEID_FAT
417 bool "fat filesystem"
423 config FEATURE_VOLUMEID_HFS
424 bool "hfs filesystem"
430 config FEATURE_VOLUMEID_JFS
431 bool "jfs filesystem"
437 ### config FEATURE_VOLUMEID_UFS
438 ### bool "ufs filesystem"
440 ### depends on VOLUMEID
444 config FEATURE_VOLUMEID_XFS
445 bool "xfs filesystem"
451 config FEATURE_VOLUMEID_NTFS
452 bool "ntfs filesystem"
458 config FEATURE_VOLUMEID_ISO9660
459 bool "iso9660 filesystem"
465 config FEATURE_VOLUMEID_UDF
466 bool "udf filesystem"
472 config FEATURE_VOLUMEID_LUKS
473 bool "luks filesystem"
479 config FEATURE_VOLUMEID_LINUXSWAP
480 bool "linux swap filesystem"
486 ### config FEATURE_VOLUMEID_LVM
489 ### depends on VOLUMEID
493 config FEATURE_VOLUMEID_CRAMFS
494 bool "cramfs filesystem"
500 ### config FEATURE_VOLUMEID_HPFS
501 ### bool "hpfs filesystem"
503 ### depends on VOLUMEID
507 config FEATURE_VOLUMEID_ROMFS
508 bool "romfs filesystem"
514 config FEATURE_VOLUMEID_SYSV
515 bool "sysv filesystem"
521 ### config FEATURE_VOLUMEID_MINIX
522 ### bool "minix filesystem"
524 ### depends on VOLUMEID
528 ### These only detect partition tables - not used (yet?)
529 ### config FEATURE_VOLUMEID_MAC
530 ### bool "mac filesystem"
532 ### depends on VOLUMEID
536 ### config FEATURE_VOLUMEID_MSDOS
537 ### bool "msdos filesystem"
539 ### depends on VOLUMEID
543 config FEATURE_VOLUMEID_OCFS2
544 bool "ocfs2 filesystem"
550 ### config FEATURE_VOLUMEID_HIGHPOINTRAID
551 ### bool "highpoint raid"
553 ### depends on VOLUMEID
557 ### config FEATURE_VOLUMEID_ISWRAID
558 ### bool "intel raid"
560 ### depends on VOLUMEID
564 ### config FEATURE_VOLUMEID_LSIRAID
567 ### depends on VOLUMEID
571 ### config FEATURE_VOLUMEID_VIARAID
574 ### depends on VOLUMEID
578 ### config FEATURE_VOLUMEID_SILICONRAID
579 ### bool "silicon raid"
581 ### depends on VOLUMEID
585 ### config FEATURE_VOLUMEID_NVIDIARAID
586 ### bool "nvidia raid"
588 ### depends on VOLUMEID
592 ### config FEATURE_VOLUMEID_PROMISERAID
593 ### bool "promise raid"
595 ### depends on VOLUMEID
599 config FEATURE_VOLUMEID_LINUXRAID
610 All files and filesystems in Unix are arranged into one big directory
611 tree. The 'mount' utility is used to graft a filesystem onto a
612 particular part of the tree. A filesystem can either live on a block
613 device, or it can be accessible over the network, as is the case with
614 NFS filesystems. Most people using BusyBox will also want to enable
617 config FEATURE_MOUNT_FAKE
618 bool "Support option -f"
622 Enable support for faking a file system mount.
624 config FEATURE_MOUNT_VERBOSE
625 bool "Support option -v"
629 Enable multi-level -v[vv...] verbose messages. Useful if you
630 debug mount problems and want to see what is exactly passed
633 config FEATURE_MOUNT_HELPERS
634 bool "Support mount helpers"
638 Enable mounting of virtual file systems via external helpers.
639 E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
640 "obexfs -b00.11.22.33.44.55 /mnt"
641 Also "mount -t sometype [-o opts] fs /mnt" will try
642 "sometype [-o opts] fs /mnt" if simple mount syscall fails.
643 The idea is to use such virtual filesystems in /etc/fstab.
645 config FEATURE_MOUNT_LABEL
646 bool "Support specifiying devices by label or UUID"
651 This allows for specifying a device by label or uuid, rather than by
652 name. This feature utilizes the same functionality as findfs.
654 config FEATURE_MOUNT_NFS
655 bool "Support mounting NFS file systems"
658 select FEATURE_HAVE_RPC
659 select FEATURE_SYSLOG
661 Enable mounting of NFS file systems.
663 config FEATURE_MOUNT_CIFS
664 bool "Support mounting CIFS/SMB file systems"
668 Enable support for samba mounts.
670 config FEATURE_MOUNT_FLAGS
672 bool "Support lots of -o flags in mount"
675 Without this, mount only supports ro/rw/remount. With this, it
676 supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
677 noatime, diratime, nodiratime, loud, bind, move, shared, slave,
678 private, unbindable, rshared, rslave, rprivate, and runbindable.
680 config FEATURE_MOUNT_FSTAB
682 bool "Support /etc/fstab and -a"
685 Support mount all and looking for files in /etc/fstab.
691 The pivot_root utility swaps the mount points for the root filesystem
692 with some other mounted filesystem. This allows you to do all sorts
693 of wild and crazy things with your Linux system and is far more
694 powerful than 'chroot'.
696 Note: This is for initrd in linux 2.4. Under initramfs (introduced
697 in linux 2.6) use switch_root instead.
703 The rdate utility allows you to synchronize the date and time of your
704 system clock with the date and time of a remote networked system using
705 the RFC868 protocol, which is built into the inetd daemon on most
712 This allows you to parse /proc/profile for basic profiling.
718 Enter a system sleep state until specified wakeup time.
724 The script makes typescript of terminal session.
730 The linux32 utility is used to create a 32bit environment for the
731 specified program (usually a shell). It only makes sense to have
732 this util on a system that supports both 64bit and 32bit userland
733 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
739 This option enables both the 'swapon' and the 'swapoff' utilities.
740 Once you have created some swap space using 'mkswap', you also need
741 to enable your swap space with the 'swapon' utility. The 'swapoff'
742 utility is used, typically at system shutdown, to disable any swap
743 space. If you are not using any swap space, you can leave this
746 config FEATURE_SWAPON_PRI
747 bool "Support priority option -p"
751 Enable support for setting swap device priority in swapon.
757 The switch_root utility is used from initramfs to select a new
758 root device. Under initramfs, you have to use this instead of
759 pivot_root. (Stop reading here if you don't care why.)
761 Booting with initramfs extracts a gzipped cpio archive into rootfs
762 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
763 or unmounted*, pivot_root will not work from initramfs. Instead,
764 switch_root deletes everything out of rootfs (including itself),
765 does a mount --move that overmounts rootfs with the new root, and
766 then execs the specified init program.
768 * Because the Linux kernel uses rootfs internally as the starting
769 and ending point for searching through the kernel's doubly linked
770 list of active mount points. That's why.
776 When you want to remove a mounted filesystem from its current mount point,
777 for example when you are shutting down the system, the 'umount' utility is
778 the tool to use. If you enabled the 'mount' utility, you almost certainly
779 also want to enable 'umount'.
781 config FEATURE_UMOUNT_ALL
782 bool "Support option -a"
786 Support -a option to unmount all currently mounted filesystems.
788 comment "Common options for mount/umount"
789 depends on MOUNT || UMOUNT
791 config FEATURE_MOUNT_LOOP
792 bool "Support loopback mounts"
794 depends on MOUNT || UMOUNT
796 Enabling this feature allows automatic mounting of files (containing
797 filesystem images) via the linux kernel's loopback devices. The mount
798 command will detect you are trying to mount a file instead of a block
799 device, and transparently associate the file with a loopback device.
800 The umount command will also free that loopback device.
802 You can still use the 'losetup' utility (to manually associate files
803 with loop devices) if you need to do something advanced, such as
804 specify an offset or cryptographic options to the loopback device.
805 (If you don't want umount to free the loop device, use "umount -D".)
807 config FEATURE_MTAB_SUPPORT
808 bool "Support for the old /etc/mtab file"
810 depends on MOUNT || UMOUNT
811 select FEATURE_MOUNT_FAKE
813 Historically, Unix systems kept track of the currently mounted
814 partitions in the file "/etc/mtab". These days, the kernel exports
815 the list of currently mounted partitions in "/proc/mounts", rendering
816 the old mtab file obsolete. (In modern systems, /etc/mtab should be
817 a symlink to /proc/mounts.)
819 The only reason to have mount maintain an /etc/mtab file itself is if
820 your stripped-down embedded system does not have a /proc directory.
821 If you must use this, keep in mind it's inherently brittle (for
822 example a mount under chroot won't update it), can't handle modern
823 features like separate per-process filesystem namespaces, requires
824 that your /etc directory be writeable, tends to get easily confused
825 by --bind or --move mounts, won't update if you rename a directory
826 that contains a mount point, and so on. (In brief: avoid.)
828 About the only reason to use this is if you've removed /proc from