On 2026-07-09 16:57:16, Gregory Nutt wrote: > A recent comment said that we could reduce size by eliminating NSH. However, > this seems to introduce addition POSIX incompatibilies. Posix mandates fork(2), and yet nuttx lacks one. You Greg, yourself added this exception if I'm not mistaken. So I don't see reason not to allow users to remove shell from their system. Shell on deeply embedded system is really not necessary.
Some features are just WAY too heavy to let them live. I wouldn't really spend too much time removing posix things just to make OS smaller. But no fork(2) and no nsh(1) do seem like a great exceptions to the rule. You could probably find few more things to remove, but is it worth the maintenance burden? Nuttx is already stretched thin as it is and lacks hands. People are using Zephyr not because it's small or is some great RTOS, but because it's popular and has official "support" from OEMs. This goes long way. Companies will often just get next tier chip with bit more ram and flash so that zephyr can work there. Been there, seen that. I myself started using nuttx because it was posix and it was stable. Not because I could run it on 8bit atmega. If it were up to me I would just kill support for 8bit and 16bit MCUs (far pointers, eww). It sounds cool to support them, but it adds maintenance burden. And people will use something much smaller for 8bit and 16bit MCUs are used only by that one nerd that just love those shenanigans with memory addressing.
signature.asc
Description: PGP signature
