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