JianyuWang0623 commented on PR #17216:
URL: https://github.com/apache/nuttx/pull/17216#issuecomment-3432071886

   > This isn't a fair comparison, and I'm not convinced that nsh could disable 
more commands to align with init.
   
   @anchao  You're right. When making comparisons, the non-essential functions 
of NSH should be turned off.
    
    
   A rough estimate shows that after disabling the non-essential functions of 
NSH (as listed below), the ELF size has decreased by 397,448 bytes. It is 
estimated that the space required for NSH is approximately 220,184 bytes, and 
the init component takes up 61,488 bytes.
   
   ```diff
   $ diff defconfig  boards/arm64/qemu/qemu-armv8a/configs/fastboot/defconfig
   9d8
   < # CONFIG_NSH_CONSOLE is not set
   47c46
   < CONFIG_INIT_ENTRYPOINT="nsh_main"
   ---
   > CONFIG_INIT_ENTRYPOINT="init_main"
   78,135d76
   < CONFIG_NSH_DISABLE_ARP=y
   < CONFIG_NSH_DISABLE_BASENAME=y
   < CONFIG_NSH_DISABLE_CAT=y
   < CONFIG_NSH_DISABLE_CD=y
   < CONFIG_NSH_DISABLE_CMP=y
   < CONFIG_NSH_DISABLE_CP=y
   < CONFIG_NSH_DISABLE_DF=y
   < CONFIG_NSH_DISABLE_DIRNAME=y
   < CONFIG_NSH_DISABLE_DMESG=y
   < CONFIG_NSH_DISABLE_ECHO=y
   < CONFIG_NSH_DISABLE_ENV=y
   < CONFIG_NSH_DISABLE_ERROR_PRINT=y
   < CONFIG_NSH_DISABLE_EXEC=y
   < CONFIG_NSH_DISABLE_EXIT=y
   < CONFIG_NSH_DISABLE_EXPORT=y
   < CONFIG_NSH_DISABLE_EXPR=y
   < CONFIG_NSH_DISABLE_FDINFO=y
   < CONFIG_NSH_DISABLE_FREE=y
   < CONFIG_NSH_DISABLE_GET=y
   < CONFIG_NSH_DISABLE_HELP=y
   < CONFIG_NSH_DISABLE_HEXDUMP=y
   < CONFIG_NSH_DISABLE_IFCONFIG=y
   < CONFIG_NSH_DISABLE_IFUPDOWN=y
   < CONFIG_NSH_DISABLE_KILL=y
   < CONFIG_NSH_DISABLE_LOSETUP=y
   < CONFIG_NSH_DISABLE_LS=y
   < CONFIG_NSH_DISABLE_MD5=y
   < CONFIG_NSH_DISABLE_MKDIR=y
   < CONFIG_NSH_DISABLE_MKFATFS=y
   < CONFIG_NSH_DISABLE_MKFIFO=y
   < CONFIG_NSH_DISABLE_MKRD=y
   < CONFIG_NSH_DISABLE_MOUNT=y
   < CONFIG_NSH_DISABLE_MV=y
   < CONFIG_NSH_DISABLE_NFSMOUNT=y
   < CONFIG_NSH_DISABLE_NSLOOKUP=y
   < CONFIG_NSH_DISABLE_PIDOF=y
   < CONFIG_NSH_DISABLE_PKILL=y
   < CONFIG_NSH_DISABLE_PRINTF=y
   < CONFIG_NSH_DISABLE_PS=y
   < CONFIG_NSH_DISABLE_PUT=y
   < CONFIG_NSH_DISABLE_PWD=y
   < CONFIG_NSH_DISABLE_RM=y
   < CONFIG_NSH_DISABLE_RMDIR=y
   < CONFIG_NSH_DISABLE_SET=y
   < CONFIG_NSH_DISABLE_SLEEP=y
   < CONFIG_NSH_DISABLE_SOURCE=y
   < CONFIG_NSH_DISABLE_TEST=y
   < CONFIG_NSH_DISABLE_TIME=y
   < CONFIG_NSH_DISABLE_TRUNCATE=y
   < CONFIG_NSH_DISABLE_UMOUNT=y
   < CONFIG_NSH_DISABLE_UNAME=y
   < CONFIG_NSH_DISABLE_UNSET=y
   < CONFIG_NSH_DISABLE_UPTIME=y
   < CONFIG_NSH_DISABLE_USLEEP=y
   < CONFIG_NSH_DISABLE_WAIT=y
   < CONFIG_NSH_DISABLE_WATCH=y
   < CONFIG_NSH_DISABLE_WGET=y
   < CONFIG_NSH_DISABLE_XD=y
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to