nuttx-apps/nshlib/Kconfig

855 lines
22 KiB
Plaintext

#
# For a description of the syntax of this configuration file,
# see misc/tools/kconfig-language.txt.
#
config NSH_LIBRARY
bool "NSH Library"
default n
---help---
Build the NSH support library. This is used, for example, by
examples/nsh in order to implement the full NuttShell (NSH).
if NSH_LIBRARY
choice
prompt "Command Line Editor"
default NSH_READLINE if DEFAULT_SMALL
default NSH_CLE if !DEFAULT_SMALL
config NSH_READLINE
bool "Minimal readline()"
select SYSTEM_READLINE
---help---
Selects the minimal implementation of readline(). This minimal
implementation provides on backspace for command line editing.
config NSH_CLE
bool "Command Line Editor"
select SYSTEM_CLE
---help---
Selects the more extensive, EMACS-like command line editor.
Select this option only if (1) you don't mind a modest increase
in the FLASH footprint, and (2) you work with a terminal that
supports extensive VT100 editing commands.
Selecting this option will add probably 1.5-2KB to the FLASH
footprint.
endchoice
config NSH_BUILTIN_APPS
bool "Enable built-in applications"
default n
depends on BUILTIN
---help---
Support external registered, "built-in" applications that can be
executed from the NSH command line (see apps/README.txt for
more information). This options requires support for builtin
applications (BUILTIN).
config NSH_FILE_APPS
bool "Enable execution of program files"
default n
depends on LIBC_EXECFUNCS
---help---
Support execution of program files residing within a file
system. This options requires support for the posix_spawn()
interface (LIBC_EXECFUNCS).
menu "Disable Individual commands"
config NSH_DISABLE_ADDROUTE
bool "Disable addroute"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_BASE64DEC
bool "Disable base64dec"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
depends on NETUTILS_CODECS && CODECS_BASE64
config NSH_DISABLE_BASE64ENC
bool "Disable base64enc"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
depends on NETUTILS_CODECS && CODECS_BASE64
config NSH_DISABLE_CAT
bool "Disable cat"
default n
config NSH_DISABLE_CD
bool "Disable cd"
default n
config NSH_DISABLE_CP
bool "Disable cp"
default n
config NSH_DISABLE_CMP
bool "Disable cmp"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_DD
bool "Disable dd"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_DF
bool "Disable df"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_DELROUTE
bool "Disable delroute"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_ECHO
bool "Disable echo"
default n
config NSH_DISABLE_EXEC
bool "Disable exec"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_EXIT
bool "Disable exit"
default y if DEFAULT_SMALL && !NSH_TELNET
default n if !DEFAULT_SMALL || NSH_TELNET
config NSH_DISABLE_FREE
bool "Disable free"
default n
config NSH_DISABLE_GET
bool "Disable get"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_HELP
bool "Disable help"
default n
config NSH_DISABLE_HEXDUMP
bool "Disable hexdump"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_IFCONFIG
bool "Disable ifconfig"
default n
config NSH_DISABLE_KILL
bool "Disable kill"
default n
config NSH_DISABLE_LOSETUP
bool "Disable losetup"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_LS
bool "Disable ls"
default n
config NSH_DISABLE_MB
bool "Disable mb"
default n
config NSH_DISABLE_MD5
bool "Disable md5"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
depends on NETUTILS_CODECS && CODECS_HASH_MD5
config NSH_DISABLE_MKDIR
bool "Disable mkdir"
default n
config NSH_DISABLE_MKFATFS
bool "Disable mkfatfs"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
depends on FS_FAT
config NSH_DISABLE_MKFIFO
bool "Disable mkfifo"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_MKRD
bool "Disable mkrd"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_MH
bool "Disable mh"
default n
config NSH_DISABLE_MOUNT
bool "Disable mount"
default n
config NSH_DISABLE_MW
bool "Disable mw"
default n
config NSH_DISABLE_NSFMOUNT
bool "Disable nfsmount"
default n
depends on NFS
config NSH_DISABLE_PS
bool "Disable ps"
default n
depends on !NUTTX_KERNEL
config NSH_DISABLE_PING
bool "Disable ping"
default n
depends on NET_ICMP
config NSH_DISABLE_PUT
bool "Disable put"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_PWD
bool "Disable pwd"
default n
config NSH_DISABLE_RM
bool "Disable rm"
default n
config NSH_DISABLE_RMDIR
bool "Disable rmdir"
default n
config NSH_DISABLE_SET
bool "Disable set"
default n
config NSH_DISABLE_SH
bool "Disable sh"
default n
config NSH_DISABLE_SLEEP
bool "Disable sleep"
default n
config NSH_DISABLE_TEST
bool "Disable test"
default n
config NSH_DISABLE_UMOUNT
bool "Disable umount"
default n
config NSH_DISABLE_UNSET
bool "Disable unset"
default n
config NSH_DISABLE_URLDECODE
bool "Disable urldecode"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
depends on NETUTILS_CODECS && CODECS_URLCODE
config NSH_DISABLE_URLENCODE
bool "Disable urlencode"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
depends on NETUTILS_CODECS && CODECS_URLCODE
config NSH_DISABLE_USLEEP
bool "Disable usleep"
default n
config NSH_DISABLE_WGET
bool "Disable wget"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
config NSH_DISABLE_XD
bool "Disable xd"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
endmenu
menu "Configure Command Options"
config NSH_CMDOPT_DF_H
bool "df: Enable [-h] man-readable format"
default n if DEFAULT_SMALL
default y if !DEFAULT_SMALL
depends on !NSH_DISABLE_DF
config NSH_CODECS_BUFSIZE
int "File buffer size used by CODEC commands"
default 128
config NSH_CMDOPT_HEXDUMP
bool "hexdump: Enable 'skip' and 'count' parameters"
default n if DEFAULT_SMALL
default y if !DEFAULT_SMALL
depends on !NSH_DISABLE_HEXDUMP
config NSH_PROC_MOUNTPOUNT
string "procfs mountpoint"
default "/proc"
depends on FS_PROCFS
endmenu
config NSH_FILEIOSIZE
int "NSH I/O buffer size"
default 512 if DEFAULT_SMALL
default 1024 if !DEFAULT_SMALL
---help---
Size of a static I/O buffer used for file access (ignored if
there is no filesystem). Default is 512/1024.
config NSH_STRERROR
bool "Use strerror()"
default n
depends on LIBC_STRERROR
---help---
strerror(errno) makes more readable output but strerror() is
very large and will not be used unless this setting is 'y'
This setting depends upon the strerror() having been enabled
with LIBC_STRERROR.
config NSH_LINELEN
int "Max command line length"
default 64 if DEFAULT_SMALL
default 80 if !DEFAULT_SMALL
---help---
The maximum length of one command line and of one output line.
Default: 64/80
config NSH_DISABLE_SEMICOLON
bool "Disable multiple commands per line"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
---help---
By default, you can enter multiple NSH commands on a line with each
command separated by a semicolon. You can disable this feature to
save a little memory on FLASH challenged platforms.
config NSH_CMDPARMS
bool "Enable commands as parameters"
default n if DEFAULT_SMALL
default y if !DEFAULT_SMALL
depends on !DISABLE_MOUNTPOINT
---help---
If selected, then the output from commands, from file applications, and
from NSH built-in commands can be used as arguments to other
commands. The entity to be executed is identified by enclosing the
command line in back quotes. For example,
set FOO `myprogram $BAR`
Will execute the program named myprogram passing it the value of the
environment variable BAR. The value of the environment variable FOO
is then set output of myprogram on stdout.
Because this feature commits significant resources, it is disabled by
default.
config NSH_TMPDIR
string "Temporary file directory"
default "/tmp"
depends on NSH_CMDPARMS
---help---
If NSH_CMDPARMS is selected, then function output will be retained
in a temporary file. In that case, this string must be provided to
specify the full path to a directory where temporary files can be
created. This would be a good application of RAM disk: To provide
temporary storage for function output.
config NSH_MAXARGUMENTS
int "Maximum number of command arguments"
default 6
---help---
The maximum number of NSH command arguments.
Default: 6
config NSH_ARGCAT
bool "Concatenation of argument strings"
default n if DEFAULT_SMALL
default y if !DEFAULT_SMALL
---help---
Support concatenation of strings with environment variables or command
output. For example:
set FOO XYZ
set BAR 123
set FOOBAR ABC_${FOO}_${BAR}
would set the environment variable FOO to XYZ, BAR to 123 and FOOBAR
to ABC_XYZ_123. If NSH_ARGCAT is not selected, then a slightly small
FLASH footprint results but then also only simple environment
variables like $FOO can be used on the command line.
config NSH_NESTDEPTH
int "Maximum command nesting"
default 3
---help---
The maximum number of nested if-then[-else]-fi sequences that
are permissable. Default: 3
config NSH_DISABLESCRIPT
bool "Disable script support"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
---help---
This can be set to 'y' to suppress support for scripting. This
setting disables the 'sh', 'test', and '[' commands and the
if-then[-else]-fi construct. This would only be set on systems
where a minimal footprint is a necessity and scripting is not.
if !NSH_DISABLESCRIPT
config NSH_DISABLE_ITEF
bool "Disable if-then-else-fi"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
---help---
This can be set to 'y' to suppress support for if-then-else-fi
sequences in scripts. This would only be set on systems where
some minimal scripting is required but if-then-else-fi is not.
config NSH_DISABLE_LOOPS
bool "Disable loops"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
---help---
This can be set to 'y' to suppress support for while-do-done and
until-do-done sequences in scripts. This would only be set on
systems where some minimal scripting is required but looping
is not.
endif # !NSH_DISABLESCRIPT
config NSH_DISABLEBG
bool "Disable background commands"
default y if DEFAULT_SMALL
default n if !DEFAULT_SMALL
---help---
This can be set to 'y' to suppress support for background
commands. This setting disables the 'nice' command prefix and
the '&' command suffix. This would only be set on systems
where a minimal footprint is a necessity and background command
execution is not.
config NSH_MMCSDMINOR
int "MMC/SD minor device number"
default 0
---help---
If the architecture supports an MMC/SD slot and if the NSH
architecture specific logic is present, this option will provide
the MMC/SD minor number, i.e., the MMC/SD block driver will
be registered as /dev/mmcsdN where N is the minor number.
Default is zero.
config NSH_ROMFSETC
bool "Support ROMFS start-up script"
default n
depends on FS_ROMFS
---help---
Mount a ROMFS filesystem at /etc and provide a startup script
at /etc/init.d/rcS. The default startup script will mount
a FAT FS RAMDISK at /tmp but the logic is easily extensible.
endif # NSH_LIBRARY
if NSH_ROMFSETC
config NSH_ROMFSRC
bool "Support ROMFS login script"
default n
---help---
The ROMFS start-up script will be executed excactly once. For
simple, persistence consoles (like a serial console). But with
other other kinds of consoles, there may be multiple, transient
sessions (such as Telnet and USB consoles). In these cases, you
may need another script that is executed at the beginning of each
session. Selecting this option enables support for such a login
script
config NSH_ROMFSMOUNTPT
string "ROMFS mount point"
default "/etc"
---help---
The default mountpoint for the ROMFS volume is /etc, but that
can be changed with this setting. This must be a absolute path
beginning with '/'.
config NSH_INITSCRIPT
string "Relative path to startup script"
default "init.d/rcS"
---help---
This is the relative path to the startup script within the mountpoint.
The default is init.d/rcS. This is a relative path and must not
start with '/'.
config NSH_RCSCRIPT
string "Relative path to login script"
default ".nshrc"
depends on NSH_ROMFSRC
---help---
This is the relative path to the login script within the mountpoint.
The default is .nshrc. This is a relative path and must not
start with '/'.
config NSH_ROMFSDEVNO
int "ROMFS block device minor number"
default 0
---help---
This is the minor number of the ROMFS block device. The default is
'0' corresponding to /dev/ram0.
config NSH_ROMFSSECTSIZE
int "ROMFS sector size"
default 64
---help---
This is the sector size to use with the ROMFS volume. Since the
default volume is very small, this defaults to 64 but should be
increased if the ROMFS volume were to be become large. Any value
selected must be a power of 2.
config NSH_ARCHROMFS
bool "Architecture-specific ROMFS header"
default n
---help---
Enable this option to provide an architecture-specific ROMFS
header at <arch/board/nsh_romfsimg.h>. Note that this header
will be copied from nuttx/configs/<boardname>/include and should
be stored at this location.
config NSH_FATDEVNO
int "FAT block device minor number"
default 0
depends on FS_FAT
---help---
When the default rcS file used when NSH_ROMFSETC is selected, it
will mount a FAT FS under /tmp. This is the minor number of the FAT
FS block device. The default is '1' corresponding to /dev/ram1.
config NSH_FATSECTSIZE
int "FAT sector size"
default 512
depends on FS_FAT
---help---
When the default rcS file used when NSH_ROMFSETC is selected, it
will mount a FAT FS under /tmp. This is the sector size use with the
FAT FS. Default is 512.
config NSH_FATNSECTORS
int "FAT number of sectors"
default 1024
depends on FS_FAT
---help---
When the default rcS file used when NSH_ROMFSETC is selected, it
will mount a FAT FS under /tmp. This is the number of sectors to use
with the FAT FS. Defualt is 1024. The amount of memory used by the
FAT FS will be NSH_FATSECTSIZE * NSH_FATNSECTORS bytes.
config NSH_FATMOUNTPT
string "FAT mount point"
default "/tmp"
depends on FS_FAT
---help---
When the default rcS file used when NSH_ROMFSETC is selected, it
will mount a FAT FS under /tmp. This is the location where the FAT
FS will be mounted. Default is "/tmp".
endif # NSH_ROMFSETC
if NSH_LIBRARY
config NSH_CONSOLE
bool "Use console"
default y
---help---
If NSH_CONSOLE is set to 'y', then a character driver
console front-end is selected (/dev/console).
Normally, the serial console device is a UART and RS-232
interface. However, if USBDEV is defined, then a USB
serial device may, instead, be used if the one of
the following are defined:
PL2303 and PL2303_CONSOLE - Set up the Prolifics PL2303
emulation as a console device at /dev/console.
CDCACM and CDCACM_CONSOLE - Set up the CDC/ACM serial
device as a console device at dev/console.
NSH_USBCONSOLE and NSH_USBCONDEV - Sets up some other USB
serial device as the NSH console (not necessarily dev/console).
config NSH_USBCONSOLE
bool "Use a USB console"
default n
depends on NSH_CONSOLE && USBDEV
---help---
If defined, then the an arbitrary USB device may be used
to as the NSH console. In this case, NSH_USBCONDEV must
be defined to indicate which USB device to use as the
console.
config NSH_USBCONDEV
string "USB console device"
default "/dev/ttyACM0"
depends on NSH_USBCONSOLE
---help---
If NSH_USBCONSOLE is set to 'y', then NSH_USBCONDEV must
also be set to select the USB device used to support the
NSH console. This should be set to the quoted name of a
readable/write-able USB driver such as:
NSH_USBCONDEV="/dev/ttyACM0".
config USBDEV_MINOR
int "USB console device minor number"
default 0
depends on NSH_USBCONSOLE
---help---
If there are more than one USB devices, then a USB device
minor number may also need to be provided. Default: 0
comment "USB Trace Support"
config NSH_USBDEV_TRACE
bool "Enable Builtin USB Trace Support"
default n
depends on USBDEV && (DEBUG || USBDEV_TRACE)
---help---
Enable builtin USB trace support in NSH. If selected, buffered USB
trace data will be presented each time a command is provided to NSH.
The USB trace data will be sent to the console unless DEBUG set or
unless you are using a USB console. In those cases, the trace data
will go to the SYSLOG device.
If not enabled, the USB trace support can be provided by external
logic such as apps/system/usbmonitor.
if NSH_USBDEV_TRACE
config NSH_USBDEV_TRACEINIT
bool "Show initialization events"
default n
---help---
Show initialization events
config NSH_USBDEV_TRACECLASS
bool "Show class driver events"
default n
---help---
Show class driver events
config NSH_USBDEV_TRACETRANSFERS
bool "Show data transfer events"
default n
---help---
Show data transfer events
config NSH_USBDEV_TRACECONTROLLER
bool "Show controller events"
default n
---help---
Show controller events
config NSH_USBDEV_TRACEINTERRUPTS
bool "Show interrupt-related events"
default n
---help---
Show interrupt-related events
endif # NSH_USBDEV_TRACE
config NSH_CONDEV
bool "Default console device"
default "/dev/console"
depends on NSH_CONSOLE && !NSH_USBCONSOLE
---help---
If NSH_CONSOLE is set to 'y', then NSH_CONDEV
may also be set to select the serial device used to support
the NSH console. This should be set to the quoted name of a
readable/write-able character driver such as:
NSH_CONDEV="/dev/ttyS1". This is useful, for example,
to separate the NSH command line from the system console when
the system console is used to provide debug output. Default:
stdin and stdout (probably "/dev/console")
NOTE: When any other device other than /dev/console is used
for a user interface, (1) linefeeds (\n) will not be expanded to
carriage return / linefeeds (\r\n). You will need to set
your terminal program to account for this. And (2) input is
not automatically echoed so you will have to turn local echo on.
config NSH_ARCHINIT
bool "Have architecture-specific initialization"
default n
---help---
Set if your board provides architecture specific initialization
via the board-specific function nsh_archinitialize(). This
function will be called early in NSH initialization to allow
board logic to do such things as configure MMC/SD slots.
config NSH_TELNET
bool "Use Telnet console"
default n if DEFAULT_SMALL
default y if !DEFAULT_SMALL
depends on NETUTILS_TELNETD
---help---
If NSH_TELNET is set to 'y', then a TELENET
server front-end is selected. When this option is provided,
you may log into NuttX remotely using telnet in order to
access NSH.
endif # NSH_LIBRARY
if NSH_TELNET
config NSH_TELNETD_PORT
int "Telnet port number"
default 23
---help---
The telnet daemon will listen on this TCP port number for connections.
Default: 23
config NSH_TELNETD_DAEMONPRIO
int "Telnet daemon priority"
default 100
---help---
Priority of the Telnet daemon. Default: 100
config NSH_TELNETD_DAEMONSTACKSIZE
int "Telnet daemon stack size"
default 2048
---help---
Stack size allocated for the Telnet daemon. Default: 2048
config NSH_TELNETD_CLIENTPRIO
int "Telnet client priority"
default 100
---help---
Priority of the Telnet client. Default: 100
config NSH_TELNETD_CLIENTSTACKSIZE
int "Telnet client stack size"
default 2048
---help---
Stack size allocated for the Telnet client. Default: 2048
config NSH_IOBUFFER_SIZE
int "Telnet I/O buffer size"
default 512
---help---
Determines the size of the I/O buffer to use for sending/
receiving TELNET commands/reponses. Default: 512
config NSH_TELNET_LOGIN
bool "Telnet Login"
default n
---help---
If defined, then the Telnet user will be required to provide a
username and password to start the NSH shell.
if NSH_TELNET_LOGIN
config NSH_TELNET_USERNAME
string "Login Username"
default "admin"
---help---
Login user name. Default: "admin"
config NSH_TELNET_PASSWORD
string "Login Password"
default "nuttx"
---help---
Login password: Default: "nuttx"
config NSH_TELNET_FAILCOUNT
int "Login Retry Count"
default 3
---help---
Number of login retry attempts.
endif # NSH_TELNET_LOGIN
endif # NSH_TELNET
config NSH_DHCPC
bool "Use DHCP to get IP address"
default n
depends on NSH_LIBRARY && NETUTILS_DHCPC
---help---
Obtain the IP address via DHCP.
Per RFC2131 (p. 9), the DHCP client must be prepared to receive DHCP
messages of up to 576 bytes (excluding Ethernet, IP, or UDP headers and FCS).
config NSH_IPADDR
hex "Target IP address"
default 0x0a000002
depends on NSH_LIBRARY && NET && !NSH_DHCPC
---help---
If NSH_DHCPC is NOT set, then the static IP address must be provided.
This is a 32-bit integer value in host order. So, as an example,
0x10000002 would be 10.0.0.2.
config NSH_DRIPADDR
hex "Router IP address"
default 0x0a000001
depends on NSH_LIBRARY && NET
---help---
Default router IP address (aka, Gateway). This is a 32-bit integer
value in host order. So, as an example, 0x10000001 would be 10.0.0.1.
config NSH_NETMASK
hex "Network mask"
default 0xffffff00
depends on NSH_LIBRARY && NET
---help---
Network mask. This is a 32-bit integer value in host order. So, as
an example, 0xffffff00 would be 255.255.255.0.
config NSH_DNS
bool "Use DNS"
default n
depends on NSH_LIBRARY && NETUTILS_DNSCLIENT
---help---
Configure to use a DNS.
config NSH_DNSIPADDR
hex "DNS IP address"
default 0xa0000001
depends on NSH_DNS
---help---
Configure the DNS address. This is a 32-bit integer value in host
order. So, as an example, 0xa0000001 would be 10.0.0.1.
config NSH_NOMAC
bool "Hardware has no MAC address"
default n
depends on NSH_LIBRARY && NET
---help---
Set if your ethernet hardware has no built-in MAC address.
If set, a bogus MAC will be assigned.
config NSH_MAX_ROUNDTRIP
int "Max Ping Round-Trip (DSEC)"
default 20
depends on NSH_LIBRARY && NET && !NSH_DISABLE_PING
---help---
This is the maximum round trip for a response to a ICMP ECHO request.
It is in units of deciseconds. The default is 20 (2 seconds).