Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

menu "Linux System Utilities"

config DMESG
	bool "dmesg"
	default n
	help
	  dmesg is used to examine or control the kernel ring buffer.  When the
	  Linux kernel prints messages to the system log, they are stored in
	  the kernel ring buffer.  You can use dmesg to print the kernel's ring
	  buffer, clear the kernel ring buffer, change the size of the kernel
	  ring buffer, and change the priority level at which kernel messages
	  are also logged to the system console.  Enable this option if you
	  wish to enable the 'dmesg' utility.

config FEATURE_DMESG_PRETTY
	bool "Pretty dmesg output"
	default y
	depends on DMESG
	help
	  If you wish to scrub the syslog level from the output, say 'Y' here.
	  The syslog level is a string prefixed to every line with the form "<#>".

	  With this option you will see:
	    # dmesg
	    Linux version 2.6.17.4 .....
	    BIOS-provided physical RAM map:
	     BIOS-e820: 0000000000000000 - 000000000009f000 (usable)

	  Without this option you will see:
	    # dmesg
	    <5>Linux version 2.6.17.4 .....
	    <6>BIOS-provided physical RAM map:
	    <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)

config FBSET
	bool "fbset"
	default n
	help
	  fbset is used to show or change the settings of a Linux frame buffer
	  device.  The frame buffer device provides a simple and unique
	  interface to access a graphics display.  Enable this option
	  if you wish to enable the 'fbset' utility.

config FEATURE_FBSET_FANCY
	bool "Turn on extra fbset options"
	default n
	depends on FBSET
	help
	  This option enables extended fbset options, allowing one to set the
	  framebuffer size, color depth, etc.  interface to access a graphics
	  display.  Enable this option if you wish to enable extended fbset
	  options.

config FEATURE_FBSET_READMODE
	bool "Turn on fbset readmode support"
	default n
	depends on FBSET
	help
	  This option allows fbset to read the video mode database stored by
	  default as /etc/fb.modes, which can be used to set frame buffer
	  device to pre-defined video modes.

config FDFLUSH
	bool "fdflush"
	default n
	help
	  fdflush is only needed when changing media on slightly-broken
	  removable media drives.  It is used to make Linux believe that a
	  hardware disk-change switch has been actuated, which causes Linux to
	  forget anything it has cached from the previous media.  If you have
	  such a slightly-broken drive, you will need to run fdflush every time
	  you change a disk.  Most people have working hardware and can safely
	  leave this disabled.

config FDFORMAT
	bool "fdformat"
	default n
	help
	  fdformat is used to low-level format a floppy disk.

config FDISK
	bool "fdisk"
	default n
	help
	  The fdisk utility is used to divide hard disks into one or more
	  logical disks, which are generally called partitions.  This utility
	  can be used to list and edit the set of partitions or BSD style
	  'disk slices' that are defined on a hard drive.

config FDISK_SUPPORT_LARGE_DISKS
	bool "Support over 4GB disks"
	default y
	depends on FDISK
	help
	  Enable this option to support large disks > 4GB.

config FEATURE_FDISK_WRITABLE
	bool "Write support"
	default y
	depends on FDISK
	help
	  Enabling this option allows you to create or change a partition table
	  and write those changes out to disk.  If you leave this option
	  disabled, you will only be able to view the partition table.

config FEATURE_AIX_LABEL
	bool "Support AIX disklabels"
	default n
	depends on FDISK && FEATURE_FDISK_WRITABLE
	help
	  Enabling this option allows you to create or change AIX disklabels.
	  Most people can safely leave this option disabled.

config FEATURE_SGI_LABEL
	bool "Support SGI disklabels"
	default n
	depends on FDISK && FEATURE_FDISK_WRITABLE
	help
	  Enabling this option allows you to create or change SGI disklabels.
	  Most people can safely leave this option disabled.

config FEATURE_SUN_LABEL
	bool "Support SUN disklabels"
	default n
	depends on FDISK && FEATURE_FDISK_WRITABLE
	help
	  Enabling this option allows you to create or change SUN disklabels.
	  Most people can safely leave this option disabled.

config FEATURE_OSF_LABEL
	bool "Support BSD disklabels"
	default n
	depends on FDISK && FEATURE_FDISK_WRITABLE
	help
	  Enabling this option allows you to create or change BSD disklabels
	  and define and edit BSD disk slices.

