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 | --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
22 --version Show toybox version
24 To install command symlinks, try:
25 for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done
31 Support for the Set User ID bit, to install toybox suid root and drop
32 permissions for commands which do not require root access. To use
33 this change ownership of the file to the root user and set the suid
34 bit in the file permissions:
36 chown root:root toybox; chmod +s toybox
39 prompt "Security Blanket"
40 default TOYBOX_LSM_NONE
42 Select a Linux Security Module to complicate your system
43 until you can't find holes in it.
45 config TOYBOX_LSM_NONE
48 Don't try to achieve "watertight" by plugging the holes in a
49 collander, instead use conventional unix security (and possibly
50 Linux Containers) for a simple straightforward system.
53 bool "SELinux support"
55 Include SELinux options in commands such as ls, and add
56 SELinux-specific commands such as chcon to the Android menu.
61 Include SMACK options in commands like ls for systems like Tizen.
65 config TOYBOX_LIBCRYPTO
66 bool "Use libcrypto (OpenSSL/BoringSSL)"
69 Use faster hash functions out of exteral -lcrypto library.
72 bool "Floating point support"
75 Include floating point support infrastructure and commands that
82 Include help text for each command.
84 config TOYBOX_HELP_DASHDASH
87 depends on TOYBOX_HELP
89 Support --help argument in all commands, even ones with a NULL
90 optstring. Produces the same output as "help command".
93 bool "Internationalization support"
96 Support for UTF-8 character sets, and some locale support.
99 bool "Free memory unnecessarily"
102 When a program exits, the operating system will clean up after it
103 (free memory, close files, etc). To save size, toybox usually relies
104 on this behavior. If you're running toybox under a debugger or
105 without a real OS (ala newlib+libgloss), enable this to make toybox
106 clean up after itself.
108 config TOYBOX_NORECURSE
109 bool "Disable recursive execution"
112 When one toybox command calls another, usually it just calls the new
113 command's main() function rather than searching the $PATH and calling
114 exec on another file (which is much slower).
116 This disables that optimization, so toybox will run external commands
117 even when it has a built-in version of that command. This requires
118 toybox symlinks to be installed in the $PATH, or re-invoking the
119 "toybox" multiplexer command by name.
122 bool "Debugging tests"
125 Enable extra checks for debugging purposes. All of them catch
126 things that can only go wrong at development time, not runtime.
128 config TOYBOX_UID_SYS
129 int "First system UID"
132 When commands like useradd/groupadd allocate system IDs, start here.
134 config TOYBOX_UID_USR
138 When commands like useradd/groupadd allocate user IDs, start here.
140 config TOYBOX_MUSL_NOMMU_IS_BROKEN
141 bool "Workaround for musl-libc breakage on nommu systems."
144 When using musl-libc on a nommu system, you'll need to say "y" here.
146 Although uclibc lets you detect support for things like fork() and
147 daemon() at compile time, musl intentionally includes broken versions
148 that always return -ENOSYS on nommu systems, and goes out of its way
149 to prevent any cross-compile compatible compile-time probes for a
152 Musl does this despite the fact that a nommu system can't even run
153 standard ELF binaries, and requires specially packaged executables.
154 (You can't even check a #define to see that you're building against
155 musl, due to its maintainer's policy that musl never has bugs that
156 require workarounds.)
158 So our only choice is to manually provide a musl nommu bug workaround
159 you can manually select to enable (larger, slower) nommu support with
162 You don't need this for uClibc, we have a compile time probe that
163 autodetects nommu support there.