1#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
6menu "Linux System Utilities"
7
8config DMESG
9	bool "dmesg"
10	default n
11	help
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.
19
20config FEATURE_DMESG_PRETTY
21	bool "pretty dmesg output"
22	default y
23	depends on DMESG
24	help
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 "<#>".
27
28	  With this option you will see:
29	    # dmesg
30	    Linux version 2.6.17.4 .....
31	    BIOS-provided physical RAM map:
32	     BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
33
34	  Without this option you will see:
35	    # dmesg
36	    <5>Linux version 2.6.17.4 .....
37	    <6>BIOS-provided physical RAM map:
38	    <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
39
40config FBSET
41	bool "fbset"
42	default n
43	help
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.
48
49config FEATURE_FBSET_FANCY
50	bool "Turn on extra fbset options"
51	default n
52	depends on FBSET
53	help
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
57	  options.
58
59config FEATURE_FBSET_READMODE
60	bool "Turn on fbset readmode support"
61	default n
62	depends on FBSET
63	help
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.
67
68config FDFLUSH
69	bool "fdflush"
70	default n
71	help
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
78	  leave this disabled.
79
80config FDFORMAT
81	bool "fdformat"
82	default n
83	help
84	  fdformat is used to low-level format a floppy disk.
85
86config FDISK
87	bool "fdisk"
88	default n
89	help
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.
94
95config FDISK_SUPPORT_LARGE_DISKS
96	bool "support over 4GB disks"
97	default y
98	depends on FDISK
99	help
100	  Enable this option to support large disks > 4GB.
101
102config FEATURE_FDISK_WRITABLE
103	bool "Write support"
104	default y
105	depends on FDISK
106	help
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.
110
111config FEATURE_AIX_LABEL
112	bool "Support AIX disklabels"
113	default n
114	depends on FDISK && FEATURE_FDISK_WRITABLE
115	help
116	  Enabling this option allows you to create or change AIX disklabels.
117	  Most people can safely leave this option disabled.
118
119config FEATURE_SGI_LABEL
120	bool "Support SGI disklabels"
121	default n
122	depends on FDISK && FEATURE_FDISK_WRITABLE
123	help
124	  Enabling this option allows you to create or change SGI disklabels.
125	  Most people can safely leave this option disabled.
126
127config FEATURE_SUN_LABEL
128	bool "Support SUN disklabels"
129	default n
130	depends on FDISK && FEATURE_FDISK_WRITABLE
131	help
132	  Enabling this option allows you to create or change SUN disklabels.
133	  Most people can safely leave this option disabled.
134
135config FEATURE_OSF_LABEL
136	bool "Support BSD disklabels"
137	default n
138	depends on FDISK && FEATURE_FDISK_WRITABLE
139	help
140	  Enabling this option allows you to create or change BSD disklabels
141	  and define and edit BSD disk slices.
142
143config FEATURE_FDISK_ADVANCED
144	bool "Support expert mode"
145	default n
146	depends on FDISK && FEATURE_FDISK_WRITABLE
147	help
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.
152
153config FREERAMDISK
154	bool "freeramdisk"
155	default n
156	help
157	  Linux allows you to create ramdisks.  This utility allows you to
158	  delete them and completely free all memory that was used for the
159	  ramdisk.  For example, if you boot Linux into a ramdisk and later
160	  pivot_root, you may want to free the memory that is allocated to the
161	  ramdisk.  If you have no use for freeing memory from a ramdisk, leave
162	  this disabled.
163
164config FSCK_MINIX
165	bool "fsck_minix"
166	default n
167	help
168	  The minix filesystem is a nice, small, compact, read-write filesystem
169	  with little overhead.  It is not a journaling filesystem however and
170	  can experience corruption if it is not properly unmounted or if the
171	  power goes off in the middle of a write.  This utility allows you to
172	  check for and attempt to repair any corruption that occurs to a minix
173	  filesystem.
174
175config MKFS_MINIX
176	bool "mkfs_minix"
177	default n
178	help
179	  The minix filesystem is a nice, small, compact, read-write filesystem
180	  with little overhead.  If you wish to be able to create minix filesystems
181	  this utility will do the job for you.
182
183comment "Minix filesystem support"
184	depends on FSCK_MINIX || MKFS_MINIX
185
186config FEATURE_MINIX2
187	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
188	default y
189	depends on FSCK_MINIX || MKFS_MINIX
190	help
191	  If you wish to be able to create version 2 minix filesystems, enable this.
192	  If you enabled 'mkfs_minix' then you almost certainly want to be using the
193	  version 2 filesystem support.
194
195config GETOPT
196	bool "getopt"
197	default n
198	help
199	  The getopt utility is used to break up (parse) options in command
200	  lines to make it easy to write complex shell scripts that also check
201	  for legal (and illegal) options.  If you want to write horribly
202	  complex shell scripts, or use some horribly complex shell script
203	  written by others, this utility may be for you.  Most people will
204	  wisely leave this disabled.
205
206config HEXDUMP
207	bool "hexdump"
208	default n
209	help
210	  The hexdump utility is used to display binary data in a readable
211	  way that is comparable to the output from most hex editors.
212
213config HWCLOCK
214	bool "hwclock"
215	default n
216	help
217	  The hwclock utility is used to read and set the hardware clock
218	  on a system.  This is primarily used to set the current time on
219	  shutdown in the hardware clock, so the hardware will keep the
220	  correct time when Linux is _not_ running.
221
222config FEATURE_HWCLOCK_LONG_OPTIONS
223	bool "Support long options (--hctosys,...)"
224	default n
225	depends on HWCLOCK && GETOPT_LONG
226	help
227	  By default, the hwclock utility only uses short options.  If you
228	  are overly fond of its long options, such as --hctosys, --utc, etc)
229	  then enable this option.
230
231config FEATURE_HWCLOCK_ADJTIME_FHS
232	bool "Use FHS /var/lib/hwclock/adjtime"
233	default y
234	depends on HWCLOCK
235	help
236	  Starting with FHS 2.3, the adjtime state file is supposed to exist
237	  at /var/lib/hwclock/adjtime instead of /etc/adjtime.  If you wish
238	  to use the FHS behavior, answer Y here, otherwise answer N for the
239	  classic /etc/adjtime path.
240
241	  http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
242
243config IPCRM
244	bool "ipcrm"
245	default n
246	select FEATURE_SUID
247	help
248	  The ipcrm utility allows the removal of System V interprocess
249	  communication (IPC) objects and the associated data structures
250	  from the system.
251
252config IPCS
253	bool "ipcs"
254	default n
255	select FEATURE_SUID
256	help
257	  The ipcs utility is used to provide information on the currently
258	  allocated System V interprocess (IPC) objects in the system.
259
260config LOSETUP
261	bool "losetup"
262	default n
263	help
264	  losetup is used to associate or detach a loop device with a regular
265	  file or block device, and to query the status of a loop device.  This
266	  version does not currently support enabling data encryption.
267
268config MDEV
269	bool "mdev"
270	default n
271	help
272	  mdev is a mini-udev implementation for dynamically creating device
273	  nodes in the /dev directory.
274
275	  For more information, please see docs/mdev.txt
276
277config FEATURE_MDEV_CONF
278	bool "Support /etc/mdev.conf"
279	default n
280	depends on MDEV
281	help
282	  Add support for the mdev config file to control ownership and
283	  permissions of the device nodes.
284
285	  For more information, please see docs/mdev.txt
286
287config FEATURE_MDEV_EXEC
288	bool "Support command execution at device addition/removal"
289	default n
290	depends on FEATURE_MDEV_CONF
291	help
292	  This adds support for an optional field to /etc/mdev.conf for
293	  executing commands when devices are created/removed.
294
295	  For more information, please see docs/mdev.txt
296
297config FEATURE_MDEV_LOAD_FIRMWARE
298	bool "Support loading of firmwares"
299	default n
300	depends on MDEV
301	help
302	  Some devices need to load firmware before they can be usable.
303
304	  These devices will request userspace look up the files in
305	  /lib/firmware/ and if it exists, send it to the kernel for
306	  loading into the hardware.
307
308config MKSWAP
309	bool "mkswap"
310	default n
311	help
312	  The mkswap utility is used to configure a file or disk partition as
313	  Linux swap space.  This allows Linux to use the entire file or
314	  partition as if it were additional RAM, which can greatly increase
315	  the capability of low-memory machines.  This additional memory is
316	  much slower than real RAM, but can be very helpful at preventing your
317	  applications being killed by the Linux out of memory (OOM) killer.
318	  Once you have created swap space using 'mkswap' you need to enable
319	  the swap space using the 'swapon' utility.
320
321config FEATURE_MKSWAP_V0
322	bool "version 0 support"
323	default n
324	depends on MKSWAP
325#	depends on MKSWAP && DEPRECATED
326	help
327	  Enable support for the old v0 style.
328	  If your kernel is older than 2.1.117, then v0 support is the
329	  only option.
330
331config MORE
332	bool "more"
333	default n
334	help
335	  more is a simple utility which allows you to read text one screen
336	  sized page at a time.  If you want to read text that is larger than
337	  the screen, and you are using anything faster than a 300 baud modem,
338	  you will probably find this utility very helpful.  If you don't have
339	  any need to reading text files, you can leave this disabled.
340
341config FEATURE_USE_TERMIOS
342	bool "Use termios to manipulate the screen"
343	default y
344	depends on MORE
345	help
346	  This option allows utilities such as 'more' and 'top' to determine
347	  the size of the screen.  If you leave this disabled, your utilities
348	  that display things on the screen will be especially primitive and
349	  will be unable to determine the current screen size, and will be
350	  unable to move the cursor.
351
352config MOUNT
353	bool "mount"
354	default n
355	help
356	  All files and filesystems in Unix are arranged into one big directory
357	  tree.  The 'mount' utility is used to graft a filesystem onto a
358	  particular part of the tree.  A filesystem can either live on a block
359	  device, or it can be accessible over the network, as is the case with
360	  NFS filesystems.  Most people using BusyBox will also want to enable
361	  the 'mount' utility.
362
363config FEATURE_MOUNT_NFS
364	bool "Support mounting NFS file systems"
365	default n
366	depends on MOUNT
367	select FEATURE_HAVE_RPC
368	select FEATURE_SYSLOG
369	help
370	  Enable mounting of NFS file systems.
371
372config FEATURE_MOUNT_CIFS
373	bool "Support mounting CIFS/SMB file systems"
374	default n
375	depends on MOUNT
376	help
377	  Enable support for samba mounts.
378
379config FEATURE_MOUNT_FLAGS
380	depends on MOUNT
381	bool "Support lots of -o flags in mount"
382	default y
383	help
384	  Without this, mount only supports ro/rw/remount.  With this, it
385	  supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
386	  noatime, diratime, nodiratime, loud, bind, move, shared, slave,
387	  private, unbindable, rshared, rslave, rprivate, and runbindable.
388
389config FEATURE_MOUNT_FSTAB
390	depends on MOUNT
391	bool "Support /etc/fstab and -a"
392	default y
393	help
394	  Support mount all and looking for files in /etc/fstab.
395
396config PIVOT_ROOT
397	bool "pivot_root"
398	default n
399	help
400	  The pivot_root utility swaps the mount points for the root filesystem
401	  with some other mounted filesystem.  This allows you to do all sorts
402	  of wild and crazy things with your Linux system and is far more
403	  powerful than 'chroot'.
404
405	  Note: This is for initrd in linux 2.4.  Under initramfs (introduced
406	  in linux 2.6) use switch_root instead.
407
408config RDATE
409	bool "rdate"
410	default n
411	help
412	  The rdate utility allows you to synchronize the date and time of your
413	  system clock with the date and time of a remote networked system using
414	  the RFC868 protocol, which is built into the inetd daemon on most
415	  systems.
416
417config READPROFILE
418	bool "readprofile"
419	default n
420	help
421	  This allows you to parse /proc/profile for basic profiling.
422
423config SETARCH
424	bool "setarch"
425	default n
426	help
427	  The linux32 utility is used to create a 32bit environment for the
428	  specified program (usually a shell).  It only makes sense to have
429	  this util on a system that supports both 64bit and 32bit userland
430	  (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
431
432config SWAPONOFF
433	bool "swaponoff"
434	default n
435	help
436	  This option enables both the 'swapon' and the 'swapoff' utilities.
437	  Once you have created some swap space using 'mkswap', you also need
438	  to enable your swap space with the 'swapon' utility.  The 'swapoff'
439	  utility is used, typically at system shutdown, to disable any swap
440	  space.  If you are not using any swap space, you can leave this
441	  option disabled.
442
443config SWITCH_ROOT
444	bool "switch_root"
445	default n
446	help
447	  The switch_root utility is used from initramfs to select a new
448	  root device.  Under initramfs, you have to use this instead of
449	  pivot_root.  (Stop reading here if you don't care why.)
450
451	  Booting with initramfs extracts a gzipped cpio archive into rootfs
452	  (which is a variant of ramfs/tmpfs).  Because rootfs can't be moved
453	  or unmounted*, pivot_root will not work from initramfs.  Instead,
454	  switch_root deletes everything out of rootfs (including itself),
455	  does a mount --move that overmounts rootfs with the new root, and
456	  then execs the specified init program.
457
458	  * Because the Linux kernel uses rootfs internally as the starting
459	  and ending point for searching through the kernel's doubly linked
460	  list of active mount points.  That's why.
461
462config UMOUNT
463	bool "umount"
464	default n
465	help
466	  When you want to remove a mounted filesystem from its current mount point,
467	  for example when you are shutting down the system, the 'umount' utility is
468	  the tool to use.  If you enabled the 'mount' utility, you almost certainly
469	  also want to enable 'umount'.
470
471config FEATURE_UMOUNT_ALL
472	bool "umount -a option"
473	default n
474	depends on UMOUNT
475	help
476	  Support -a option to unmount all currently mounted filesystems.
477
478comment "Common options for mount/umount"
479	depends on MOUNT || UMOUNT
480
481config FEATURE_MOUNT_LOOP
482	bool "Support loopback mounts"
483	default n
484	depends on MOUNT || UMOUNT
485	help
486	  Enabling this feature allows automatic mounting of files (containing
487	  filesystem images) via the linux kernel's loopback devices.  The mount
488	  command will detect you are trying to mount a file instead of a block
489	  device, and transparently associate the file with a loopback device.
490	  The umount command will also free that loopback device.
491
492	  You can still use the 'losetup' utility (to manually associate files
493	  with loop devices) if you need to do something advanced, such as
494	  specify an offset or cryptographic options to the loopback device.
495	  (If you don't want umount to free the loop device, use "umount -D".)
496
497config FEATURE_MTAB_SUPPORT
498	bool "Support for the old /etc/mtab file"
499	default n
500	depends on MOUNT || UMOUNT
501	help
502	  Historically, Unix systems kept track of the currently mounted
503	  partitions in the file "/etc/mtab".  These days, the kernel exports
504	  the list of currently mounted partitions in "/proc/mounts", rendering
505	  the old mtab file obsolete.  (In modern systems, /etc/mtab should be
506	  a symlink to /proc/mounts.)
507
508	  The only reason to have mount maintain an /etc/mtab file itself is if
509	  your stripped-down embedded system does not have a /proc directory.
510	  If you must use this, keep in mind it's inherently brittle (for
511	  example a mount under chroot won't update it), can't handle modern
512	  features like separate per-process filesystem namespaces, requires
513	  that your /etc directory be writeable, tends to get easily confused
514	  by --bind or --move mounts, won't update if you rename a directory
515	  that contains a mount point, and so on.  (In brief: avoid.)
516
517	  About the only reason to use this is if you've removed /proc from
518	  your kernel.
519
520endmenu
521