config FEATURE_FDISK_ADVANCED
	bool "Support expert mode"
	default n
	depends on FDISK && FEATURE_FDISK_WRITABLE
	help
	  Enabling this option allows you to do terribly unsafe things like
	  define arbitrary drive geometry, move the beginning of data in a
	  partition, and similarly evil things.  Unless you have a very good
	  reason you would be wise to leave this disabled.

config FINDFS
	bool "findfs"
	default n
	select VOLUMEID
	help
	  This is similar to the findfs program that is part of the e2fsprogs
	  package.  However, the e2fsprogs version only support ext2/3.  This
	  version supports those in addition to FAT, swap, and ReiserFS.
	  WARNING:
	  With all submodules selected, it will add ~8k to busybox.

config FREERAMDISK
	bool "freeramdisk"
	default n
	help
	  Linux allows you to create ramdisks.  This utility allows you to
	  delete them and completely free all memory that was used for the
	  ramdisk.  For example, if you boot Linux into a ramdisk and later
	  pivot_root, you may want to free the memory that is allocated to the
	  ramdisk.  If you have no use for freeing memory from a ramdisk, leave
	  this disabled.

config FSCK_MINIX
	bool "fsck_minix"
	default n
	help
	  The minix filesystem is a nice, small, compact, read-write filesystem
	  with little overhead.  It is not a journaling filesystem however and
	  can experience corruption if it is not properly unmounted or if the
	  power goes off in the middle of a write.  This utility allows you to
	  check for and attempt to repair any corruption that occurs to a minix
	  filesystem.

config MKFS_MINIX
	bool "mkfs_minix"
	default n
	help
	  The minix filesystem is a nice, small, compact, read-write filesystem
	  with little overhead.  If you wish to be able to create minix filesystems
	  this utility will do the job for you.

comment "Minix filesystem support"
	depends on FSCK_MINIX || MKFS_MINIX

config FEATURE_MINIX2
	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
	default y
	depends on FSCK_MINIX || MKFS_MINIX
	help
	  If you wish to be able to create version 2 minix filesystems, enable this.
	  If you enabled 'mkfs_minix' then you almost certainly want to be using the
	  version 2 filesystem support.

config GETOPT
	bool "getopt"
	default n
	help
	  The getopt utility is used to break up (parse) options in command
	  lines to make it easy to write complex shell scripts that also check
	  for legal (and illegal) options.  If you want to write horribly
	  complex shell scripts, or use some horribly complex shell script
	  written by others, this utility may be for you.  Most people will
	  wisely leave this disabled.

config HEXDUMP
	bool "hexdump"
	default n
	help
	  The hexdump utility is used to display binary data in a readable
	  way that is comparable to the output from most hex editors.

config FEATURE_HEXDUMP_REVERSE
	bool "Support -R, reverse of 'hexdump -Cv'"
	default n
	depends on HEXDUMP
	help
	  The hexdump utility is used to display binary data in an ascii
	  readable way. This option creates binary data from an ascii input.
	  NB: this option is non-standard. It's unwise to use it in scripts
	  aimed to be portable.

config HD
	bool "hd"
	default n
	select HEXDUMP
	help
	  hd is an alias to hexdump -C.

config HWCLOCK
	bool "hwclock"
	default n
	help
	  The hwclock utility is used to read and set the hardware clock
	  on a system.  This is primarily used to set the current time on
	  shutdown in the hardware clock, so the hardware will keep the
	  correct time when Linux is _not_ running.

config FEATURE_HWCLOCK_LONG_OPTIONS
	bool "Support long options (--hctosys,...)"
	default n
	depends on HWCLOCK && GETOPT_LONG
	help
	  By default, the hwclock utility only uses short options.  If you
	  are overly fond of its long options, such as --hctosys, --utc, etc)
	  then enable this option.

config FEATURE_HWCLOCK_ADJTIME_FHS
	bool "Use FHS /var/lib/hwclock/adjtime"
	default y
	depends on HWCLOCK
	help
	  Starting with FHS 2.3, the adjtime state file is supposed to exist
	  at /var/lib/hwclock/adjtime instead of /etc/adjtime.  If you wish
	  to use the FHS behavior, answer Y here, otherwise answer N for the
	  classic /etc/adjtime path.

	  http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO

config IPCRM
	bool "ipcrm"
	default n
	select FEATURE_SUID
	help
	  The ipcrm utility allows the removal of System V interprocess
	  communication (IPC) objects and the associated data structures
	  from the system.

