385f707382
This commit corresponds to apache/nuttx#11498 in nuttx. Move etc romfs mount to sched/init for compatibility with kernel/protected mode. changes: - move etc romfs mount from nsh to Nuttx, but keep the script to parse and execute. - move and rename the related CONFIG, move customized nsh_romfsimg.h to etc_romfs.c in boards, and no need declaration for romfs_img/romfs_img_len. Signed-off-by: fangxinyong <fangxinyong@xiaomi.com>
1231 lines
34 KiB
Plaintext
1231 lines
34 KiB
Plaintext
#
|
|
# For a description of the syntax of this configuration file,
|
|
# see the file kconfig-language.txt in the NuttX tools repository.
|
|
#
|
|
|
|
menu "NSH Library"
|
|
|
|
config NSH_LIBRARY
|
|
bool "NSH Library"
|
|
default n
|
|
select NETUTILS_NETLIB if NET
|
|
select BOARDCTL if (!NSH_DISABLE_MKRD && !DISABLE_MOUNTPOINT) || NSH_ARCHINIT
|
|
select BOARDCTL_MKRD if !NSH_DISABLE_MKRD && !DISABLE_MOUNTPOINT
|
|
---help---
|
|
Build the NSH support library. This is used, for example, by
|
|
system/nsh in order to implement the full NuttShell (NSH).
|
|
|
|
if NSH_LIBRARY
|
|
|
|
menuconfig NSH_MOTD
|
|
bool "Message of the Day (MOTD)"
|
|
default n
|
|
---help---
|
|
Support a user-provided Message of the Day (MOTD) that will be
|
|
presented each time new NSH session is opened.
|
|
|
|
if NSH_MOTD
|
|
|
|
config NSH_PLATFORM_MOTD
|
|
bool "Platform MOTD"
|
|
default n
|
|
---help---
|
|
If this option is selected, the NSH will call into platform-specific
|
|
logic in order to get the MOTD. The function prototype for this
|
|
call is:
|
|
|
|
void platform_motd(FAR char *buffer, size_t buflen);
|
|
|
|
Where buffer is the location to return the MOTD and buflen is the
|
|
length of that buffer. The maximum size of the buffer is determined
|
|
by NSH_FILEIOSIZE. An appropriate location for the
|
|
implementation of platform_motd would be within apps/platform/<board>.
|
|
|
|
One newline will be inserted after the platform-supplied message.
|
|
|
|
platform_motd() is prototyped and described in apps/include/nshlib/nshlib.h
|
|
which may be included like:
|
|
|
|
#include "nshlib/nshlib.h"
|
|
|
|
config NSH_MOTD_STRING
|
|
string "MOTD String"
|
|
default "No MOTD string provided"
|
|
depends on !NSH_PLATFORM_MOTD
|
|
---help---
|
|
If NSH_MOTD is selected, but NSH_PLATFORM_MOTD is not, then a fixed
|
|
MOTD string will be used. That string is provided by this selection.
|
|
|
|
One newline will be inserted after supplied MOTD message.
|
|
|
|
endif # NSH_MOTD
|
|
|
|
menu "Command Line Configuration"
|
|
|
|
config NSH_PROMPT_STRING
|
|
string "Prompt String"
|
|
default "nsh> "
|
|
---help---
|
|
Provide the shell prompt string, default is "nsh> ".
|
|
|
|
config NSH_DISABLE_ECHOBACK
|
|
bool "Disable echoback"
|
|
default n
|
|
---help---
|
|
If this option is selected, the NSH disables echoback.
|
|
|
|
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
|
|
select READLINE_HAVE_EXTMATCH
|
|
---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_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 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_QUOTE
|
|
bool "Enable back-slash quoting of characters"
|
|
default !DEFAULT_SMALL && NSH_ARGCAT
|
|
---help---
|
|
Force special characters like back-quotes, quotation marks, and the
|
|
back-slash character itself to be treat like normal text.
|
|
|
|
This feature is only implemented properly for the case where
|
|
CONFIG_NSH_ARGCAT is also selected.
|
|
|
|
config NSH_CMDPARMS
|
|
bool "Enable commands as parameters"
|
|
default !DEFAULT_SMALL && NSH_QUOTE
|
|
depends on !DISABLE_MOUNTPOINT
|
|
depends on FS_TMPFS
|
|
---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.
|
|
|
|
This features requires TMPFS mounted at /tmp and NSH_QUOTE enabled.
|
|
|
|
config NSH_MAXARGUMENTS
|
|
int "Maximum number of command arguments"
|
|
default 7
|
|
---help---
|
|
The maximum number of NSH command arguments.
|
|
Default: 7
|
|
|
|
config NSH_ARGCAT
|
|
bool "Concatenation of argument strings"
|
|
default !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 permissible. Default: 3
|
|
|
|
config NSH_DISABLEBG
|
|
bool "Disable background commands"
|
|
default 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_ALIAS
|
|
bool "Enable alias support"
|
|
default !DEFAULT_SMALL
|
|
---help---
|
|
Enable alias support for nsh. This enables command substitution from
|
|
a table of alias strings for individual commands. The maximum amount
|
|
of alias strings is configurable with NSH_ALIAS_MAX_AMOUNT.
|
|
|
|
if NSH_ALIAS
|
|
|
|
config NSH_ALIAS_MAX_AMOUNT
|
|
int "Maximum amount of aliases"
|
|
default 1
|
|
---help---
|
|
Set the maximum amount of alias entries.
|
|
|
|
endif # NSH_ALIAS
|
|
|
|
endmenu # Command Line Configuration
|
|
|
|
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).
|
|
|
|
config NSH_SYMTAB
|
|
bool "Register symbol table"
|
|
default n
|
|
depends on LIBC_EXECFUNCS && BOARDCTL && !EXECFUNCS_HAVE_SYMTAB
|
|
select BOARDCTL_APP_SYMTAB
|
|
---help---
|
|
Enable logic to automatically register an application symbol table
|
|
as part of NSH initialization. If enabled, then application logic
|
|
must provide the following:
|
|
|
|
const struct symtab_s g_exports[];
|
|
const int g_nexports;
|
|
|
|
Where g_exports is the name of the exported application symbol table
|
|
and g_nexports holds the number of entries in the application symbol
|
|
table.
|
|
|
|
This is done very early in the NSH initialization sequence.
|
|
|
|
Why might you want to do this? There is really only one reason: You
|
|
would like to have the symbol tables in place early so that programs
|
|
started by NSH, perhaps via an initialization script, will have all
|
|
of the necessary symbols in place. Otherwise, you probably do *not*
|
|
want this option!
|
|
|
|
if NSH_SYMTAB
|
|
|
|
config NSH_SYMTAB_ARRAYNAME
|
|
string "Symbol table used by exec[l|v]"
|
|
default "g_exports"
|
|
---help---
|
|
The exec[l|v] and posix_spawn() functions needs to have (1) a
|
|
symbol table that provides the list of symbols exported by the base
|
|
code, and (2) the number of symbols in that table. This selection
|
|
provides the name of that symbol table.
|
|
|
|
config NSH_SYMTAB_COUNTNAME
|
|
string "Variable holding the number of symbols"
|
|
default "g_nexports"
|
|
---help---
|
|
The exec[l|v] and posix_spawn() functions needs to have (1) a
|
|
symbol table that provides the list of symbols exported by the base
|
|
code, and (2) the number of symbols in that table. This selection
|
|
provides the name of 'int' variable that holds the number of symbol
|
|
in the table.
|
|
|
|
endif # NSH_SYMTAB
|
|
|
|
menu "Disable Individual commands"
|
|
|
|
config NSH_DISABLE_ADDROUTE
|
|
bool "Disable addroute"
|
|
default DEFAULT_SMALL
|
|
depends on NET_ROUTE
|
|
|
|
config NSH_DISABLE_ARP
|
|
bool "Disable arp"
|
|
default DEFAULT_SMALL
|
|
depends on NET_ARP
|
|
|
|
config NSH_DISABLE_BASE64DEC
|
|
bool "Disable base64dec"
|
|
default DEFAULT_SMALL
|
|
depends on NETUTILS_CODECS && CODECS_BASE64
|
|
|
|
config NSH_DISABLE_BASE64ENC
|
|
bool "Disable base64enc"
|
|
default DEFAULT_SMALL
|
|
depends on NETUTILS_CODECS && CODECS_BASE64
|
|
|
|
config NSH_DISABLE_BASENAME
|
|
bool "Disable basename"
|
|
default DEFAULT_SMALL || NSH_DISABLESCRIPT
|
|
|
|
config NSH_DISABLE_CAT
|
|
bool "Disable cat"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_CD
|
|
bool "Disable cd"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_CP
|
|
bool "Disable cp"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_CMP
|
|
bool "Disable cmp"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_DATE
|
|
bool "Disable date"
|
|
default DEFAULT_SMALL || !RTC
|
|
|
|
config NSH_DISABLE_DD
|
|
bool "Disable dd"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_DF
|
|
bool "Disable df"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_DELROUTE
|
|
bool "Disable delroute"
|
|
default DEFAULT_SMALL
|
|
depends on NET_ROUTE
|
|
|
|
config NSH_DISABLE_DIRNAME
|
|
bool "Disable dirname"
|
|
default DEFAULT_SMALL || NSH_DISABLESCRIPT
|
|
|
|
config NSH_DISABLE_DMESG
|
|
bool "Disable dmesg"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_ECHO
|
|
bool "Disable echo"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_ENV
|
|
bool "Disable env"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_EXEC
|
|
bool "Disable exec"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_EXIT
|
|
bool "Disable exit"
|
|
default DEFAULT_SMALL && !NSH_TELNET
|
|
|
|
config NSH_DISABLE_EXPORT
|
|
bool "Disable export"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_FDINFO
|
|
bool "Disable fdinfo"
|
|
default DEFAULT_SMALL
|
|
depends on FS_PROCFS
|
|
|
|
config NSH_DISABLE_FREE
|
|
bool "Disable free"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_GET
|
|
bool "Disable get"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_HELP
|
|
bool "Disable help"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_ERROR_PRINT
|
|
bool "Disable NSH Error Printing"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_HEXDUMP
|
|
bool "Disable hexdump"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_IFCONFIG
|
|
bool "Disable ifconfig"
|
|
default DEFAULT_SMALL || !FS_PROCFS || FS_PROCFS_EXCLUDE_NET
|
|
|
|
config NSH_DISABLE_IFUPDOWN
|
|
bool "Disable ifup/down"
|
|
default DEFAULT_SMALL || !FS_PROCFS || FS_PROCFS_EXCLUDE_NET
|
|
|
|
config NSH_DISABLE_KILL
|
|
bool "Disable kill"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_LOSETUP
|
|
bool "Disable losetup"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_LOSMART
|
|
bool "Disable losmart"
|
|
default DEFAULT_SMALL || !MTD_SMART
|
|
|
|
config NSH_DISABLE_LOMTD
|
|
bool "Disable lomtd"
|
|
default DEFAULT_SMALL || !MTD_LOOP
|
|
|
|
config NSH_DISABLE_LN
|
|
bool "Disable ln"
|
|
default DEFAULT_SMALL
|
|
depends on PSEUDOFS_SOFTLINKS
|
|
|
|
config NSH_DISABLE_LS
|
|
bool "Disable ls"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_MB
|
|
bool "Disable mb"
|
|
default y
|
|
|
|
config NSH_DISABLE_MD5
|
|
bool "Disable md5"
|
|
default DEFAULT_SMALL
|
|
depends on NETUTILS_CODECS && CODECS_HASH_MD5
|
|
|
|
config NSH_DISABLE_MKDIR
|
|
bool "Disable mkdir"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_MKFATFS
|
|
bool "Disable mkfatfs"
|
|
default DEFAULT_SMALL
|
|
depends on FSUTILS_MKFATFS
|
|
|
|
config NSH_DISABLE_MKFIFO
|
|
bool "Disable mkfifo"
|
|
default DEFAULT_SMALL
|
|
depends on PIPES
|
|
|
|
config NSH_DISABLE_MKRD
|
|
bool "Disable mkrd"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_MKSMARTFS
|
|
bool "Disable mksmartfs"
|
|
default DEFAULT_SMALL
|
|
depends on FS_SMARTFS && FSUTILS_MKSMARTFS
|
|
|
|
config NSH_DISABLE_MH
|
|
bool "Disable mh"
|
|
default y
|
|
|
|
config NSH_DISABLE_MODCMDS
|
|
bool "Disable modules commands (insmod, rmmod, lsmod)"
|
|
default DEFAULT_SMALL
|
|
depends on MODULE
|
|
|
|
config NSH_DISABLE_MOUNT
|
|
bool "Disable mount"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_MV
|
|
bool "Disable mv"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_MW
|
|
bool "Disable mw"
|
|
default y
|
|
|
|
config NSH_DISABLE_NSFMOUNT
|
|
bool "Disable nfsmount"
|
|
default DEFAULT_SMALL
|
|
depends on NFS
|
|
|
|
config NSH_DISABLE_NSLOOKUP
|
|
bool "Disable nslookup"
|
|
default DEFAULT_SMALL
|
|
depends on LIBC_NETDB
|
|
|
|
config NSH_DISABLE_PASSWD
|
|
bool "Disable passwd"
|
|
default DEFAULT_SMALL
|
|
depends on NSH_LOGIN_PASSWD && !FSUTILS_PASSWD_READONLY
|
|
|
|
config NSH_DISABLE_PIDOF
|
|
bool "Disable pidof"
|
|
default DEFAULT_SMALL
|
|
depends on FS_PROCFS
|
|
|
|
config NSH_DISABLE_PMCONFIG
|
|
bool "Disable pmconfig"
|
|
default DEFAULT_SMALL
|
|
depends on PM
|
|
|
|
config NSH_DISABLE_POWEROFF
|
|
bool "Disable poweroff"
|
|
default DEFAULT_SMALL
|
|
depends on BOARDCTL_POWEROFF
|
|
|
|
config NSH_DISABLE_PRINTF
|
|
bool "Disable printf"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_PS
|
|
bool "Disable ps"
|
|
default DEFAULT_SMALL || !FS_PROCFS || FS_PROCFS_EXCLUDE_PROCESS
|
|
|
|
config NSH_DISABLE_PSHEAPUSAGE
|
|
bool "Disable ps heap usage"
|
|
depends on DEBUG_MM && !NSH_DISABLE_PS
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_PSSTACKUSAGE
|
|
bool "Disable ps stack usage"
|
|
depends on STACK_COLORATION && !NSH_DISABLE_PS
|
|
default DEFAULT_SMALL
|
|
---help---
|
|
Disable to save space and not pull in floating point routines
|
|
|
|
config NSH_DISABLE_PUT
|
|
bool "Disable put"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_PWD
|
|
bool "Disable pwd"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_READLINK
|
|
bool "Disable readlink"
|
|
default DEFAULT_SMALL
|
|
depends on PSEUDOFS_SOFTLINKS
|
|
|
|
config NSH_DISABLE_SWITCHBOOT
|
|
bool "Switch boot partition"
|
|
default DEFAULT_SMALL
|
|
depends on BOARDCTL_SWITCH_BOOT
|
|
|
|
config NSH_DISABLE_BOOT
|
|
bool "Disable boot"
|
|
default DEFAULT_SMALL
|
|
depends on BOARDCTL_BOOT_IMAGE
|
|
|
|
config NSH_DISABLE_REBOOT
|
|
bool "Disable reboot"
|
|
default DEFAULT_SMALL
|
|
depends on BOARDCTL_RESET
|
|
|
|
config NSH_DISABLE_RM
|
|
bool "Disable rm"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_RMDIR
|
|
bool "Disable rmdir"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_ROUTE
|
|
bool "Disable delroute"
|
|
depends on FS_PROCFS && NET_ROUTE && !FS_PROCFS_EXCLUDE_NET && !FS_PROCFS_EXCLUDE_ROUTE
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_RPTUN
|
|
bool "Disable rptun"
|
|
default DEFAULT_SMALL
|
|
depends on RPTUN
|
|
|
|
config NSH_DISABLE_SET
|
|
bool "Disable set"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_SOURCE
|
|
bool "Disable source"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_SHUTDOWN
|
|
bool "Disable shutdown"
|
|
default DEFAULT_SMALL || !BOARD_POWEROFF || !BOARD_RESET
|
|
depends on BOARDCTL_POWEROFF || BOARDCTL_RESET
|
|
|
|
config NSH_DISABLE_SLEEP
|
|
bool "Disable sleep"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_TIME
|
|
bool "Disable time"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_TIMEDATECTL
|
|
bool "Disable timedatectl"
|
|
default DEFAULT_SMALL || !LIBC_LOCALTIME || !RTC
|
|
|
|
config NSH_DISABLE_TEST
|
|
bool "Disable test"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_TRUNCATE
|
|
bool "Disable truncate"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_UMOUNT
|
|
bool "Disable umount"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_UNAME
|
|
bool "Disable uname"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_UNSET
|
|
bool "Disable unset"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_UPTIME
|
|
bool "Disable uptime"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_URLDECODE
|
|
bool "Disable urldecode"
|
|
default DEFAULT_SMALL
|
|
depends on NETUTILS_CODECS && CODECS_URLCODE
|
|
|
|
config NSH_DISABLE_URLENCODE
|
|
bool "Disable urlencode"
|
|
default DEFAULT_SMALL
|
|
depends on NETUTILS_CODECS && CODECS_URLCODE
|
|
|
|
config NSH_DISABLE_USERADD
|
|
bool "Disable useradd"
|
|
default DEFAULT_SMALL
|
|
depends on NSH_LOGIN_PASSWD && !FSUTILS_PASSWD_READONLY
|
|
|
|
config NSH_DISABLE_USERDEL
|
|
bool "Disable userdel"
|
|
default DEFAULT_SMALL
|
|
depends on NSH_LOGIN_PASSWD && !FSUTILS_PASSWD_READONLY
|
|
|
|
config NSH_DISABLE_USLEEP
|
|
bool "Disable usleep"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_WGET
|
|
bool "Disable wget"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_XD
|
|
bool "Disable xd"
|
|
default DEFAULT_SMALL
|
|
|
|
config NSH_DISABLE_RESET_CAUSE
|
|
bool "Disable reset cause"
|
|
default DEFAULT_SMALL
|
|
depends on BOARDCTL_RESET_CAUSE
|
|
|
|
endmenu
|
|
|
|
if MMCSD
|
|
|
|
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_MMCSDSLOTNO
|
|
int "MMC/SD slot number"
|
|
default 0
|
|
---help---
|
|
If board-specific NSH start-up supports more than one MMC/SD slot, then this setting
|
|
should be provided to indicate which slot should be used. Default: 0.
|
|
|
|
config NSH_MMCSDSPIPORTNO
|
|
int "MMC/SD SPI device number"
|
|
default 0
|
|
depends on MMCSD_SPI
|
|
---help---
|
|
If board-specif NSH start-up logic will mount an SPI-based MMC/SD volume, then this
|
|
setting may be needed to tell the board logic which SPI bus to use. Default: 0
|
|
(meaning is board-specific).
|
|
|
|
endif # MMCSD
|
|
|
|
menu "Configure Command Options"
|
|
|
|
config NSH_VARS
|
|
bool "NSH variables"
|
|
default n
|
|
---help---
|
|
By default, there are no internal NSH variables. NSH will use OS
|
|
environment variables for all variable storage. If this option, NSH
|
|
will also support local NSH variables. These variables are, for the
|
|
most part, transparent and work just like the OS environment
|
|
variables. The difference is that when you create new tasks, all of
|
|
environment variables are inherited by the created tasks. NSH local
|
|
variables are not.
|
|
|
|
If this option is enabled (and CONFIG_DISABLE_ENVIRON is not), then a
|
|
new command called 'export' is enabled. The export command works very
|
|
must like the set command except that is operates on environment
|
|
variables. When CONFIG_NSH_VARS is enabled, there are changes in the
|
|
behavior of certains commands
|
|
|
|
============== =========================== ===========================
|
|
CMD w/o CONFIG_NSH_VARS w/CONFIG_NSH_VARS
|
|
============== =========================== ===========================
|
|
set <a> <b> Set environment var a to b Set NSH var a to b
|
|
unset <a> Unsets environment var a Unsets both environment var
|
|
and NSH var a
|
|
export <a> <b> Causes an error Unsets NSH var a. Sets
|
|
environment var a to b.
|
|
export <a> Causes an error Sets environment var a to
|
|
NSH var b (or ""). Unsets
|
|
local var a.
|
|
env Lists all environment Lists all environment
|
|
variables variables
|
|
============== =========================== ===========================
|
|
|
|
config NSH_CMDOPT_DD_STATS
|
|
bool "dd: Support transfer statistics"
|
|
default n
|
|
depends on !NSH_DISABLE_DD
|
|
|
|
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 !DEFAULT_SMALL
|
|
depends on !NSH_DISABLE_HEXDUMP
|
|
|
|
config NSH_PROC_MOUNTPOINT
|
|
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.
|
|
|
|
menu "Scripting Support"
|
|
|
|
config NSH_DISABLESCRIPT
|
|
bool "Disable script support"
|
|
default 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 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 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.
|
|
|
|
config NSH_ROMFSRC
|
|
bool "Support ROMFS login script"
|
|
default n
|
|
---help---
|
|
The ROMFS start-up script will be executed exactly 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_SYSINITSCRIPT
|
|
string "Relative path to sysinit script"
|
|
default "init.d/rc.sysinit"
|
|
---help---
|
|
This is the relative path to the sysinit script within the mountpoint.
|
|
The default is init.d/rc.sysinit. This is a relative path and must not
|
|
start 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_SCRIPT_REDIRECT_PATH
|
|
string "rcS redirect output"
|
|
default ""
|
|
---help---
|
|
This option can redirect rcS output.such as /dev/log or other.
|
|
|
|
endif # !NSH_DISABLESCRIPT
|
|
|
|
endmenu # Scripting Support
|
|
|
|
menu "Console Configuration"
|
|
|
|
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 serial console"
|
|
default n
|
|
depends on BOARDCTL && NSH_CONSOLE && USBDEV && (CDCACM || PL2303)
|
|
select BOARDCTL_USBDEVCTRL
|
|
---help---
|
|
If defined, then the an arbitrary USB serial device may be used
|
|
to as the NSH console. In this case, NSH_USBCONDEV must be defined
|
|
to indicate which USB serial device to use as the console.
|
|
|
|
if NSH_USBCONSOLE
|
|
|
|
config NSH_USBCONDEV
|
|
string "USB serial console device"
|
|
default "/dev/ttyACM0" if CDCACM
|
|
default "/dev/ttyUSB0" if !CDCACM
|
|
---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
|
|
read-/write-able USB driver. Default: "/dev/ttyACM0".
|
|
|
|
config USBDEV_MINOR
|
|
int "USB serial console device minor number"
|
|
default 0
|
|
---help---
|
|
If there are more than one USB devices, then a USB device
|
|
minor number may also need to be provided. Default: 0
|
|
|
|
endif # NSH_USBCONSOLE
|
|
|
|
config NSH_ALTCONDEV
|
|
bool "Alternative console device"
|
|
default n
|
|
depends on NSH_CONSOLE && !NSH_USBCONSOLE && !NSH_TELNET
|
|
---help---
|
|
If CONFIG_NSH_CONSOLE is set to y, then CONFIG_NSH_ALTCONDEV may
|
|
also be selected to enable use of an alternate character device
|
|
to support the NSH console. If CONFIG_NSH_ALTCONDEV is selected,
|
|
then NSH_ALTSTDIN, NSH_ALTSTDOUT and NSH_ALTSTDERR must be set
|
|
to select the serial devices used to support the NSH console.
|
|
This may be 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, stderr and stdout (probably "/dev/console")
|
|
|
|
NOTE 1: 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.
|
|
|
|
NOTE 2: This option forces the console of all sessions to use
|
|
NSH_ALTSTD(IN/OUT/ERR). Hence, this option only makes sense for
|
|
a system that supports only a single session. This option is,
|
|
in particular, incompatible with Telnet sessions because each
|
|
Telnet session must use a different console device.
|
|
|
|
if NSH_ALTCONDEV
|
|
|
|
config NSH_ALTSTDIN
|
|
string "Alternative console \"stdin\" device name"
|
|
default "/dev/console"
|
|
---help---
|
|
If CONFIG_NSH_CONSOLE is set to y, then CONFIG_NSH_ALTCONDEV may
|
|
also be selected to enable use of an alternate character device
|
|
to support the NSH console. If CONFIG_NSH_ALTCONDEV is selected,
|
|
then NSH_ALTSTDIN must be set to select the "stdin" device to
|
|
support the NSH console. This should be set to the quoted name
|
|
of a readable character driver such as:
|
|
|
|
NSH_ALTSTDIN="/dev/ttyS1".
|
|
|
|
This way the input will come from "/dev/ttyS1".
|
|
|
|
config NSH_ALTSTDOUT
|
|
string "Alternative console \"stdout\" device name"
|
|
default "/dev/console" if !SLCD_CONSOLE
|
|
default "/dev/slcd0" if SLCD_CONSOLE
|
|
---help---
|
|
If CONFIG_NSH_CONSOLE is set to y, then CONFIG_NSH_ALTCONDEV may
|
|
also be selected to enable use of an alternate character device
|
|
to support the NSH console. If CONFIG_NSH_ALTCONDEV is selected,
|
|
then NSH_ALTSTDOUT must be set to select the "stdout" device to
|
|
support the NSH console. This should be set to the quoted name
|
|
of a write-able character driver such as:
|
|
|
|
NSH_ALTSTDIN="/dev/ttyS1".
|
|
|
|
This way the standard output will go to "/dev/ttyS1".
|
|
|
|
config NSH_ALTSTDERR
|
|
string "Alternative console \"stderr\" device name"
|
|
default "/dev/console" if !SLCD_CONSOLE
|
|
default "/dev/slcd0" if SLCD_CONSOLE
|
|
---help---
|
|
If CONFIG_NSH_CONSOLE is set to y, then CONFIG_NSH_ALTCONDEV may
|
|
also be selected to enable use of an alternate character device
|
|
to support the NSH console. If CONFIG_NSH_ALTCONDEV is selected,
|
|
then NSH_ALTSTDERR must be set to select the "stderr" device to
|
|
support the NSH console. This should be set to the quoted name
|
|
of a write-able character driver such as:
|
|
|
|
NSH_ALTSTDIN="/dev/ttyS1".
|
|
|
|
This way the standard error output will go to "/dev/ttyS1".
|
|
|
|
endif # NSH_ALTCONDEV
|
|
|
|
config NSH_USBKBD
|
|
bool "Use USB keyboard input"
|
|
default n
|
|
depends on NSH_CONSOLE && USBHOST_HIDKBD && !NSH_USBCONSOLE
|
|
---help---
|
|
Normally NSH uses the same device for stdin, stdout, and stderr. By
|
|
default, that device is /dev/console. If this option is selected,
|
|
then NSH will use a USB HID keyboard for stdin. In this case, the
|
|
keyboard is connected directly to the target (via a USB host
|
|
interface) and the data from the keyboard will drive NSH. NSH
|
|
output (stdout and stderr) will still go to /dev/console.
|
|
|
|
if NSH_USBKBD
|
|
|
|
config NSH_USBKBD_DEVNAME
|
|
string "USB keyboard device"
|
|
default "/dev/kbda"
|
|
---help---
|
|
If NSH_USBKBD is set to 'y', then NSH_USBKBD_DEVNAME must also be
|
|
set to select the USB keyboard device used to support the NSH
|
|
console input. This should be set to the quoted name of a read-
|
|
able keyboard driver. Default: "/dev/kbda".
|
|
|
|
endif #NSH_USBKBD
|
|
endmenu # Console Configuration
|
|
|
|
menu "USB Device Trace Support"
|
|
depends on USBDEV && (DEBUG_FEATURES || USBDEV_TRACE)
|
|
|
|
config NSH_USBDEV_TRACE
|
|
bool "Enable Builtin USB Trace Support"
|
|
default n
|
|
---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 CONFIG_DEBUG_FEATURES
|
|
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 nuttx/drivers/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
|
|
endmenu # USB Device Trace Support
|
|
|
|
config NSH_ARCHINIT
|
|
bool "Have architecture-specific initialization"
|
|
default n
|
|
select BOARDCTL
|
|
---help---
|
|
Set if your board provides architecture specific initialization
|
|
via the board-interface function boardctl(). The boardctl()
|
|
function will be called early in NSH initialization to allow
|
|
board logic to do such things as configure MMC/SD slots.
|
|
|
|
menu "Networking Configuration"
|
|
depends on NET
|
|
|
|
config NSH_NETINIT
|
|
bool "Network initialization"
|
|
default y
|
|
depends on NET
|
|
select NETUTILS_NETINIT
|
|
---help---
|
|
This option enables/disables all network initialization in NSH.
|
|
|
|
if !NSH_DISABLE_WGET
|
|
config NSH_WGET_BUFF_SIZE
|
|
int "wget buffer size"
|
|
default 512
|
|
---help---
|
|
Buffer size for wget command
|
|
endif # NSH_DISABLE_WGET
|
|
|
|
endmenu # Networking Configuration"
|
|
|
|
menu "Telnet Configuration"
|
|
|
|
config NSH_TELNET
|
|
bool "Use Telnet console"
|
|
default !DEFAULT_SMALL
|
|
depends on SYSTEM_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.
|
|
|
|
config NSH_DISABLE_TELNETSTART
|
|
bool "Disable to start telnetd"
|
|
default DEFAULT_SMALL
|
|
depends on NSH_TELNET
|
|
---help---
|
|
Determines if the nsh starts telnetd automatically
|
|
|
|
endmenu # Telnet Configuration
|
|
|
|
config NSH_LOGIN
|
|
bool
|
|
default n
|
|
|
|
config NSH_CONSOLE_LOGIN
|
|
bool "Console Login"
|
|
default n
|
|
select NSH_LOGIN
|
|
---help---
|
|
If defined, then the console user will be required to provide a
|
|
username and password to start the NSH shell.
|
|
|
|
config NSH_TELNET_LOGIN
|
|
bool "Telnet Login"
|
|
default n
|
|
depends on NSH_TELNET
|
|
select NSH_LOGIN
|
|
---help---
|
|
If defined, then the Telnet user will be required to provide a
|
|
username and password to start the NSH shell.
|
|
|
|
if NSH_LOGIN
|
|
|
|
choice
|
|
prompt "Verification method"
|
|
default NSH_LOGIN_PASSWD if FSUTILS_PASSWD
|
|
default NSH_LOGIN_FIXED if !FSUTILS_PASSWD
|
|
|
|
config NSH_LOGIN_FIXED
|
|
bool "Fixed username/password"
|
|
---help---
|
|
Verify user credentials by matching to fixed username and password
|
|
strings
|
|
|
|
config NSH_LOGIN_PLATFORM
|
|
bool "Platform username/password"
|
|
---help---
|
|
Call a platform-specific function to perform the verification of
|
|
user credentials. In this case, the platform-specific logic must
|
|
provide a function with the following prototype:
|
|
|
|
int platform_user_verify(FAR const char *username, FAR const char *password);
|
|
|
|
which is prototyped an described in apps/include/nshlib/nshlib.h and
|
|
which may be included like:
|
|
|
|
#include "nshlib/nshlib.h"
|
|
|
|
An appropriate place to implement this function might be in the
|
|
directory apps/platform/<board>.
|
|
|
|
config NSH_LOGIN_PASSWD
|
|
bool "Encrypted password file"
|
|
depends on FSUTILS_PASSWD
|
|
---help---
|
|
Use the content of an encrypted password file to verify user
|
|
credentials. This option requires that you have selected
|
|
CONFIG_FSUTILS_PASSWD to enable the access methods of
|
|
apps/fsutils/passwd.
|
|
|
|
endchoice # Verification method
|
|
|
|
config NSH_LOGIN_USERNAME
|
|
string "Login username"
|
|
default "admin"
|
|
depends on !NSH_LOGIN_PASSWD
|
|
---help---
|
|
Login user name. Default: "admin"
|
|
|
|
config NSH_LOGIN_PASSWORD
|
|
string "Login password"
|
|
default "Administrator"
|
|
depends on !NSH_LOGIN_PASSWD
|
|
---help---
|
|
Login password: Default: "Administrator"
|
|
|
|
config NSH_LOGIN_FAILDELAY
|
|
int "Login failure delay"
|
|
default 0
|
|
---help---
|
|
Login failure delay in milliseconds. The system will pause this
|
|
amount of time after each failed login attempt in order to
|
|
discourage people from cracking the password by brute force. The
|
|
value zero may be supplied to disable the delay.
|
|
|
|
config NSH_LOGIN_FAILCOUNT
|
|
int "Login retry count"
|
|
default 3
|
|
---help---
|
|
Number of login retry attempts.
|
|
|
|
config NSH_PLATFORM_CHALLENGE
|
|
bool "Platform challenge"
|
|
default n
|
|
depends on NSH_LOGIN_PLATFORM
|
|
---help---
|
|
If this option is selected, the NSH will call into platform-specific
|
|
logic in order to get the challenge. The function prototype for this
|
|
call is:
|
|
|
|
void platform_challenge(FAR char *buffer, size_t buflen);
|
|
|
|
Where buffer is the location to return the challenge and buflen is the
|
|
length of that buffer. The maximum size of the buffer is determined
|
|
by NSH_FILEIOSIZE. An appropriate location for the
|
|
implementation of platform_challenge would be within apps/platform/<board>.
|
|
|
|
One newline will be inserted after the platform-supplied message.
|
|
|
|
platform_challenge() is prototyped and described in apps/include/nshlib/nshlib.h
|
|
which may be included like:
|
|
|
|
#include "nshlib/nshlib.h"
|
|
|
|
config NSH_PLATFORM_SKIP_LOGIN
|
|
bool "Platform skip login"
|
|
default n
|
|
---help---
|
|
If this option is selected, the NSH will call into platform-specific
|
|
logic in order to skip login. The function prototype for this
|
|
call is:
|
|
|
|
int platform_skip_login(void);
|
|
|
|
endif # NSH_LOGIN
|
|
endif # NSH_LIBRARY
|
|
endmenu # NSH Library
|