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/stdout, and "--" stops argument parsing. 32 33 Numerical arguments accept a single letter suffix for 34 kilo, mega, giga, tera, peta, and exabytes, plus an additional 35 "d" to indicate decimal 1000's instead of 1024. 36 37 Durations can be decimal fractions and accept minute ("m"), hour ("h"), 38 or day ("d") suffixes (so 0.1m = 6s). 39 40config TOYBOX_SUID 41 bool "SUID support" 42 default y 43 help 44 Support for the Set User ID bit, to install toybox suid root and drop 45 permissions for commands which do not require root access. To use 46 this change ownership of the file to the root user and set the suid 47 bit in the file permissions: 48 49 chown root:root toybox; chmod +s toybox 50 51choice 52 prompt "Security Blanket" 53 default TOYBOX_LSM_NONE 54 help 55 Select a Linux Security Module to complicate your system 56 until you can't find holes in it. 57 58config TOYBOX_LSM_NONE 59 bool "None" 60 help 61 Don't try to achieve "watertight" by plugging the holes in a 62 collander, instead use conventional unix security (and possibly 63 Linux Containers) for a simple straightforward system. 64 65config TOYBOX_SELINUX 66 bool "SELinux support" 67 help 68 Include SELinux options in commands such as ls, and add 69 SELinux-specific commands such as chcon to the Android menu. 70 71config TOYBOX_SMACK 72 bool "SMACK support" 73 help 74 Include SMACK options in commands like ls for systems like Tizen. 75 76endchoice 77 78config TOYBOX_LIBCRYPTO 79 bool "Use libcrypto (OpenSSL/BoringSSL)" 80 default n 81 help 82 Use faster hash functions out of external -lcrypto library. 83 84config TOYBOX_LIBZ 85 bool "Use libz (zlib)" 86 default n 87 help 88 Use libz for gz support. 89 90config TOYBOX_FLOAT 91 bool "Floating point support" 92 default y 93 help 94 Include floating point support infrastructure and commands that 95 require it. 96 97config TOYBOX_HELP 98 bool "Help messages" 99 default y 100 help 101 Include help text for each command. 102 103config TOYBOX_HELP_DASHDASH 104 bool "--help and --version" 105 default y 106 depends on TOYBOX_HELP 107 help 108 Support --help argument in all commands, even ones with a NULL 109 optstring. (Use TOYFLAG_NOHELP to disable.) Produces the same output 110 as "help command". --version shows toybox version. 111 112config TOYBOX_I18N 113 bool "Internationalization support" 114 default y 115 help 116 Support for UTF-8 character sets, and some locale support. 117 118config TOYBOX_FREE 119 bool "Free memory unnecessarily" 120 default n 121 help 122 When a program exits, the operating system will clean up after it 123 (free memory, close files, etc). To save size, toybox usually relies 124 on this behavior. If you're running toybox under a debugger or 125 without a real OS (ala newlib+libgloss), enable this to make toybox 126 clean up after itself. 127 128config TOYBOX_NORECURSE 129 bool "Disable recursive execution" 130 default n 131 help 132 When one toybox command calls another, usually it just calls the new 133 command's main() function rather than searching the $PATH and calling 134 exec on another file (which is much slower). 135 136 This disables that optimization, so toybox will run external commands 137 even when it has a built-in version of that command. This requires 138 toybox symlinks to be installed in the $PATH, or re-invoking the 139 "toybox" multiplexer command by name. 140 141config TOYBOX_DEBUG 142 bool "Debugging tests" 143 default n 144 help 145 Enable extra checks for debugging purposes. All of them catch 146 things that can only go wrong at development time, not runtime. 147 148config TOYBOX_PEDANTIC_ARGS 149 bool "Pedantic argument checking" 150 default n 151 help 152 Check arguments for commands that have no arguments. 153 154config TOYBOX_UID_SYS 155 int "First system UID" 156 default 100 157 help 158 When commands like useradd/groupadd allocate system IDs, start here. 159 160config TOYBOX_UID_USR 161 int "First user UID" 162 default 500 163 help 164 When commands like useradd/groupadd allocate user IDs, start here. 165 166config TOYBOX_MUSL_NOMMU_IS_BROKEN 167 bool "Workaround for musl-libc breakage on nommu systems." 168 default n 169 help 170 When using musl-libc on a nommu system, you'll need to say "y" here. 171 172 Although uclibc lets you detect support for things like fork() and 173 daemon() at compile time, musl intentionally includes broken versions 174 that always return -ENOSYS on nommu systems, and goes out of its way 175 to prevent any cross-compile compatible compile-time probes for a 176 nommu system. (It doesn't even #define __MUSL__ in features.h.) 177 178 Musl does this despite the fact that a nommu system can't even run 179 standard ELF binaries, and requires specially packaged executables. 180 So our only choice is to manually provide a musl nommu bug workaround 181 you can manually select to enable (larger, slower) nommu support with 182 musl. 183 184endmenu 185