1 mainmenu "Toybox Configuration"
4 source generated/Config.probed
5 source generated/Config.in
9 menu "Toybox global settings"
11 # This entry controls the multiplexer, disabled for single command builds
16 usage: toybox [--long | --help | --version | [command] [arguments...]]
18 With no arguments, shows available commands. First argument is
19 name of a command to run, followed by any arguments to that command.
21 --long Show path to each command
23 To install command symlinks, try:
24 for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done
26 Most toybox commands also understand the following arguments:
28 --help Show command help (only)
29 --version Show toybox version (only)
31 The filename "-" means stdin, "--" stops argument parsing,
32 and numerical arguments accept a single letter suffix for
33 kilo, mega, giga, tera, peta, and exabytes, plus an additional
34 "d" to indicate decimal 1000's instead of 1024.
40 Support for the Set User ID bit, to install toybox suid root and drop
41 permissions for commands which do not require root access. To use
42 this change ownership of the file to the root user and set the suid
43 bit in the file permissions:
45 chown root:root toybox; chmod +s toybox
48 prompt "Security Blanket"
49 default TOYBOX_LSM_NONE
51 Select a Linux Security Module to complicate your system
52 until you can't find holes in it.
54 config TOYBOX_LSM_NONE
57 Don't try to achieve "watertight" by plugging the holes in a
58 collander, instead use conventional unix security (and possibly
59 Linux Containers) for a simple straightforward system.
62 bool "SELinux support"
64 Include SELinux options in commands such as ls, and add
65 SELinux-specific commands such as chcon to the Android menu.
70 Include SMACK options in commands like ls for systems like Tizen.
74 config TOYBOX_LIBCRYPTO
75 bool "Use libcrypto (OpenSSL/BoringSSL)"
78 Use faster hash functions out of exteral -lcrypto library.
81 bool "Floating point support"
84 Include floating point support infrastructure and commands that
91 Include help text for each command.
93 config TOYBOX_HELP_DASHDASH
94 bool "--help and --version"
96 depends on TOYBOX_HELP
98 Support --help argument in all commands, even ones with a NULL
99 optstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output
100 as "help command". --version shows toybox version.
103 bool "Internationalization support"
106 Support for UTF-8 character sets, and some locale support.
109 bool "Free memory unnecessarily"
112 When a program exits, the operating system will clean up after it
113 (free memory, close files, etc). To save size, toybox usually relies
114 on this behavior. If you're running toybox under a debugger or
115 without a real OS (ala newlib+libgloss), enable this to make toybox
116 clean up after itself.
118 config TOYBOX_NORECURSE
119 bool "Disable recursive execution"
122 When one toybox command calls another, usually it just calls the new
123 command's main() function rather than searching the $PATH and calling
124 exec on another file (which is much slower).
126 This disables that optimization, so toybox will run external commands
127 even when it has a built-in version of that command. This requires
128 toybox symlinks to be installed in the $PATH, or re-invoking the
129 "toybox" multiplexer command by name.
132 bool "Debugging tests"
135 Enable extra checks for debugging purposes. All of them catch
136 things that can only go wrong at development time, not runtime.
138 config TOYBOX_PEDANTIC_ARGS
139 bool "Pedantic argument checking"
142 Check arguments for commands that have no arguments.
144 config TOYBOX_UID_SYS
145 int "First system UID"
148 When commands like useradd/groupadd allocate system IDs, start here.
150 config TOYBOX_UID_USR
154 When commands like useradd/groupadd allocate user IDs, start here.
156 config TOYBOX_MUSL_NOMMU_IS_BROKEN
157 bool "Workaround for musl-libc breakage on nommu systems."
160 When using musl-libc on a nommu system, you'll need to say "y" here.
162 Although uclibc lets you detect support for things like fork() and
163 daemon() at compile time, musl intentionally includes broken versions
164 that always return -ENOSYS on nommu systems, and goes out of its way
165 to prevent any cross-compile compatible compile-time probes for a
168 Musl does this despite the fact that a nommu system can't even run
169 standard ELF binaries, and requires specially packaged executables.
170 (You can't even check a #define to see that you're building against
171 musl, due to its maintainer's policy that musl never has bugs that
172 require workarounds.)
174 So our only choice is to manually provide a musl nommu bug workaround
175 you can manually select to enable (larger, slower) nommu support with
178 You don't need this for uClibc, we have a compile time probe that
179 autodetects nommu support there.