nuttx$ cat .config | grep MKRD
CONFIG_BOARDCTL_MKRD=y
CONFIG_DRVR_MKRD=y
# CONFIG_NSH_DISABLE_MKRD is not set
NuttShell (NSH) NuttX-8.2.0
nsh> help
help usage: help [-v] [<cmd>]
[ cd echo help mkdir pwd sleep
unset
? cp exec hexdump mh rm test
usleep
basename cmp exit kill mv rmdir time xd
break dirname false ls mw set true
cat dd free mb ps sh uname
Builtin Apps:
hello nsh
nsh> mkrd
nsh: mkrd: command not found
The commands are kept in an array of structures in
apps/nshlib/nsh_commands.c. It the command is in the array, it will be
executed and it will be in the help. So from the above, this would mean
that the mkrd command is not in the array.
That is determined by a setting in apps/nshlib/nsh.h:
70 #undef NSH_HAVE_WRITABLE_MOUNTPOINT
71 #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_STREAMS > 0
72 # define NSH_HAVE_WRITABLE_MOUNTPOINT 1
73 #endif
And logic in apps/nshlib/nsh_command.c:
326 #ifdef NSH_HAVE_WRITABLE_MOUNTPOINT
327 # ifndef CONFIG_NSH_DISABLE_MKRD
328 { "mkrd", cmd_mkrd, 2, 6,
329 "[-m <minor>] [-s <sector-size>] <nsectors>" },
330 # endif
331 #endif
That is everything that is involved. So those are what you would need
to check.