config IPCS
	bool "ipcs"
	default n
	select FEATURE_SUID
	help
	  The ipcs utility is used to provide information on the currently
	  allocated System V interprocess (IPC) objects in the system.

config LOSETUP
	bool "losetup"
	default n
	help
	  losetup is used to associate or detach a loop device with a regular
	  file or block device, and to query the status of a loop device.  This
	  version does not currently support enabling data encryption.

config MDEV
	bool "mdev"
	default n
	help
	  mdev is a mini-udev implementation for dynamically creating device
	  nodes in the /dev directory.

	  For more information, please see docs/mdev.txt

config FEATURE_MDEV_CONF
	bool "Support /etc/mdev.conf"
	default n
	depends on MDEV
	help
	  Add support for the mdev config file to control ownership and
	  permissions of the device nodes.

	  For more information, please see docs/mdev.txt

config FEATURE_MDEV_RENAME
	bool "Support subdirs/symlinks"
	default n
	depends on FEATURE_MDEV_CONF
	help
	  Add support for renaming devices and creating symlinks.

	  For more information, please see docs/mdev.txt

config FEATURE_MDEV_RENAME_REGEXP
	bool "Support regular expressions substitutions when renaming device"
	default n
	depends on FEATURE_MDEV_RENAME
	help
	  Add support for regular expressions substitutions when renaming device.

config FEATURE_MDEV_EXEC
	bool "Support command execution at device addition/removal"
	default n
	depends on FEATURE_MDEV_CONF
	help
	  This adds support for an optional field to /etc/mdev.conf for
	  executing commands when devices are created/removed.

	  For more information, please see docs/mdev.txt

config FEATURE_MDEV_LOAD_FIRMWARE
	bool "Support loading of firmwares"
	default n
	depends on MDEV
	help
	  Some devices need to load firmware before they can be usable.

	  These devices will request userspace look up the files in
	  /lib/firmware/ and if it exists, send it to the kernel for
	  loading into the hardware.

config MKSWAP
	bool "mkswap"
	default n
	help
	  The mkswap utility is used to configure a file or disk partition as
	  Linux swap space.  This allows Linux to use the entire file or
	  partition as if it were additional RAM, which can greatly increase
	  the capability of low-memory machines.  This additional memory is
	  much slower than real RAM, but can be very helpful at preventing your
	  applications being killed by the Linux out of memory (OOM) killer.
	  Once you have created swap space using 'mkswap' you need to enable
	  the swap space using the 'swapon' utility.

config FEATURE_MKSWAP_V0
	bool "Version 0 support"
	default n
	depends on MKSWAP
#	depends on MKSWAP && DEPRECATED
	help
	  Enable support for the old v0 style.
	  If your kernel is older than 2.1.117, then v0 support is the
	  only option.

config MORE
	bool "more"
	default n
	help
	  more is a simple utility which allows you to read text one screen
	  sized page at a time.  If you want to read text that is larger than
	  the screen, and you are using anything faster than a 300 baud modem,
	  you will probably find this utility very helpful.  If you don't have
	  any need to reading text files, you can leave this disabled.

config FEATURE_USE_TERMIOS
	bool "Use termios to manipulate the screen"
	default y
	depends on MORE || TOP
	help
	  This option allows utilities such as 'more' and 'top' to determine
	  the size of the screen.  If you leave this disabled, your utilities
	  that display things on the screen will be especially primitive and
	  will be unable to determine the current screen size, and will be
	  unable to move the cursor.

config VOLUMEID
	bool "Routines for detecting label and uuid on common filesystems"
	default n
	help
	  TODO

config FEATURE_VOLUMEID_EXT
	bool "Ext filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_REISERFS
	bool "Reiser filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_FAT
	bool "fat filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_HFS
	bool "hfs filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_JFS
	bool "jfs filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

### config FEATURE_VOLUMEID_UFS
###	bool "ufs filesystem"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

config FEATURE_VOLUMEID_XFS
	bool "xfs filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_NTFS
	bool "ntfs filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_ISO9660
	bool "iso9660 filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_UDF
	bool "udf filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_LUKS
	bool "luks filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_LINUXSWAP
	bool "linux swap filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

### config FEATURE_VOLUMEID_LVM
###	bool "lvm"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

config FEATURE_VOLUMEID_CRAMFS
	bool "cramfs filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

### config FEATURE_VOLUMEID_HPFS
###	bool "hpfs filesystem"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

