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