1mainmenu "Toybox Configuration" 2 3 4source generated/Config.probed 5source generated/Config.in 6 7comment "" 8 9menu "Toybox global settings" 10 11# This entry controls the multiplexer, disabled for single command builds 12config TOYBOX 13 bool 14 default y 15 help 16 usage: toybox [--long | --help | --version | [command] [arguments...]] 17 18 With no arguments, shows available commands. First argument is 19 name of a command to run, followed by any arguments to that command. 20 21 --long Show path to each command 22 23 To install command symlinks, try: 24 for i in $(/bin/toybox --long); do ln -s /bin/toybox $i; done 25 26 Most toybox commands also understand the following arguments: 27 28 --help Show command help (only) 29 --version Show toybox version (only) 30 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. 35 36config TOYBOX_SUID 37 bool "SUID support" 38 default y 39 help 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: 44 45 chown root:root toybox; chmod +s toybox 46 47choice 48 prompt "Security Blanket" 49 default TOYBOX_LSM_NONE 50 help 51 Select a Linux Security Module to complicate your system 52 until you can't find holes in it. 53 54config TOYBOX_LSM_NONE 55 bool "None" 56 help 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. 60 61config TOYBOX_SELINUX 62 bool "SELinux support" 63 help 64 Include SELinux options in commands such as ls, and add 65 SELinux-specific commands such as chcon to the Android menu. 66 67config TOYBOX_SMACK 68 bool "SMACK support" 69 help 70 Include SMACK options in commands like ls for systems like Tizen. 71 72endchoice 73 74config TOYBOX_LIBCRYPTO 75 bool "Use libcrypto (OpenSSL/BoringSSL)" 76 default n 77 help 78 Use faster hash functions out of exteral -lcrypto library. 79 80config TOYBOX_FLOAT 81 bool "Floating point support" 82 default y 83 help 84 Include floating point support infrastructure and commands that 85 require it. 86 87config TOYBOX_HELP 88 bool "Help messages" 89 default y 90 help 91 Include help text for each command. 92 93config TOYBOX_HELP_DASHDASH 94 bool "--help and --version" 95 default y 96 depends on TOYBOX_HELP 97 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. 101 102config TOYBOX_I18N 103 bool "Internationalization support" 104 default y 105 help 106 Support for UTF-8 character sets, and some locale support. 107 108config TOYBOX_FREE 109 bool "Free memory unnecessarily" 110 default n 111 help 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. 117 118config TOYBOX_NORECURSE 119 bool "Disable recursive execution" 120 default n 121 help 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). 125 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. 130 131config TOYBOX_DEBUG 132 bool "Debugging tests" 133 default n 134 help 135 Enable extra checks for debugging purposes. All of them catch 136 things that can only go wrong at development time, not runtime. 137 138config TOYBOX_PEDANTIC_ARGS 139 bool "Pedantic argument checking" 140 default n 141 help 142 Check arguments for commands that have no arguments. 143 144config TOYBOX_UID_SYS 145 int "First system UID" 146 default 100 147 help 148 When commands like useradd/groupadd allocate system IDs, start here. 149 150config TOYBOX_UID_USR 151 int "First user UID" 152 default 500 153 help 154 When commands like useradd/groupadd allocate user IDs, start here. 155 156config TOYBOX_MUSL_NOMMU_IS_BROKEN 157 bool "Workaround for musl-libc breakage on nommu systems." 158 default n 159 help 160 When using musl-libc on a nommu system, you'll need to say "y" here. 161 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 166 nommu system. 167 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.) 173 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 176 musl. 177 178 You don't need this for uClibc, we have a compile time probe that 179 autodetects nommu support there. 180 181endmenu 182