config FEATURE_VOLUMEID_ROMFS
	bool "romfs filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

config FEATURE_VOLUMEID_SYSV
	bool "sysv filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

### config FEATURE_VOLUMEID_MINIX
###	bool "minix filesystem"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### These only detect partition tables - not used (yet?)
### config FEATURE_VOLUMEID_MAC
###	bool "mac filesystem"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO
###
### config FEATURE_VOLUMEID_MSDOS
###	bool "msdos filesystem"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

config FEATURE_VOLUMEID_OCFS2
	bool "ocfs2 filesystem"
	default n
	depends on VOLUMEID
	help
	  TODO

### config FEATURE_VOLUMEID_HIGHPOINTRAID
###	bool "highpoint raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### config FEATURE_VOLUMEID_ISWRAID
###	bool "intel raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### config FEATURE_VOLUMEID_LSIRAID
###	bool "lsi raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### config FEATURE_VOLUMEID_VIARAID
###	bool "via raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### config FEATURE_VOLUMEID_SILICONRAID
###	bool "silicon raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### config FEATURE_VOLUMEID_NVIDIARAID
###	bool "nvidia raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

### config FEATURE_VOLUMEID_PROMISERAID
###	bool "promise raid"
###	default n
###	depends on VOLUMEID
###	help
###	  TODO

config FEATURE_VOLUMEID_LINUXRAID
	bool "linuxraid"
	default n
	depends on VOLUMEID
	help
	  TODO

config MOUNT
	bool "mount"
	default n
	help
	  All files and filesystems in Unix are arranged into one big directory
	  tree.  The 'mount' utility is used to graft a filesystem onto a
	  particular part of the tree.  A filesystem can either live on a block
	  device, or it can be accessible over the network, as is the case with
	  NFS filesystems.  Most people using BusyBox will also want to enable
	  the 'mount' utility.

config FEATURE_MOUNT_FAKE
	bool "Support option -f"
	default n
	depends on MOUNT
	help
	  Enable support for faking a file system mount.

config FEATURE_MOUNT_VERBOSE
	bool "Support option -v"
	default n
	depends on MOUNT
	help
	  Enable multi-level -v[vv...] verbose messages. Useful if you
	  debug mount problems and want to see what is exactly passed
	  to the kernel.

config FEATURE_MOUNT_HELPERS
	bool "Support mount helpers"
	default n
	depends on MOUNT
	help
	  Enable mounting of virtual file systems via external helpers.
	  E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
	  "obexfs -b00.11.22.33.44.55 /mnt"
	  Also "mount -t sometype [-o opts] fs /mnt" will try
	  "sometype [-o opts] fs /mnt" if simple mount syscall fails.
	  The idea is to use such virtual filesystems in /etc/fstab.

config FEATURE_MOUNT_LABEL
	bool "Support specifiying devices by label or UUID"
	default n
	depends on MOUNT
	select VOLUMEID
	help
	  This allows for specifying a device by label or uuid, rather than by
	  name.  This feature utilizes the same functionality as findfs.

config FEATURE_MOUNT_NFS
	bool "Support mounting NFS file systems"
	default n
	depends on MOUNT
	select FEATURE_HAVE_RPC
	select FEATURE_SYSLOG
	help
	  Enable mounting of NFS file systems.

config FEATURE_MOUNT_CIFS
	bool "Support mounting CIFS/SMB file systems"
	default n
	depends on MOUNT
	help
	  Enable support for samba mounts.

config FEATURE_MOUNT_FLAGS
	depends on MOUNT
	bool "Support lots of -o flags in mount"
	default y
	help
	  Without this, mount only supports ro/rw/remount.  With this, it
	  supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
	  noatime, diratime, nodiratime, loud, bind, move, shared, slave,
	  private, unbindable, rshared, rslave, rprivate, and runbindable.

config FEATURE_MOUNT_FSTAB
	depends on MOUNT
	bool "Support /etc/fstab and -a"
	default y
	help
	  Support mount all and looking for files in /etc/fstab.

config PIVOT_ROOT
	bool "pivot_root"
	default n
	help
	  The pivot_root utility swaps the mount points for the root filesystem
	  with some other mounted filesystem.  This allows you to do all sorts
	  of wild and crazy things with your Linux system and is far more
	  powerful than 'chroot'.

	  Note: This is for initrd in linux 2.4.  Under initramfs (introduced
	  in linux 2.6) use switch_root instead.

