2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Linux System Utilities"
8 config BUSYBOX_CONFIG_DMESG
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 BUSYBOX_CONFIG_FBSET
24 fbset is used to show or change the settings of a Linux frame buffer
25 device. The frame buffer device provides a simple and unique
26 interface to access a graphics display. Enable this option
27 if you wish to enable the 'fbset' utility.
29 config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
30 bool "Turn on extra fbset options"
32 depends on BUSYBOX_CONFIG_FBSET
34 This option enables extended fbset options, allowing one to set the
35 framebuffer size, color depth, etc. interface to access a graphics
36 display. Enable this option if you wish to enable extended fbset
39 config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
40 bool "Turn on fbset readmode support"
42 depends on BUSYBOX_CONFIG_FBSET
44 This option allows fbset to read the video mode database stored by
45 default n /etc/fb.modes, which can be used to set frame buffer
46 device to pre-defined video modes.
48 config BUSYBOX_CONFIG_FDFLUSH
52 fdflush is only needed when changing media on slightly-broken
53 removable media drives. It is used to make Linux believe that a
54 hardware disk-change switch has been actuated, which causes Linux to
55 forget anything it has cached from the previous media. If you have
56 such a slightly-broken drive, you will need to run fdflush every time
57 you change a disk. Most people have working hardware and can safely
60 config BUSYBOX_CONFIG_FDFORMAT
64 fdformat is used to low-level format a floppy disk.
66 config BUSYBOX_CONFIG_FDISK
70 The fdisk utility is used to divide hard disks into one or more
71 logical disks, which are generally called partitions. This utility
72 can be used to list and edit the set of partitions or BSD style
73 'disk slices' that are defined on a hard drive.
75 config BUSYBOX_FDISK_SUPPORT_LARGE_DISKS
78 depends on BUSYBOX_CONFIG_FDISK
80 Enable this option to support large disks > 4GB.
82 config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
85 depends on BUSYBOX_CONFIG_FDISK
87 Enabling this option allows you to create or change a partition table
88 and write those changes out to disk. If you leave this option
89 disabled, you will only be able to view the partition table.
91 config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
92 bool "Support AIX disklabels"
94 depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
96 Enabling this option allows you to create or change AIX disklabels.
97 Most people can safely leave this option disabled.
99 config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
100 bool "Support SGI disklabels"
102 depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
104 Enabling this option allows you to create or change SGI disklabels.
105 Most people can safely leave this option disabled.
107 config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
108 bool "Support SUN disklabels"
110 depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
112 Enabling this option allows you to create or change SUN disklabels.
113 Most people can safely leave this option disabled.
115 config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
116 bool "Support BSD disklabels"
118 depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
120 Enabling this option allows you to create or change BSD disklabels
121 and define and edit BSD disk slices.
123 config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
124 bool "Support expert mode"
126 depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
128 Enabling this option allows you to do terribly unsafe things like
129 define arbitrary drive geometry, move the beginning of data in a
130 partition, and similarly evil things. Unless you have a very good
131 reason you would be wise to leave this disabled.
133 config BUSYBOX_CONFIG_FREERAMDISK
137 Linux allows you to create ramdisks. This utility allows you to
138 delete them and completely free all memory that was used for the
139 ramdisk. For example, if you boot Linux into a ramdisk and later
140 pivot_root, you may want to free the memory that is allocated to the
141 ramdisk. If you have no use for freeing memory from a ramdisk, leave
144 config BUSYBOX_CONFIG_FSCK_MINIX
148 The minix filesystem is a nice, small, compact, read-write filesystem
149 with little overhead. It is not a journaling filesystem however and
150 can experience corruption if it is not properly unmounted or if the
151 power goes off in the middle of a write. This utility allows you to
152 check for and attempt to repair any corruption that occurs to a minix
155 config BUSYBOX_CONFIG_MKFS_MINIX
159 The minix filesystem is a nice, small, compact, read-write filesystem
160 with little overhead. If you wish to be able to create minix filesystems
161 this utility will do the job for you.
163 comment "Minix filesystem support"
164 depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
166 config BUSYBOX_CONFIG_FEATURE_MINIX2
167 bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
169 depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
171 If you wish to be able to create version 2 minix filesystems, enable this.
172 If you enabled 'mkfs_minix' then you almost certainly want to be using the
173 version 2 filesystem support.
175 config BUSYBOX_CONFIG_GETOPT
179 The getopt utility is used to break up (parse) options in command
180 lines to make it easy to write complex shell scripts that also check
181 for legal (and illegal) options. If you want to write horribly
182 complex shell scripts, or use some horribly complex shell script
183 written by others, this utility may be for you. Most people will
184 wisely leave this disabled.
186 config BUSYBOX_CONFIG_HEXDUMP
190 The hexdump utility is used to display binary data in a readable
191 way that is comparable to the output from most hex editors.
193 config BUSYBOX_CONFIG_HWCLOCK
197 The hwclock utility is used to read and set the hardware clock
198 on a system. This is primarily used to set the current time on
199 shutdown in the hardware clock, so the hardware will keep the
200 correct time when Linux is _not_ running.
202 config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS
203 bool "Support long options (--hctosys,...)"
205 depends on BUSYBOX_CONFIG_HWCLOCK && BUSYBOX_CONFIG_GETOPT_LONG
207 By default, the hwclock utility only uses short options. If you
208 are overly fond of its long options, such as --hctosys, --utc, etc)
209 then enable this option.
211 config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
212 bool "Use FHS /var/lib/hwclock/adjtime"
214 depends on BUSYBOX_CONFIG_HWCLOCK
216 Starting with FHS 2.3, the adjtime state file is supposed to exist
217 at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
218 to use the FHS behavior, answer Y here, otherwise answer N for the
219 classic /etc/adjtime path.
221 http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
223 config BUSYBOX_CONFIG_IPCRM
226 select BUSYBOX_CONFIG_FEATURE_SUID
228 The ipcrm utility allows the removal of System V interprocess
229 communication (IPC) objects and the associated data structures
232 config BUSYBOX_CONFIG_IPCS
235 select BUSYBOX_CONFIG_FEATURE_SUID
237 The ipcs utility is used to provide information on the currently
238 allocated System V interprocess (IPC) objects in the system.
240 config BUSYBOX_CONFIG_LOSETUP
244 losetup is used to associate or detach a loop device with a regular
245 file or block device, and to query the status of a loop device. This
246 version does not currently support enabling data encryption.
248 config BUSYBOX_CONFIG_MDEV
252 mdev is a mini-udev implementation: call it with -s to populate
253 /dev from /sys, then "echo /sbin/mdev > /proc/sys/kernel/hotplug" to
254 have it handle hotplug events afterwards. Device names are taken
257 config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
258 bool "Support /etc/mdev.conf"
260 depends on BUSYBOX_CONFIG_MDEV
262 The mdev config file contains lines that look like:
264 hd[a-z][0-9]* 0:3 660
266 That's device name (with regex match), uid:gid, and permissions.
268 Config file parsing stops on the first matching line. If no config
269 entry is matched, devices are created with default 0:0 660. (Make
270 the last line match .* to override this.)
272 config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
273 bool "Support command execution at device addition/removal"
275 depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
277 This adds support for an optional field to /etc/mdev.conf, consisting
278 of a special character and a command line to run after creating the
279 corresponding device(s) and before removing, ala:
281 hdc root:cdrom 660 *ln -s $MDEV cdrom
283 The $MDEV environment variable is set to the name of the device.
285 The special characters and their meanings are:
286 @ Run after creating the device.
287 $ Run before removing the device.
288 * Run both after creating and before removing the device.
290 Commands are executed via system() so you need /bin/sh, meaning you
291 probably want to select a default shell in the Shells menu.
293 config BUSYBOX_CONFIG_MKSWAP
297 The mkswap utility is used to configure a file or disk partition as
298 Linux swap space. This allows Linux to use the entire file or
299 partition as if it were additional RAM, which can greatly increase
300 the capability of low-memory machines. This additional memory is
301 much slower than real RAM, but can be very helpful at preventing your
302 applications being killed by the Linux out of memory (OOM) killer.
303 Once you have created swap space using 'mkswap' you need to enable
304 the swap space using the 'swapon' utility.
306 config BUSYBOX_CONFIG_FEATURE_MKSWAP_V0
307 bool "version 0 support"
309 depends on BUSYBOX_CONFIG_MKSWAP
310 # depends on BUSYBOX_CONFIG_MKSWAP && BUSYBOX_CONFIG_DEPRECATED
312 Enable support for the old v0 style.
313 If your kernel is older than 2.1.117, then v0 support is the
316 config BUSYBOX_CONFIG_MORE
320 more is a simple utility which allows you to read text one screen
321 sized page at a time. If you want to read text that is larger than
322 the screen, and you are using anything faster than a 300 baud modem,
323 you will probably find this utility very helpful. If you don't have
324 any need to reading text files, you can leave this disabled.
326 config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
327 bool "Use termios to manipulate the screen"
329 depends on BUSYBOX_CONFIG_MORE
331 This option allows utilities such as 'more' and 'top' to determine
332 the size of the screen. If you leave this disabled, your utilities
333 that display things on the screen will be especially primitive and
334 will be unable to determine the current screen size, and will be
335 unable to move the cursor.
337 config BUSYBOX_CONFIG_MOUNT
341 All files and filesystems in Unix are arranged into one big directory
342 tree. The 'mount' utility is used to graft a filesystem onto a
343 particular part of the tree. A filesystem can either live on a block
344 device, or it can be accessible over the network, as is the case with
345 NFS filesystems. Most people using BusyBox will also want to enable
348 config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
349 bool "Support mounting NFS file systems"
351 depends on BUSYBOX_CONFIG_MOUNT
353 Enable mounting of NFS file systems.
355 config BUSYBOX_CONFIG_PIVOT_ROOT
359 The pivot_root utility swaps the mount points for the root filesystem
360 with some other mounted filesystem. This allows you to do all sorts
361 of wild and crazy things with your Linux system and is far more
362 powerful than 'chroot'.
364 Note: This is for initrd in linux 2.4. Under initramfs (introduced
365 in linux 2.6) use switch_root instead.
367 config BUSYBOX_CONFIG_RDATE
371 The rdate utility allows you to synchronize the date and time of your
372 system clock with the date and time of a remote networked system using
373 the RFC868 protocol, which is built into the inetd daemon on most
376 config BUSYBOX_CONFIG_READPROFILE
380 This allows you to parse /proc/profile for basic profiling.
382 config BUSYBOX_CONFIG_SETARCH
386 The linux32 utility is used to create a 32bit environment for the
387 specified program (usually a shell). It only makes sense to have
388 this util on a system that supports both 64bit and 32bit userland
389 (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
391 config BUSYBOX_CONFIG_SWAPONOFF
395 This option enables both the 'swapon' and the 'swapoff' utilities.
396 Once you have created some swap space using 'mkswap', you also need
397 to enable your swap space with the 'swapon' utility. The 'swapoff'
398 utility is used, typically at system shutdown, to disable any swap
399 space. If you are not using any swap space, you can leave this
402 config BUSYBOX_CONFIG_SWITCH_ROOT
406 The switch_root utility is used from initramfs to select a new
407 root device. Under initramfs, you have to use this instead of
408 pivot_root. (Stop reading here if you don't care why.)
410 Booting with initramfs extracts a gzipped cpio archive into rootfs
411 (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
412 or unmounted*, pivot_root will not work from initramfs. Instead,
413 switch_root deletes everything out of rootfs (including itself),
414 does a mount --move that overmounts rootfs with the new root, and
415 then execs the specified init program.
417 * Because the Linux kernel uses rootfs internally as the starting
418 and ending point for searching through the kernel's doubly linked
419 list of active mount points. That's why.
421 config BUSYBOX_CONFIG_UMOUNT
425 When you want to remove a mounted filesystem from its current mount point,
426 for example when you are shutting down the system, the 'umount' utility is
427 the tool to use. If you enabled the 'mount' utility, you almost certainly
428 also want to enable 'umount'.
430 config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
431 bool "umount -a option"
433 depends on BUSYBOX_CONFIG_UMOUNT
435 Support -a option to unmount all currently mounted filesystems.
437 comment "Common options for mount/umount"
438 depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
440 config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
441 bool "Support loopback mounts"
443 depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
445 Enabling this feature allows automatic mounting of files (containing
446 filesystem images) via the linux kernel's loopback devices. The mount
447 command will detect you are trying to mount a file instead of a block
448 device, and transparently associate the file with a loopback device.
449 The umount command will also free that loopback device.
451 You can still use the 'losetup' utility (to manually associate files
452 with loop devices) if you need to do something advanced, such as
453 specify an offset or cryptographic options to the loopback device.
454 (If you don't want umount to free the loop device, use "umount -D".)
456 config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
457 bool "Support for the old /etc/mtab file"
459 depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
461 Historically, Unix systems kept track of the currently mounted
462 partitions in the file "/etc/mtab". These days, the kernel exports
463 the list of currently mounted partitions in "/proc/mounts", rendering
464 the old mtab file obsolete. (In modern systems, /etc/mtab should be
465 a symlink to /proc/mounts.)
467 The only reason to have mount maintain an /etc/mtab file itself is if
468 your stripped-down embedded system does not have a /proc directory.
469 If you must use this, keep in mind it's inherently brittle (for
470 example a mount under chroot won't update it), can't handle modern
471 features like separate per-process filesystem namespaces, requires
472 that your /etc directory be writeable, tends to get easily confused
473 by --bind or --move mounts, won't update if you rename a directory
474 that contains a mount point, and so on. (In brief: avoid.)
476 About the only reason to use this is if you've removed /proc from