config RDATE
	bool "rdate"
	default n
	help
	  The rdate utility allows you to synchronize the date and time of your
	  system clock with the date and time of a remote networked system using
	  the RFC868 protocol, which is built into the inetd daemon on most
	  systems.

config READPROFILE
	bool "readprofile"
	default n
	help
	  This allows you to parse /proc/profile for basic profiling.

config RTCWAKE
	bool "rtcwake"
	default n
	help
	  Enter a system sleep state until specified wakeup time.

config SCRIPT
	bool "script"
	default n
	help
	  The script makes typescript of terminal session.

config SETARCH
	bool "setarch"
	default n
	help
	  The linux32 utility is used to create a 32bit environment for the
	  specified program (usually a shell).  It only makes sense to have
	  this util on a system that supports both 64bit and 32bit userland
	  (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).

config SWAPONOFF
	bool "swaponoff"
	default n
	help
	  This option enables both the 'swapon' and the 'swapoff' utilities.
	  Once you have created some swap space using 'mkswap', you also need
	  to enable your swap space with the 'swapon' utility.  The 'swapoff'
	  utility is used, typically at system shutdown, to disable any swap
	  space.  If you are not using any swap space, you can leave this
	  option disabled.

config FEATURE_SWAPON_PRI
	bool "Support priority option -p"
	default n
	depends on SWAPONOFF
	help
	  Enable support for setting swap device priority in swapon.

config SWITCH_ROOT
	bool "switch_root"
	default n
	help
	  The switch_root utility is used from initramfs to select a new
	  root device.  Under initramfs, you have to use this instead of
	  pivot_root.  (Stop reading here if you don't care why.)

	  Booting with initramfs extracts a gzipped cpio archive into rootfs
	  (which is a variant of ramfs/tmpfs).  Because rootfs can't be moved
	  or unmounted*, pivot_root will not work from initramfs.  Instead,
	  switch_root deletes everything out of rootfs (including itself),
	  does a mount --move that overmounts rootfs with the new root, and
	  then execs the specified init program.

	  * Because the Linux kernel uses rootfs internally as the starting
	  and ending point for searching through the kernel's doubly linked
	  list of active mount points.  That's why.

config UMOUNT
	bool "umount"
	default n
	help
	  When you want to remove a mounted filesystem from its current mount point,
	  for example when you are shutting down the system, the 'umount' utility is
	  the tool to use.  If you enabled the 'mount' utility, you almost certainly
	  also want to enable 'umount'.

config FEATURE_UMOUNT_ALL
	bool "Support option -a"
	default n
	depends on UMOUNT
	help
	  Support -a option to unmount all currently mounted filesystems.

comment "Common options for mount/umount"
	depends on MOUNT || UMOUNT

config FEATURE_MOUNT_LOOP
	bool "Support loopback mounts"
	default n
	depends on MOUNT || UMOUNT
	help
	  Enabling this feature allows automatic mounting of files (containing
	  filesystem images) via the linux kernel's loopback devices.  The mount
	  command will detect you are trying to mount a file instead of a block
	  device, and transparently associate the file with a loopback device.
	  The umount command will also free that loopback device.

	  You can still use the 'losetup' utility (to manually associate files
	  with loop devices) if you need to do something advanced, such as
	  specify an offset or cryptographic options to the loopback device.
	  (If you don't want umount to free the loop device, use "umount -D".)

config FEATURE_MTAB_SUPPORT
	bool "Support for the old /etc/mtab file"
	default n
	depends on MOUNT || UMOUNT
	select FEATURE_MOUNT_FAKE
	help
	  Historically, Unix systems kept track of the currently mounted
	  partitions in the file "/etc/mtab".  These days, the kernel exports
	  the list of currently mounted partitions in "/proc/mounts", rendering
	  the old mtab file obsolete.  (In modern systems, /etc/mtab should be
	  a symlink to /proc/mounts.)

	  The only reason to have mount maintain an /etc/mtab file itself is if
	  your stripped-down embedded system does not have a /proc directory.
	  If you must use this, keep in mind it's inherently brittle (for
	  example a mount under chroot won't update it), can't handle modern
	  features like separate per-process filesystem namespaces, requires
	  that your /etc directory be writeable, tends to get easily confused
	  by --bind or --move mounts, won't update if you rename a directory
	  that contains a mount point, and so on.  (In brief: avoid.)

	  About the only reason to use this is if you've removed /proc from
	  your kernel.

endmenu