This is an automated email from the ASF dual-hosted git repository.

xiaoxiang781216 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx.git

commit 6283d667eada11ea2c48a54fededd0530d4b7af7
Author: Abhishek Mishra <[email protected]>
AuthorDate: Wed Jul 15 15:44:37 2026 +0000

    Documentation: PBKDF2 login docs, board Kconfig, and CI password
    
    Document PBKDF2-HMAC-SHA256 ROMFS passwd generation and update board
    Kconfig help text accordingly.  Set the documented sim/login CI credential
    in GitHub Actions.
    
    Enable CONFIG_CODECS_BASE64 and CONFIG_NETUTILS_CODECS on sim:dropbear for
    link compatibility with dropbear's bundled libtomcrypt.
    
    Signed-off-by: Abhishek Mishra <[email protected]>
---
 .github/workflows/build.yml                        |   4 +-
 Documentation/applications/nsh/commands.rst        |   3 +-
 Documentation/applications/nsh/login.rst           | 240 ++++++++++++++-------
 Documentation/components/tools/index.rst           | 164 ++++++--------
 .../platforms/arm/moxart/boards/moxa/index.rst     |  24 +++
 .../renesas/rx65n/boards/rx65n-grrose/index.rst    |  25 ++-
 .../boards/esp32c3-legacy-devkit/ROMFS.txt         |  15 +-
 .../platforms/sim/sim/boards/sim/index.rst         |  49 +++--
 boards/Kconfig                                     |  81 +++----
 .../lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig |   9 +
 boards/arm/moxart/moxa/configs/nsh/defconfig       |   8 +-
 .../esp32c3-legacy-devkit/src/etc/group            |   2 +-
 boards/sim/sim/sim/configs/adb/defconfig           |   9 +
 boards/sim/sim/sim/configs/alsa/defconfig          |   5 +
 boards/sim/sim/sim/configs/bastest/defconfig       |   5 +
 boards/sim/sim/sim/configs/bluetooth/defconfig     |   4 +
 boards/sim/sim/sim/configs/bthcisock/defconfig     |   4 +
 boards/sim/sim/sim/configs/citest/defconfig        |   5 +
 boards/sim/sim/sim/configs/crypto/defconfig        |   2 +
 boards/sim/sim/sim/configs/dropbear/defconfig      |   2 +
 boards/sim/sim/sim/configs/duktape/defconfig       |   5 +
 boards/sim/sim/sim/configs/dynconns/defconfig      |   4 +
 boards/sim/sim/sim/configs/elf/defconfig           |   5 +
 boards/sim/sim/sim/configs/foc/defconfig           |   5 +
 boards/sim/sim/sim/configs/ipforward/defconfig     |   4 +
 boards/sim/sim/sim/configs/libcxxtest/defconfig    |   5 +
 boards/sim/sim/sim/configs/login/defconfig         |   8 +-
 boards/sim/sim/sim/configs/lua/defconfig           |   5 +
 boards/sim/sim/sim/configs/matter/defconfig        |   4 +
 boards/sim/sim/sim/configs/minibasic/defconfig     |   5 +
 boards/sim/sim/sim/configs/minmea/defconfig        |   5 +
 boards/sim/sim/sim/configs/mnemofs/defconfig       |   4 +
 boards/sim/sim/sim/configs/module/defconfig        |   5 +
 boards/sim/sim/sim/configs/module32/defconfig      |   5 +
 boards/sim/sim/sim/configs/nand/defconfig          |   4 +
 boards/sim/sim/sim/configs/nimble/defconfig        |   4 +
 boards/sim/sim/sim/configs/nshcromfs/defconfig     |   5 +
 boards/sim/sim/sim/configs/posix_spawn/defconfig   |   5 +
 boards/sim/sim/sim/configs/posix_test/defconfig    |   5 +
 boards/sim/sim/sim/configs/rc/defconfig            |   5 +
 boards/sim/sim/sim/configs/romfs/defconfig         |   5 +
 boards/sim/sim/sim/configs/rust/defconfig          |   5 +
 boards/sim/sim/sim/configs/segger/defconfig        |   5 +
 boards/sim/sim/sim/configs/sensor/defconfig        |   5 +
 boards/sim/sim/sim/configs/smartfs/defconfig       |   5 +
 boards/sim/sim/sim/configs/sotest/defconfig        |   5 +
 boards/sim/sim/sim/configs/sotest32/defconfig      |   5 +
 boards/sim/sim/sim/configs/sqlite/defconfig        |   5 +
 boards/sim/sim/sim/configs/tcploop/defconfig       |   4 +
 boards/sim/sim/sim/configs/toywasm/defconfig       |   5 +
 boards/sim/sim/sim/configs/userfs/defconfig        |   5 +
 boards/sim/sim/sim/configs/vpnkit/defconfig        |   5 +
 boards/sim/sim/sim/configs/wakaama/defconfig       |   5 +
 boards/sim/sim/sim/configs/wamr/defconfig          |   4 +
 boards/sim/sim/sim/configs/zipfs/defconfig         |   5 +
 boards/sim/sim/sim/src/etc/group                   |   2 +-
 56 files changed, 567 insertions(+), 265 deletions(-)

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 77c3abe6037..a00cd8c1931 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -148,7 +148,7 @@ jobs:
       # Documented sim/login CI test credential (not a production secret).
       # Used when CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y and defconfig omits
       # the password.  See tools/update_romfs_password.sh.
-      NUTTX_ROMFS_PASSWD_PASSWORD: NuttXSimLogin1
+      NUTTX_ROMFS_PASSWD_PASSWORD: NuttXSim1!
 
     strategy:
       max-parallel: 12
@@ -316,7 +316,7 @@ jobs:
     needs: macOS-Arch
     if: ${{ needs.macOS-Arch.outputs.skip_all_builds != '1' }}
     env:
-      NUTTX_ROMFS_PASSWD_PASSWORD: NuttXSimLogin1
+      NUTTX_ROMFS_PASSWD_PASSWORD: NuttXSim1!
     strategy:
       max-parallel: 2
       matrix:
diff --git a/Documentation/applications/nsh/commands.rst 
b/Documentation/applications/nsh/commands.rst
index 2c3aa546ec6..dc8559d4417 100644
--- a/Documentation/applications/nsh/commands.rst
+++ b/Documentation/applications/nsh/commands.rst
@@ -1745,8 +1745,7 @@ This command is available only when 
``CONFIG_SCHED_USER_IDENTITY`` is
 enabled. It may be disabled with ``CONFIG_NSH_DISABLE_SU``. User names
 are looked up from the passwd database when ``CONFIG_LIBC_PASSWD_FILE``
 is enabled. Password verification requires one of the NSH login options
-(``CONFIG_NSH_LOGIN_PASSWD``, ``CONFIG_NSH_LOGIN_PLATFORM``, or
-``CONFIG_NSH_LOGIN_FIXED``).
+(``CONFIG_NSH_LOGIN_PASSWD`` or ``CONFIG_NSH_LOGIN_PLATFORM``).
 
 **Related configuration**
 
diff --git a/Documentation/applications/nsh/login.rst 
b/Documentation/applications/nsh/login.rst
index b499a0ff4b4..a8f9f0aaa72 100644
--- a/Documentation/applications/nsh/login.rst
+++ b/Documentation/applications/nsh/login.rst
@@ -18,13 +18,33 @@ Logins for Telnet sessions can be enabled separately with::
 Logins can be enabled for either or both session types. On a successful
 login, the user will have access to the NSH session::
 
-  login: admin
+  login: root
   password:
   User Logged-in!
 
   NuttShell (NSH)
   nsh>
 
+ROMFS password file (recommended)
+==================================
+
+Boards with ROMFS ``/etc`` should auto-generate ``/etc/passwd`` at build time::
+
+  CONFIG_ETC_ROMFS=y
+  CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y
+  CONFIG_CRYPTO_CRYPTODEV=y
+  CONFIG_FSUTILS_PASSWD=y
+  CONFIG_FSUTILS_PASSWD_READONLY=y
+  CONFIG_NSH_CONSOLE_LOGIN=y
+
+``CONFIG_FSUTILS_PASSWD`` depends on ``CONFIG_CRYPTO_CRYPTODEV``.  The
+``sim:login`` defconfig also enables software cryptodev
+(``CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO`` and ``CONFIG_CRYPTO_SW_AES``).
+
+Set **Board Selection → Auto-generate /etc/passwd at build time → Root 
password**
+in menuconfig, in a local defconfig, or at the ``make`` prompt
+(:ref:`mkpasswd_autogen`).  Only a PBKDF2-HMAC-SHA256 hash is stored in flash.
+
 When ``CONFIG_NSH_LOGIN_SETUID`` is enabled (the default when
 ``CONFIG_SCHED_USER_IDENTITY`` is selected), NSH looks up the
 authenticated user name in the passwd database and sets the session
@@ -90,66 +110,43 @@ will be closed. That number is controlled by::
 
   CONFIG_NSH_LOGIN_FAILCOUNT=3
 
+.. _nsh_login_verification:
+
 Verification of Credentials
 ===========================
 
-There are three ways that NSH can be configured to verify user
-credentials at login time:
-
-  #. The simplest implementation simply uses fixed login credentials and
-     is selected with::
-
-      CONFIG_NSH_LOGIN_FIXED=y
-
-     The fixed login credentials are selected via::
-
-      CONFIG_NSH_LOGIN_USERNAME=admin
-      CONFIG_NSH_LOGIN_PASSWORD="Administrator"
-
-     This is not very flexible since there can be only one user and the
-     password is fixed in the FLASH image. This option is also not very
-     secure because a malicious user could get the password by just
-     looking at the ``.text`` strings in the flash image.
+There are two ways to verify credentials at login:
 
-  #. NSH can also be configured to defer the entire user credential
-     verification to platform-specific logic with this setting::
+.. list-table:: NSH credential verification methods
+   :header-rows: 1
+   :widths: 20 15 65
 
-      CONFIG_NSH_LOGIN_PLATFORM=y
+   * - Method
+     - Kconfig
+     - Summary
+   * - Password file (recommended)
+     - ``CONFIG_NSH_LOGIN_PASSWD=y``
+     - Verifies against ``/etc/passwd`` using PBKDF2-HMAC-SHA256 hashes.
+       Use with ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE`` for ROMFS boards.
+   * - Platform callback
+     - ``CONFIG_NSH_LOGIN_PLATFORM=y``
+     - Board-specific ``platform_user_verify()`` function.
 
-     In this case, NSH will call a platform-specific function to perform
-     the verification of user credentials. The platform-specific logic
-     must provide a function with the following prototype:
+When ``CONFIG_FSUTILS_PASSWD=y`` is enabled, NSH defaults to
+``CONFIG_NSH_LOGIN_PASSWD=y`` automatically.  Console and telnet login
+require ``CONFIG_FSUTILS_PASSWD``; the removed fixed-login options
+``CONFIG_NSH_LOGIN_FIXED`` and ``CONFIG_NSH_LOGIN_PASSWORD`` are rejected
+at build time if still present in ``.config``.
 
-     .. code-block:: c
-
-       int platform_user_verify(FAR const char *username, FAR const char 
*password);
-
-     which is prototyped an described in ``apps/include/nsh.h`` and which
-     may be included like:
-
-     .. code-block:: c
-
-      #include <apps/nsh.h>
-
-     An appropriate place to implement this function might be in the
-     directory ``apps/platform/<board>``.
-
-  #. A final option is to use a password file contained encrypted password
-     information. This final option is selected with the following and
-     described in more detail in the following paragraph::
-
-       CONFIG_NSH_LOGIN_PASSWD=y
+  #. **Platform-specific verification.**  NSH calls ``platform_user_verify()``
+     when ``CONFIG_NSH_LOGIN_PLATFORM=y``.  Prototype in 
``apps/include/nsh.h``.
 
 Password Files
 ==============
 
-NuttX can also be configured to support a password file, by default at
-``/etc/passwd``. This option enables support for a password file::
-
-  CONFIG_NSH_LOGIN_PASSWD=y
-
-This options requires that you have selected ``CONFIG_FSUTILS_PASSWD=y``
-to enable the access methods of ``apps/fsutils/passwd``::
+When ``CONFIG_NSH_LOGIN_PASSWD=y`` is selected, NSH reads user names and
+password hashes from a passwd file (default ``/etc/passwd``).  Enable the
+file-access layer with::
 
   CONFIG_FSUTILS_PASSWD=y
 
@@ -176,34 +173,127 @@ specifically disabled.
 
 The password file logic requires a few additional settings:
 
-  #. The size of dynamically allocated and freed buffer that is used for
+  #. **Kernel cryptodev**: ``CONFIG_FSUTILS_PASSWD`` requires
+     ``CONFIG_CRYPTO_CRYPTODEV`` (PBKDF2 via ``/dev/crypto`` at runtime).
+
+  #. **I/O buffer size**: size of the dynamically allocated buffer used for
      file access::
 
        CONFIG_FSUTILS_PASSWD_IOBUFFER_SIZE=512
 
-  #. And the 128-bit encryption key. The password file currently uses the
-     Tiny Encryption Algorithm (TEA), but could be extended to use
-     something more powerful.
+  #. **PBKDF2 iteration count**: applied when **setting** new passwords
+     (via ``useradd``, ``passwd``, or build-time ``mkpasswd``)::
+
+       CONFIG_FSUTILS_PASSWD_PBKDF2_ITERATIONS=10000
+
+     Valid range: 1000 to 200000.  Higher values resist brute-force attacks
+     but increase login latency on low-MHz MCUs.  The iteration count is
+     stored inside each hash string, so changing this option only affects
+     newly-created passwords.
+
+  #. **Random salt source**: new salts require random bytes.  Enable a
+     platform random source such as::
+
+       CONFIG_DEV_URANDOM=y
 
-        CONFIG_FSUTILS_PASSWD_KEY1=0x12345678
-        CONFIG_FSUTILS_PASSWD_KEY2=0x9abcdef0
-        CONFIG_FSUTILS_PASSWD_KEY3=0x12345678
-        CONFIG_FSUTILS_PASSWD_KEY4=0x9abcdef0
+     ``passwd_encrypt()`` uses ``getrandom()`` or ``/dev/urandom`` when
+     generating salts for ``useradd`` and ``passwd``.
 
-Password can only be decrypted with access to this key. Note that this
-key could potentially be fished out of your FLASH image, but without any
-symbolic information, that would be a difficult job since the TEA KEY is
-binary data and not distinguishable from other binary data in the FLASH
-image.
+Password complexity rules
+~~~~~~~~~~~~~~~~~~~~~~~~~
 
-If the password file is enabled (``CONFIG_NSH_LOGIN_PASSWD=y``), then
-the fixed user credentials will not be used for the NSH session login.
-Instead, the password file will be consulted to verify the user
-credentials.
+The same rules are enforced everywhere a **new** password is set:
+
+* Build-time ``tools/mkpasswd`` (ROMFS autogen)
+* NSH commands ``useradd`` and ``passwd``
+* Runtime API ``passwd_encrypt()`` in ``apps/fsutils/passwd``
+
+Rules:
+
+* At least **8** characters
+* At least one **uppercase** letter (``A`` to ``Z``)
+* At least one **lowercase** letter (``a`` to ``z``)
+* At least one **digit** (``0`` to ``9``)
+* At least one **special** character from::
+
+     ! @ # $ % ^ & * ( ) _ + - = [ ] { } | ; : , . < > ?
+
+If ``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` is missing or does not meet
+these rules, an interactive ``make`` prompts via ``tools/promptpasswd.sh``
+(root password, then confirm password).  Non-interactive builds must set the
+password in menuconfig or export ``NUTTX_ROMFS_PASSWD_PASSWORD`` first.
+
+Password hash format
+~~~~~~~~~~~~~~~~~~~~
+
+Each password field uses **PBKDF2-HMAC-SHA256** in modular crypt format
+(MCF).  The hash string is self-contained: it stores the iteration count
+and salt, so verification does not depend on separate key material in
+firmware::
+
+  $pbkdf2-sha256$<iterations>$<base64url-salt>$<base64url-hash>
+
+Where:
+
+* ``<iterations>``: PBKDF2 round count (parsed at verify time)
+* ``<base64url-salt>``: 16-byte random salt (RFC 4648 section 5, no padding)
+* ``<base64url-hash>``: 32-byte PBKDF2-HMAC-SHA256 output (same encoding)
+
+Example ``/etc/passwd`` line::
+
+  
root:$pbkdf2-sha256$10000$zhoo4phwEzyNFUAkB7asfw$P8qsjd9RQmZBLfM5zugiJeE5gKjI-CmTxyaVyOX2mE4:0:0:/
+
+Full ``/etc/passwd`` record format::
+
+  user:hash:uid:gid:home
+
+.. note::
+
+   **Breaking change:** this replaces the former TEA-based password storage.
+   Existing TEA-encoded entries will **not** verify.  Regenerate every entry
+   with ``mkpasswd``, NSH ``passwd``, or ``useradd`` after upgrading.
+
+``passwd_verify()`` returns ``0`` on match, ``-1`` on mismatch or invalid
+hash format, and a negated ``errno`` on I/O errors.
+
+When ``CONFIG_NSH_LOGIN_PASSWD=y`` is enabled, NSH verifies logins against
+the password file rather than compile-time credentials.
+
+Notes on ``savedefconfig``
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To avoid leaking credentials into board defconfigs, ``make savedefconfig``
+**omits** these options from the generated defconfig:
+
+* ``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD``
+* ``CONFIG_FSUTILS_PASSWD_PBKDF2_ITERATIONS``
+
+Add them manually to a local defconfig after ``make savedefconfig`` if
+needed for development.
 
 Creating a Password File for a ROMFS File System
 ================================================
 
+Boards with ``CONFIG_ETC_ROMFS`` can auto-generate ``/etc/passwd`` at
+**build time** when ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y``.
+
+Build-time flow
+~~~~~~~~~~~~~~~
+
+1. You configure the root password in menuconfig, at the interactive
+   ``make`` prompt, or via ``NUTTX_ROMFS_PASSWD_PASSWORD``.
+2. The build runs ``tools/mkpasswd`` (Makefile builds use
+   ``tools/board_romfs_mkpasswd.sh`` as a wrapper).
+3. Only the **hash** is written into the ROMFS image at ``/etc/passwd``.
+4. At boot, NSH login verifies the password through kernel cryptodev
+   (``/dev/crypto``).
+
+See :ref:`mkpasswd_autogen` in :doc:`/components/tools/index` for the full
+tool description, Kconfig list, and verification steps.
+
+The following describes the **manual** approach for creating or updating a
+password file when build-time autogen is **not** used.
+
 What we want to accomplish is a ROMFS file system, mounted at ``/etc``
 and containing the password file, ``passwd`` like::
 
@@ -220,10 +310,10 @@ and containing the password file, ``passwd`` like::
   nsh>
 
 Where ``/etc/init.d/rc.sysinit`` is the system init script and
-``/etc/init.d/rcS`` is the start-up script; ``/etc/passwd`` is a
-the password file. Note that here we assume that you are already using a
+``/etc/init.d/rcS`` is the start-up script; ``/etc/passwd`` is the
+password file. Note that here we assume that you are already using a
 start-up script. We can then piggyback the passwd file into the ``/etc``
-file system already mounted for the NSH start up file as described above
+file system already mounted for the NSH start up file as described
 `above <#custinit>`__.
 
 The sim/nsh configuration can be used to create a new password file, but other
@@ -267,7 +357,7 @@ new user passwords like::
   nsh> useradd <username> <password>
 
 Do this as many times as you would like. Each time that you do this a
-new entry with an encrypted password will be added to the ``passwd``
+new entry with a hashed password will be added to the ``passwd``
 file at ``/tmp/passwd``. You can see the content of the password file
 like::
 
@@ -286,9 +376,10 @@ Then create/re-create the ``nsh_romfsimg.h`` file as 
described below.
       mkdir etc
       mkdir etc/init.d
 
-     And copy your existing startup script into ``etc/init.c`` as ``rcS``.
+     And copy your existing startup script into ``etc/init.d/`` as ``rcS``.
 
   #. Save your new password file in the ``etc/`` directory as ``passwd``.
+     Each line must use the PBKDF2 MCF format described above.
 
   #. Create the new ROMFS image::
 
@@ -298,12 +389,9 @@ Then create/re-create the ``nsh_romfsimg.h`` file as 
described below.
 
       xxd -i romfs_img >nsh_romfsimg.h
 
-  #. Edit ``nsh_romfsimg.h``: Mark both data definitions as ``const`` so
+  #. Edit ``nsh_romfsimg.h``: mark both data definitions as ``const`` so
      that the data will be stored in FLASH.
 
-  #. Edit nsh_romfsimg.h, mark both data definitions as ``const`` so that
-     that will be stored in FLASH.
-
 There is a good example of how to do this in the NSH simulation
 configuration at
 `boards/sim/sim/sim/configs/nsh 
<https://github.com/apache/nuttx/blob/master/boards/sim/sim/sim/configs/nsh/>`__.
diff --git a/Documentation/components/tools/index.rst 
b/Documentation/components/tools/index.rst
index 3e068648164..a3c5a446eb1 100644
--- a/Documentation/components/tools/index.rst
+++ b/Documentation/components/tools/index.rst
@@ -14,60 +14,55 @@ and host C programs that are important parts of the NuttX 
build system:
 
 .. _mkpasswd_autogen:
 
-mkpasswd — Build-time ``/etc/passwd`` Generation
--------------------------------------------------
+mkpasswd: Build-time ``/etc/passwd`` generation
+===============================================
 
-``tools/mkpasswd`` (``tools/mkpasswd.c``) is a host program that writes a
-single ``/etc/passwd`` entry with a TEA-encrypted password hash.  The
-plaintext password is **not** stored in the firmware image.
+``tools/mkpasswd`` (``tools/mkpasswd.c``) writes one ``/etc/passwd`` line at
+build time when ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y``.
 
-When ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y``, the build invokes
-``mkpasswd`` automatically from ``boards/Board.mk`` (Make) or
-``cmake/nuttx_add_romfs.cmake`` (CMake).  You normally configure the
-password and keys in menuconfig; you do not run ``mkpasswd`` by hand.
+Quick start
+~~~~~~~~~~~
 
-Prerequisites
-~~~~~~~~~~~~~
+.. code:: kconfig
 
-Enable all of the following (via ``make menuconfig``):
+   CONFIG_ETC_ROMFS=y
+   CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y
+   CONFIG_FSUTILS_PASSWD=y
+   CONFIG_FSUTILS_PASSWD_READONLY=y
+   CONFIG_NSH_CONSOLE_LOGIN=y
 
-* **Board Selection** → **Auto-generate /etc/passwd at build time**
-  (``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE``)
-* **Application Configuration** → **NSH Library** → **Console Login**
-  (``CONFIG_NSH_CONSOLE_LOGIN``) with verification method **Encrypted
-  password file** (``CONFIG_NSH_LOGIN_PASSWD``)
-* **Application Configuration** → **File System Utilities** → **Password file
-  support** (``CONFIG_FSUTILS_PASSWD``)
+Set **Board Selection → Auto-generate /etc/passwd at build time → Root 
password**
+in menuconfig or at the ``make`` prompt, then build and log in as ``root``.
 
-Setup workflow
-~~~~~~~~~~~~~~
+See :doc:`/applications/nsh/login` for NSH login details.
 
-1. ``tools/configure.sh <board>:<config>``
-2. ``make menuconfig``:
+Build flow
+~~~~~~~~~~
 
-   * **Board Selection** → Auto-generate /etc/passwd
+**Makefile builds** use ``tools/board_romfs_mkpasswd.sh``, which validates the
+password (``tools/promptpasswd.sh`` if needed) and invokes ``tools/mkpasswd``.
 
-     * **Admin password** — required, at least 8 characters.  There is no
-       Kconfig default (the legacy ``Administrator`` password is rejected).
-     * **Generate random TEA encryption keys automatically** — recommended;
-       or disable this and set keys manually (see below).
+**CMake builds** invoke ``tools/mkpasswd`` directly; set
+``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` in ``.config`` (configure fails if
+it is missing).
 
-   * Confirm NSH uses **Encrypted password file** verification (above).
+In both cases:
 
-3. ``make`` — on the first build, ``tools/passwd_keys.mk`` validates the
-   password and keys, may generate TEA keys, then ``mkpasswd`` runs before
-   ``config.h`` is created so the hash and firmware always agree.
+1. ``tools/mkpasswd`` hashes with PBKDF2-HMAC-SHA256 (same algorithm as
+   ``apps/fsutils/passwd``, which uses kernel cryptodev at runtime).
+2. The hash is written to ``etctmp/.../passwd`` and embedded in ROMFS.
+
+The plaintext password is used on the host during ``make`` only.  On an
+interactive terminal, ``make`` prompts for the root password (and confirmation)
+when it is not already configured; non-interactive builds must set
+``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` or ``NUTTX_ROMFS_PASSWD_PASSWORD``.
 
 Build-time credentials (CI / automation)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-These values are **not** written to defconfig by ``make savedefconfig``:
-
-* ``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD``
-* ``CONFIG_FSUTILS_PASSWD_KEY1`` … ``CONFIG_FSUTILS_PASSWD_KEY4``
-
-For scripted or CI builds, export the admin password before ``configure.sh``
-or ``make``:
+``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` is **not** written to defconfig by
+``make savedefconfig``.  For scripted or CI builds, export the root password
+before ``configure.sh`` or ``make``:
 
 .. code:: bash
 
@@ -75,83 +70,48 @@ or ``make``:
 
 ``tools/update_romfs_password.sh`` copies this into ``.config`` when ROMFS
 passwd generation is enabled and the password field is still empty.  NuttX
-CI sets ``NuttXSimLogin1`` for the ``sim/login`` configuration (a documented
-sim-only test credential, not a product secret).
-
-TEA encryption keys
-~~~~~~~~~~~~~~~~~~~
-
-``mkpasswd`` and the firmware must use the **same** four 32-bit key words
-(``CONFIG_FSUTILS_PASSWD_KEY1`` … ``KEY4``).  Choose one approach:
+CI sets ``NuttXSim1!`` for the ``sim/login`` configuration (a documented
+sim-only test credential, not a product secret).  The password must meet the
+complexity rules below.
 
-**Random generation** (``CONFIG_BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS=y``):
-
-  On the first ``make`` when keys are missing or still placeholders,
-  ``tools/gen_passwd_keys.sh`` writes random values to ``.config``.  A
-  build warning explains where to view or change them in menuconfig.  Key
-  values are never printed in the build log.
-
-**Manual keys** (``CONFIG_BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS`` disabled):
-
-  Set ``CONFIG_FSUTILS_PASSWD_KEY1`` … ``KEY4`` under **Application
-  Configuration** → **File System Utilities** → **Password file support**.
-  Each must be a unique non-zero value.  The legacy published defaults
-  ``0x12345678`` / ``0x9abcdef0`` are rejected.
-
-If random generation is enabled but keys are already present in ``.config``,
-they are **not** regenerated (subsequent builds stay consistent).
+Password rules
+~~~~~~~~~~~~~~
 
-How the build enforces security
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Minimum 8 characters; at least one uppercase, lowercase, digit, and special
+character from ``!@#$%^&*()_+-=[]{}|;:,.<>?``.
 
-+---------------------------+-----------------------------------------------+
-| Check                     | Where                                         |
-+===========================+===============================================+
-| Password set, min 8 chars | ``tools/passwd_keys.mk`` (before ``config.h``)|
-| Not ``Administrator``     | ``tools/mkpasswd.c`` (last line of defence)   |
-| TEA keys configured       | ``tools/check_passwd_keys.sh``                |
-| Not legacy default keys   | ``check_passwd_keys.sh`` + ``mkpasswd.c``     |
-+---------------------------+-----------------------------------------------+
+Hash format
+~~~~~~~~~~~
 
-Standalone ``mkpasswd`` (advanced)
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+::
 
-For debugging only, you may run the host binary directly.  You must pass all
-four ``--key`` options with non-default values and a password of at least 8
-characters:
+   $pbkdf2-sha256$<iterations>$<base64url-salt>$<base64url-hash>
 
-.. code:: bash
+Example::
 
-   ./tools/mkpasswd --user root --password 'my-secret' \
-     --key1 0x11111111 --key2 0x22222222 \
-     --key3 0x33333333 --key4 0x44444444
+   
root:$pbkdf2-sha256$10000$zhoo4phwEzyNFUAkB7asfw$P8qsjd9RQmZBLfM5zugiJeE5gKjI-CmTxyaVyOX2mE4
 
-Kconfig summary
-~~~~~~~~~~~~~~~~~
+**Breaking change:** TEA-encoded entries are not compatible.  Regenerate with
+``mkpasswd`` or NSH ``passwd`` / ``useradd``.
 
-Example ``.config`` fragment (password and keys normally **not** in defconfig):
+Kconfig
+~~~~~~~
 
 .. code:: kconfig
 
    CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y
-   CONFIG_BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS=y
+   CONFIG_CRYPTO_CRYPTODEV=y
    CONFIG_BOARD_ETC_ROMFS_PASSWD_USER="root"
-   CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD="<set in menuconfig or env>"
-   CONFIG_NSH_CONSOLE_LOGIN=y
-   CONFIG_NSH_LOGIN_PASSWD=y
-   CONFIG_FSUTILS_PASSWD=y
-
-``/etc/passwd`` file format
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. code:: text
+   CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD="<secret>"
+   CONFIG_FSUTILS_PASSWD_PBKDF2_ITERATIONS=10000
 
-   user:encrypted_hash:uid:gid:home
+``make savedefconfig`` omits ``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` and
+``CONFIG_FSUTILS_PASSWD_PBKDF2_ITERATIONS`` to avoid leaking credentials.
 
-Notes on ``savedefconfig``
-~~~~~~~~~~~~~~~~~~~~~~~~~~
+Host files
+~~~~~~~~~~
 
-``make savedefconfig`` omits the password and ``KEY1``–``KEY4`` from the
-generated defconfig on purpose.  
``CONFIG_BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS``
-may remain in defconfig (policy, not a secret).  Do not commit passwords or
-key values to version control.
+* ``tools/mkpasswd.c`` - PBKDF2 hash generation
+* ``tools/promptpasswd.sh`` - interactive root password prompt, validation,
+  and confirmation
+* ``tools/board_romfs_mkpasswd.sh`` - Makefile ROMFS build wrapper
diff --git a/Documentation/platforms/arm/moxart/boards/moxa/index.rst 
b/Documentation/platforms/arm/moxart/boards/moxa/index.rst
index dd10749fe6c..7fb52614acc 100644
--- a/Documentation/platforms/arm/moxart/boards/moxa/index.rst
+++ b/Documentation/platforms/arm/moxart/boards/moxa/index.rst
@@ -2,3 +2,27 @@
 moxa
 ====
 
+Configurations
+==============
+
+nsh
+---
+
+This configuration enables NSH with Telnet and telnet login.  Credentials
+are verified against a PBKDF2-HMAC-SHA256 hash in ROMFS ``/etc/passwd``, not
+a fixed plaintext password compiled into the firmware.
+
+Before building:
+
+1. ``./tools/configure.sh moxa:nsh``
+2. Set the root password in menuconfig (**Board Selection** →
+   **Auto-generate /etc/passwd at build time** → **Root password**), or
+   export ``NUTTX_ROMFS_PASSWD_PASSWORD`` before ``make``.
+
+The former fixed telnet password ``nuttx`` is no longer embedded in the
+image.  For a local test build you may use (must meet complexity rules)::
+
+  export NUTTX_ROMFS_PASSWD_PASSWORD='NuttX1!nut'
+  make
+
+See :ref:`mkpasswd_autogen` for details.
diff --git 
a/Documentation/platforms/renesas/rx65n/boards/rx65n-grrose/index.rst 
b/Documentation/platforms/renesas/rx65n/boards/rx65n-grrose/index.rst
index 883b9d2a405..26e56b30b4e 100644
--- a/Documentation/platforms/renesas/rx65n/boards/rx65n-grrose/index.rst
+++ b/Documentation/platforms/renesas/rx65n/boards/rx65n-grrose/index.rst
@@ -495,34 +495,39 @@ start-up script; ``/etc/passwd`` is the password file.
 
 The ``/etc/passwd`` file is auto-generated at build time when
 ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE`` is set.  See :ref:`mkpasswd_autogen`
-for the full setup (admin password, TEA keys, NSH encrypted-password login).
+for the full setup (root password, NSH encrypted-password login).
 
 * ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y``
 * ``CONFIG_BOARD_ETC_ROMFS_PASSWD_USER`` (default: ``root``)
-* Admin password and TEA keys — set in menuconfig (not saved in defconfig)
+* ``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` (required; minimum 8 characters
+  with uppercase, lowercase, digit, and special character.  See
+  :ref:`mkpasswd_autogen`)
 
-The password is hashed with TEA by ``tools/mkpasswd``; the plaintext is **not**
-stored in the firmware.
+The password is hashed with PBKDF2-HMAC-SHA256 at build time by the host tool
+``tools/mkpasswd``; the plaintext is **not** stored in the firmware.
+
+For the full description of the mechanism, file format, and verification
+steps, see :ref:`mkpasswd_autogen`.
 
 The format of the password file is:
 
 .. code:: text
 
-   user:encrypted_hash:uid:gid:home
+   user:x:uid:gid:home
 
    Where:
    user:  User name
-   encrypted_hash:  TEA-encrypted password (base64)
-   uid:   User ID
-   gid:   Group ID
-   home:  Login directory
+   x:     PBKDF2-HMAC-SHA256 hash (modular crypt format)
+   uid:   User ID (0 for now)
+   gid:   Group ID (0 for now)
+   home:  Login directory (/ for now)
 
 ``/etc/group`` is a group file. It is not currently used.
 
 .. code:: console
 
    nsh> cat /etc/group
-   root:*:0:root,admin
+   root:*:0:root
 
 The format of the group file is:
 
diff --git 
a/Documentation/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/ROMFS.txt
 
b/Documentation/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/ROMFS.txt
index 2434964afdd..2ac493a23fc 100644
--- 
a/Documentation/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/ROMFS.txt
+++ 
b/Documentation/platforms/risc-v/esp32c3-legacy/boards/esp32c3-legacy-devkit/ROMFS.txt
@@ -31,13 +31,16 @@ README
 
     CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y
     CONFIG_BOARD_ETC_ROMFS_PASSWD_USER (default: root)
-    CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD (required, build fails if empty)
+    CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD (required; minimum 8 characters
+    with uppercase, lowercase, digit, and special character)
 
-  The password is hashed with TEA at build time by the host tool
+  The password is hashed with PBKDF2-HMAC-SHA256 at build time by the host tool
   tools/mkpasswd; the plaintext is NOT stored in the firmware image.
+  If the password is not set in .config, an interactive make prompts via
+  tools/promptpasswd.sh (root password, then confirm password).
 
-  For the full description of the mechanism, TEA key configuration, file
-  format, and verification steps, see Documentation/components/tools/index.rst
+  For the full description of the mechanism, file format, complexity rules,
+  and verification steps, see Documentation/components/tools/index.rst
   (mkpasswd section).
 
   The format of the password file is:
@@ -46,7 +49,7 @@ README
 
   Where:
     user:  User name
-    x:     Encrypted password
+    x:     PBKDF2-HMAC-SHA256 hash (modular crypt format)
     uid:   User ID (0 for now)
     gid:   Group ID (0 for now)
     home:  Login directory (/ for now)
@@ -54,7 +57,7 @@ README
   /etc/group is a group file.  It is not currently used.
 
     nsh> cat /etc/group
-    root:*:0:root,admin
+    root:*:0:root
 
   The format of the group file is:
 
diff --git a/Documentation/platforms/sim/sim/boards/sim/index.rst 
b/Documentation/platforms/sim/sim/boards/sim/index.rst
index 00626255d5f..3f080122eb7 100644
--- a/Documentation/platforms/sim/sim/boards/sim/index.rst
+++ b/Documentation/platforms/sim/sim/boards/sim/index.rst
@@ -1996,15 +1996,17 @@ This is a configuration with login password protection 
for NSH.
 .. note::
 
    This config has password protection enabled.  After configuring from
-   defconfig, set the admin password in menuconfig (Board Selection →
+   defconfig, set the root password in menuconfig (Board Selection →
    Auto-generate /etc/passwd) or export ``NUTTX_ROMFS_PASSWD_PASSWORD``
    before building.  NuttX CI uses the documented test password
-   ``NuttXSimLogin1`` for this configuration.
+   ``NuttXSim1!`` for this configuration.
 
    * USERNAME: root (default)
    * PASSWORD: set at build time (not stored in defconfig)
 
-   The encrypted password is retained in ``/etc/passwd``.
+   The password must meet complexity rules (8+ chars, upper, lower, digit,
+   special).  Only the PBKDF2-HMAC-SHA256 hash is stored in ``/etc/passwd``.
+
    You can disable the password protection by
    de-selecting ``CONFIG_NSH_CONSOLE_LOGIN=y``.
 
@@ -2205,29 +2207,46 @@ mounted at ``/etc`` and will look like this at run-time:
 start-up script; ``/etc/passwd`` is the password file.
 
 The ``/etc/passwd`` file is auto-generated at build time when
-``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE`` is set.  Configure credentials in
-``make menuconfig`` (see :ref:`mkpasswd_autogen`):
+``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE`` is set.  Enable the option and set
+credentials via ``make menuconfig``:
 
 * ``CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y``
-* ``CONFIG_NSH_CONSOLE_LOGIN=y`` with **Encrypted password file** verification
+* ``CONFIG_NSH_CONSOLE_LOGIN=y`` (required, otherwise login is not enforced)
 * ``CONFIG_BOARD_ETC_ROMFS_PASSWD_USER`` (default: ``root``)
-* Admin password — required in menuconfig or via 
``NUTTX_ROMFS_PASSWD_PASSWORD``
-  (minimum 8 characters; not saved in defconfig)
-* TEA keys — enable **Generate random TEA encryption keys automatically**, or
-  set ``CONFIG_FSUTILS_PASSWD_KEY1`` … ``KEY4`` manually
+* ``CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD`` (required; minimum 8 characters
+  with uppercase, lowercase, digit, and special character.  See
+  :ref:`mkpasswd_autogen`)
+
+The password is hashed with PBKDF2-HMAC-SHA256 at build time by the host tool
+``tools/mkpasswd``; the plaintext is **not** stored in the firmware.
+
+For the full description of the build-time password generation mechanism,
+file format, and verification steps, see
+:ref:`mkpasswd_autogen`.
+
+The format of the password file is:
+
+.. code:: text
+
+   user:x:uid:gid:home
+
+Where:
 
-The password is hashed with TEA by ``tools/mkpasswd``; the plaintext is **not**
-stored in the firmware.
+* user: User name
+* x: PBKDF2-HMAC-SHA256 hash (modular crypt format)
+* uid: User ID (0 for now)
+* gid: Group ID (0 for now)
+* home: Login directory (/ for now)
 
-For the full build flow, CI credentials, and verification steps, see
+For configuration, verification steps, and password complexity rules, see
 :ref:`mkpasswd_autogen`.
 
 Login test inside the simulator
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
-Use the admin password you set at build time (menuconfig or
+Use the root password you set at build time (menuconfig or
 ``NUTTX_ROMFS_PASSWD_PASSWORD``).  For ``sim/login``, CI uses the documented
-test password ``NuttXSimLogin1``; see :ref:`mkpasswd_autogen`.
+test password ``NuttXSim1!``; see :ref:`mkpasswd_autogen`.
 
 .. code:: console
 
diff --git a/boards/Kconfig b/boards/Kconfig
index ef659615b34..44e9a245bd3 100644
--- a/boards/Kconfig
+++ b/boards/Kconfig
@@ -5628,78 +5628,67 @@ config BOARD_ETC_ROMFS_PASSWD_ENABLE
        default n
        depends on ETC_ROMFS
        ---help---
-               Generate /etc/passwd at build time. The password is hashed with 
TEA
-               by tools/mkpasswd; the plaintext is not stored in the firmware.
-
-               Before building, set:
-                 1. Admin password (below)
-                 2. TEA keys — enable random generation below, or set
-                    CONFIG_FSUTILS_PASSWD_KEY1..4 in Application Configuration 
->
-                    File System Utilities -> Password file support
+               Generate /etc/passwd at build time. The password is hashed with
+               PBKDF2-HMAC-SHA256 by tools/mkpasswd; the plaintext is not 
stored
+               in the firmware.
+
+               The password is hashed at build time by the host tool
+               tools/mkpasswd (compiled from tools/mkpasswd.c) using
+               PBKDF2-HMAC-SHA256 — the same algorithm used at runtime in
+               apps/fsutils/passwd/passwd_encrypt.c.  The plaintext password is
+               never stored in the firmware image.
+
+               The iteration count is taken from
+               CONFIG_FSUTILS_PASSWD_PBKDF2_ITERATIONS (default 10000).  Higher
+               values slow brute-force attacks but increase login latency on
+               low-MHz MCUs.
+
+               Before building, set the root password (below) or export
+               NUTTX_ROMFS_PASSWD_PASSWORD for CI and scripted builds (see
+               tools/update_romfs_password.sh).
 
                Also enable NSH login with "Encrypted password file" 
verification.
 
-               Password and keys are not saved in defconfig. Do not commit 
them.
+               Password is not saved in defconfig. Do not commit it.
+
+               See Documentation/components/tools/index.rst (mkpasswd section) 
for
+               details.
 
 if BOARD_ETC_ROMFS_PASSWD_ENABLE
 
-comment "--- Step 1: set the admin password below ---"
+comment "--- Set the root password below ---"
 
 config BOARD_ETC_ROMFS_PASSWD_USER
-       string "Admin username"
+       string "Root username"
        default "root"
        ---help---
                The username for the auto-generated /etc/passwd entry.
 
 config BOARD_ETC_ROMFS_PASSWD_PASSWORD
-       string "Admin password (required, no default)"
+       string "Root password (required, no default)"
        ---help---
-               The plaintext password for the /etc/passwd entry. No default is
-               provided. The build fails if this is empty or shorter than 8
-               characters.
+               The plaintext password for the auto-generated /etc/passwd entry.
+               This value is hashed with PBKDF2-HMAC-SHA256 at build time; the
+               plaintext is NOT stored in the firmware image.  There is no 
default;
+               set CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD in the board 
defconfig,
+               via menuconfig, or enter it when prompted during an interactive
+               build.  Password must be at least 8 characters and contain:
+               uppercase letter, lowercase letter, digit, and special 
character.
 
                Not saved in defconfig.  For CI or scripted builds, set the
                environment variable NUTTX_ROMFS_PASSWD_PASSWORD instead (see
                tools/update_romfs_password.sh).
 
-comment "--- Step 2: choose how to supply the TEA encryption keys ---"
-
-config BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS
-       bool "Generate random TEA encryption keys automatically"
-       default n
-       ---help---
-               Generate four random TEA keys from /dev/urandom and write them
-               to .config on the first build. The same keys are used for the
-               /etc/passwd hash and the firmware.
-
-                 make menuconfig   # set password, enable this option
-                 make
-
-               Key values are not printed in the build log. Search .config for
-               CONFIG_FSUTILS_PASSWD_KEY to view them. A build warning is 
printed
-               when keys are first generated.
-
-               Do not copy keys or the password into a defconfig or commit
-               them to version control. 
CONFIG_BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS
-               may remain in defconfig; the password and KEY1..4 may not.
-
-               If disabled, set CONFIG_FSUTILS_PASSWD_KEY1..4 manually under
-               Application Configuration -> File System Utilities ->
-               Password file support.
-
-comment "If not randomizing: set KEY1..4 at App Config -> File System 
Utilities -> Password file support"
-       depends on !BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS
-
 config BOARD_ETC_ROMFS_PASSWD_UID
-       int "Admin user ID"
+       int "Root user ID"
        default 0
 
 config BOARD_ETC_ROMFS_PASSWD_GID
-       int "Admin group ID"
+       int "Root group ID"
        default 0
 
 config BOARD_ETC_ROMFS_PASSWD_HOME
-       string "Admin home directory"
+       string "Root home directory"
        default "/"
 
 endif # BOARD_ETC_ROMFS_PASSWD_ENABLE
diff --git a/boards/arm/lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig 
b/boards/arm/lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig
index a76e33ef2cd..40f5c97e1bc 100644
--- a/boards/arm/lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig
+++ b/boards/arm/lpc17xx_40xx/u-blox-c027/configs/nsh/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_DISABLE_LOSMART is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="u-blox-c027"
 CONFIG_ARCH_BOARD_U_BLOX_C027=y
@@ -15,6 +16,11 @@ CONFIG_ARCH_CHIP_LPC17XX_40XX=y
 CONFIG_ARCH_STACKDUMP=y
 CONFIG_BOARD_LOOPSPERMSEC=8079
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
+CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO=y
+CONFIG_CRYPTO_SW_AES=y
 CONFIG_DEBUG_FULLOPT=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DISABLE_ENVIRON=y
@@ -26,6 +32,8 @@ CONFIG_EXAMPLES_CHAT_PRESET2="\"\" AT+USOCR=6 OK 
AT+USOCO=0,\\\"195.34.89.241\\\
 CONFIG_EXAMPLES_CHAT_PRESET3="\"\" AT+USOWR=0,5,\\\"NuttX\\\" PAUSE 10 OK 
AT+USORD=0,5 NuttX AT+USOCL=0"
 CONFIG_FAT_LCNAMES=y
 CONFIG_FAT_LFN=y
+CONFIG_FSUTILS_PASSWD=y
+CONFIG_FSUTILS_PASSWD_READONLY=y
 CONFIG_FS_FAT=y
 CONFIG_FS_PROCFS=y
 CONFIG_INIT_ENTRYPOINT="nsh_main"
@@ -59,6 +67,7 @@ CONFIG_NETINIT_MACADDR_1=0x55add7e5
 CONFIG_NETINIT_MACADDR_2=0xbada
 CONFIG_NETINIT_NOMAC=y
 CONFIG_NETINIT_THREAD=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NETUTILS_DHCPC=y
 CONFIG_NETUTILS_TELNETD=y
 CONFIG_NETUTILS_TFTPC=y
diff --git a/boards/arm/moxart/moxa/configs/nsh/defconfig 
b/boards/arm/moxart/moxa/configs/nsh/defconfig
index bd4315e2a50..c0e77aa504e 100644
--- a/boards/arm/moxart/moxa/configs/nsh/defconfig
+++ b/boards/arm/moxart/moxa/configs/nsh/defconfig
@@ -34,6 +34,7 @@ CONFIG_16550_UART0_CLOCK=14745600
 CONFIG_16550_UART0_IRQ=31
 CONFIG_16550_UART0_SERIAL_CONSOLE=y
 CONFIG_16550_UART=y
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="arm"
 CONFIG_ARCH_BOARD="moxa"
 CONFIG_ARCH_BOARD_MOXA=y
@@ -47,18 +48,18 @@ CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y
 CONFIG_BOARD_LOOPSPERMSEC=6965
 CONFIG_BOOT_RUNFROMISRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO=y
 CONFIG_CRYPTO_SW_AES=y
 CONFIG_DEFAULT_SMALL=y
 CONFIG_ETC_ROMFS=y
-CONFIG_ETC_ROMFSDEVNO=0
+CONFIG_FSUTILS_PASSWD=y
+CONFIG_FSUTILS_PASSWD_READONLY=y
 CONFIG_FS_BINFS=y
 CONFIG_FS_ROMFS=y
 CONFIG_FS_UNIONFS=y
-CONFIG_FSUTILS_PASSWD=y
-CONFIG_FSUTILS_PASSWD_READONLY=y
 CONFIG_FTMAC100_BASE=0x90900000
 CONFIG_FTMAC100_IRQ=25
 CONFIG_FTMAC100_MAC0_ENV_ADDR=0x80000050
@@ -68,6 +69,7 @@ CONFIG_IOB_NBUFFERS=24
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LINE_MAX=80
 CONFIG_NET=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NETUTILS_TELNETD=y
 CONFIG_NET_ARP_IPIN=y
 CONFIG_NET_ETH_PKTSIZE=1500
diff --git a/boards/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/src/etc/group 
b/boards/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/src/etc/group
index 1eca6970c9d..f0565ff64b4 100644
--- a/boards/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/src/etc/group
+++ b/boards/risc-v/esp32c3-legacy/esp32c3-legacy-devkit/src/etc/group
@@ -1 +1 @@
-root:*:0:root,admin
+root:*:0:root
diff --git a/boards/sim/sim/sim/configs/adb/defconfig 
b/boards/sim/sim/sim/configs/adb/defconfig
index 9f3e4add2aa..5d7593350ba 100644
--- a/boards/sim/sim/sim/configs/adb/defconfig
+++ b/boards/sim/sim/sim/configs/adb/defconfig
@@ -11,6 +11,7 @@ CONFIG_ADBD_LOGCAT_SERVICE=y
 CONFIG_ADBD_SHELL_SERVICE=y
 CONFIG_ADBD_SOCKET_SERVICE=y
 CONFIG_ADBD_TCP_SERVER=y
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -18,7 +19,14 @@ CONFIG_ARCH_CHIP="sim"
 CONFIG_ARCH_SIM=y
 CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
+CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO=y
+CONFIG_CRYPTO_SW_AES=y
 CONFIG_DEBUG_SYMBOLS=y
+CONFIG_FSUTILS_PASSWD=y
+CONFIG_FSUTILS_PASSWD_READONLY=y
 CONFIG_FS_PROCFS=y
 CONFIG_FS_TMPFS=y
 CONFIG_INIT_ENTRYPOINT="nsh_main"
@@ -32,6 +40,7 @@ CONFIG_MM_TLSF_MANAGER=y
 CONFIG_NET=y
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NETUTILS_TELNETD=y
 CONFIG_NET_LOCAL=y
 CONFIG_NET_USRSOCK_CUSTOM=y
diff --git a/boards/sim/sim/sim/configs/alsa/defconfig 
b/boards/sim/sim/sim/configs/alsa/defconfig
index 5c579b333e2..28beec131df 100644
--- a/boards/sim/sim/sim/configs/alsa/defconfig
+++ b/boards/sim/sim/sim/configs/alsa/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -19,6 +20,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -39,6 +43,7 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
 CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_READLINE=y
diff --git a/boards/sim/sim/sim/configs/bastest/defconfig 
b/boards/sim/sim/sim/configs/bastest/defconfig
index 940cacb8396..ce5f3334923 100644
--- a/boards/sim/sim/sim/configs/bastest/defconfig
+++ b/boards/sim/sim/sim/configs/bastest/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -42,6 +46,7 @@ CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_STRERROR=y
 CONFIG_LIBM=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/bluetooth/defconfig 
b/boards/sim/sim/sim/configs/bluetooth/defconfig
index ee833a5d180..9948df3a0d9 100644
--- a/boards/sim/sim/sim/configs/bluetooth/defconfig
+++ b/boards/sim/sim/sim/configs/bluetooth/defconfig
@@ -21,6 +21,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_DRIVERS_BLUETOOTH=y
@@ -46,6 +49,7 @@ CONFIG_NET=y
 CONFIG_NETDEV_LATEINIT=y
 CONFIG_NETDEV_WIRELESS_IOCTL=y
 CONFIG_NETINIT_NETLOCAL=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BLUETOOTH=y
 CONFIG_NET_STATISTICS=y
 CONFIG_NSH_BUILTIN_APPS=y
diff --git a/boards/sim/sim/sim/configs/bthcisock/defconfig 
b/boards/sim/sim/sim/configs/bthcisock/defconfig
index d691d28a0fe..4135a5c7b18 100644
--- a/boards/sim/sim/sim/configs/bthcisock/defconfig
+++ b/boards/sim/sim/sim/configs/bthcisock/defconfig
@@ -22,6 +22,9 @@ CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BTSAK=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_DRIVERS_BLUETOOTH=y
@@ -47,6 +50,7 @@ CONFIG_NET=y
 CONFIG_NETDEV_LATEINIT=y
 CONFIG_NETDEV_WIRELESS_IOCTL=y
 CONFIG_NETINIT_NETLOCAL=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BLUETOOTH=y
 CONFIG_NET_STATISTICS=y
 CONFIG_NSH_BUILTIN_APPS=y
diff --git a/boards/sim/sim/sim/configs/citest/defconfig 
b/boards/sim/sim/sim/configs/citest/defconfig
index 8844a44d40f..d7a4b029224 100644
--- a/boards/sim/sim/sim/configs/citest/defconfig
+++ b/boards/sim/sim/sim/configs/citest/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_NET_ARP is not set
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
 # CONFIG_NSH_NETINIT is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ALLOW_MIT_COMPONENTS=y
 CONFIG_ALLSYMS=y
 CONFIG_ARCH="sim"
@@ -27,6 +28,9 @@ CONFIG_CM_MM_TEST=y
 CONFIG_CM_PTHREAD_TEST=y
 CONFIG_CM_SCHED_TEST=y
 CONFIG_CM_TIME_TEST=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CXX_LOCALIZATION=y
 CONFIG_CXX_WCHAR=y
 CONFIG_DEBUG_ASSERTIONS=y
@@ -96,6 +100,7 @@ CONFIG_MQ_MAXMSGSIZE=128
 CONFIG_NET=y
 CONFIG_NETDEV_IFINDEX=y
 CONFIG_NETDEV_LATEINIT=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_LOCAL=y
 CONFIG_NET_USRSOCK=y
 CONFIG_NSH_BUILTIN_APPS=y
diff --git a/boards/sim/sim/sim/configs/crypto/defconfig 
b/boards/sim/sim/sim/configs/crypto/defconfig
index 359d4c56e34..f56bb4d5cfd 100644
--- a/boards/sim/sim/sim/configs/crypto/defconfig
+++ b/boards/sim/sim/sim/configs/crypto/defconfig
@@ -16,6 +16,7 @@ CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
 CONFIG_CRYPTO=y
 CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO=y
@@ -56,6 +57,7 @@ CONFIG_MBEDTLS_MD5_ALT=y
 CONFIG_MBEDTLS_SHA1_ALT=y
 CONFIG_MBEDTLS_SHA256_ALT=y
 CONFIG_MBEDTLS_SHA512_ALT=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_PATH_INITIAL="/bin"
 CONFIG_PSEUDOFS_ATTRIBUTES=y
 CONFIG_PSEUDOFS_SOFTLINKS=y
diff --git a/boards/sim/sim/sim/configs/dropbear/defconfig 
b/boards/sim/sim/sim/configs/dropbear/defconfig
index 4a3bebb99c1..08374a62eb7 100644
--- a/boards/sim/sim/sim/configs/dropbear/defconfig
+++ b/boards/sim/sim/sim/configs/dropbear/defconfig
@@ -16,6 +16,7 @@ CONFIG_ARCH_SIM=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
 CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO=y
 CONFIG_CRYPTO_MBEDTLS=y
@@ -58,6 +59,7 @@ CONFIG_NET=y
 CONFIG_NETDEV_LATEINIT=y
 CONFIG_NETINIT_DRIPADDR=0x0a000101
 CONFIG_NETINIT_IPADDR=0x0a000102
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NETUTILS_DROPBEAR=y
 CONFIG_NETUTILS_DROPBEAR_HOSTKEY_PATH="/tmp/dropbear_ecdsa_host_key"
 CONFIG_NET_BROADCAST=y
diff --git a/boards/sim/sim/sim/configs/duktape/defconfig 
b/boards/sim/sim/sim/configs/duktape/defconfig
index e9e2a0bd01e..bb29332e72b 100644
--- a/boards/sim/sim/sim/configs/duktape/defconfig
+++ b/boards/sim/sim/sim/configs/duktape/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -38,6 +42,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBM=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/dynconns/defconfig 
b/boards/sim/sim/sim/configs/dynconns/defconfig
index 34223b6c914..f70c70e7efa 100644
--- a/boards/sim/sim/sim/configs/dynconns/defconfig
+++ b/boards/sim/sim/sim/configs/dynconns/defconfig
@@ -19,6 +19,9 @@ CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
 CONFIG_CAN_ALLOC_CONNS=1
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEV_LOOP=y
 CONFIG_FSUTILS_PASSWD=y
 CONFIG_FSUTILS_PASSWD_READONLY=y
@@ -41,6 +44,7 @@ CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
 CONFIG_NETLINK_ALLOC_CONNS=1
 CONFIG_NETLINK_ROUTE=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_6LOWPAN=y
 CONFIG_NET_6LOWPAN_EXTENDEDADDR=y
 CONFIG_NET_6LOWPAN_MAXADDRCONTEXT_PREINIT_1=y
diff --git a/boards/sim/sim/sim/configs/elf/defconfig 
b/boards/sim/sim/sim/configs/elf/defconfig
index bcec7bf16db..0ca40839a8b 100644
--- a/boards/sim/sim/sim/configs/elf/defconfig
+++ b/boards/sim/sim/sim/configs/elf/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ELF=y
@@ -38,6 +42,7 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
 CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_STRERROR=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_MOTD=y
diff --git a/boards/sim/sim/sim/configs/foc/defconfig 
b/boards/sim/sim/sim/configs/foc/defconfig
index 97eee196dcb..f2f270c39e2 100644
--- a/boards/sim/sim/sim/configs/foc/defconfig
+++ b/boards/sim/sim/sim/configs/foc/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
 # CONFIG_NSH_DISABLE_DATE is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y
 CONFIG_DEBUG_SYMBOLS=y
@@ -77,6 +81,7 @@ CONFIG_MOTOR=y
 CONFIG_MOTOR_FOC=y
 CONFIG_MOTOR_FOC_DUMMY=y
 CONFIG_MOTOR_FOC_INST=4
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_MOTD=y
diff --git a/boards/sim/sim/sim/configs/ipforward/defconfig 
b/boards/sim/sim/sim/configs/ipforward/defconfig
index 459451ebd54..af6244cee5c 100644
--- a/boards/sim/sim/sim/configs/ipforward/defconfig
+++ b/boards/sim/sim/sim/configs/ipforward/defconfig
@@ -19,6 +19,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -39,6 +42,7 @@ CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_HOSTNAME="IP-Forward"
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_NET=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_IPFORWARD=y
 CONFIG_NET_IPv6=y
 CONFIG_NET_IPv6_NCONF_ENTRIES=4
diff --git a/boards/sim/sim/sim/configs/libcxxtest/defconfig 
b/boards/sim/sim/sim/configs/libcxxtest/defconfig
index b343cdd2ff5..e838d70a38d 100644
--- a/boards/sim/sim/sim/configs/libcxxtest/defconfig
+++ b/boards/sim/sim/sim/configs/libcxxtest/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CXX_EXCEPTION=y
 CONFIG_CXX_LOCALIZATION=y
 CONFIG_CXX_RTTI=y
@@ -55,6 +59,7 @@ CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
 CONFIG_NETINIT_DHCPC=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/login/defconfig 
b/boards/sim/sim/sim/configs/login/defconfig
index 3021775d333..972b05ba1f2 100644
--- a/boards/sim/sim/sim/configs/login/defconfig
+++ b/boards/sim/sim/sim/configs/login/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -14,10 +15,14 @@ CONFIG_ARCH_SIM=y
 CONFIG_BOARDCTL_APP_SYMTAB=y
 CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE=y
-CONFIG_BOARD_ETC_ROMFS_PASSWD_RANDOMIZE_KEYS=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
+CONFIG_CRYPTO_CRYPTODEV_SOFTWARE_CRYPTO=y
+CONFIG_CRYPTO_SW_AES=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -47,6 +52,7 @@ CONFIG_LIBC_LOCALE_CATALOG=y
 CONFIG_LIBC_LOCALE_GETTEXT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_NUMBERED_ARGS=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/lua/defconfig 
b/boards/sim/sim/sim/configs/lua/defconfig
index 20571ae2c60..b343d85df17 100644
--- a/boards/sim/sim/sim/configs/lua/defconfig
+++ b/boards/sim/sim/sim/configs/lua/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_INTERPRETERS_LUA_32BIT is not set
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -50,6 +54,7 @@ CONFIG_LUA_LSYSLOG_MODULE=y
 CONFIG_LUA_LUV_MODULE=y
 CONFIG_NET=y
 CONFIG_NETDEV_IFINDEX=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_SOCKOPTS=y
 CONFIG_NET_TCP=y
 CONFIG_NET_UDP=y
diff --git a/boards/sim/sim/sim/configs/matter/defconfig 
b/boards/sim/sim/sim/configs/matter/defconfig
index 5d41be8ff1a..900cbe17376 100644
--- a/boards/sim/sim/sim/configs/matter/defconfig
+++ b/boards/sim/sim/sim/configs/matter/defconfig
@@ -17,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CRYPTO_MBEDTLS=y
 CONFIG_CXX_LOCALIZATION=y
 CONFIG_CXX_WCHAR=y
@@ -63,6 +66,7 @@ CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x771d1d1d
 CONFIG_NETINIT_DRIPADDR=0x0a000101
 CONFIG_NETINIT_IPADDR=0x0a000102
 CONFIG_NETLINK_ROUTE=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NETUTILS_JSONCPP=y
 CONFIG_NET_6LOWPAN=y
 CONFIG_NET_BINDTODEVICE=y
diff --git a/boards/sim/sim/sim/configs/minibasic/defconfig 
b/boards/sim/sim/sim/configs/minibasic/defconfig
index 0bdacd42e56..6ff24cb7c8a 100644
--- a/boards/sim/sim/sim/configs/minibasic/defconfig
+++ b/boards/sim/sim/sim/configs/minibasic/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -15,6 +16,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -36,6 +40,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBM=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_READLINE=y
diff --git a/boards/sim/sim/sim/configs/minmea/defconfig 
b/boards/sim/sim/sim/configs/minmea/defconfig
index 10664d38e3d..b9dd4dd0b65 100644
--- a/boards/sim/sim/sim/configs/minmea/defconfig
+++ b/boards/sim/sim/sim/configs/minmea/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ALLSYMS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -47,6 +51,7 @@ CONFIG_LIBC_LOCALE_CATALOG=y
 CONFIG_LIBC_LOCALE_GETTEXT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_NUMBERED_ARGS=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/mnemofs/defconfig 
b/boards/sim/sim/sim/configs/mnemofs/defconfig
index 1743d0b688a..7732caec0c5 100644
--- a/boards/sim/sim/sim/configs/mnemofs/defconfig
+++ b/boards/sim/sim/sim/configs/mnemofs/defconfig
@@ -17,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -56,6 +59,7 @@ CONFIG_MTD_NAND_RAM_DEBUG=y
 CONFIG_MTD_NAND_RAM_STATUS=5
 CONFIG_MTD_NAND_WRAPPER=y
 CONFIG_MTD_NAND_WRAPPER_DEBUG_LEVEL=3
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/module/defconfig 
b/boards/sim/sim/sim/configs/module/defconfig
index 04416d40d24..3f68420844f 100644
--- a/boards/sim/sim/sim/configs/module/defconfig
+++ b/boards/sim/sim/sim/configs/module/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEV_LOOP=y
 CONFIG_EXAMPLES_LIBTEST=y
 CONFIG_EXAMPLES_MODULE=y
@@ -39,6 +43,7 @@ CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_IFINDEX=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/module32/defconfig 
b/boards/sim/sim/sim/configs/module32/defconfig
index 2a7f78f84de..2770d19e9be 100644
--- a/boards/sim/sim/sim/configs/module32/defconfig
+++ b/boards/sim/sim/sim/configs/module32/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEV_LOOP=y
 CONFIG_EXAMPLES_MODULE=y
 CONFIG_EXAMPLES_MODULE_DEVMINOR=4
@@ -37,6 +41,7 @@ CONFIG_NET=y
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/nand/defconfig 
b/boards/sim/sim/sim/configs/nand/defconfig
index 90225d3b639..94e94949c4d 100644
--- a/boards/sim/sim/sim/configs/nand/defconfig
+++ b/boards/sim/sim/sim/configs/nand/defconfig
@@ -17,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -55,6 +58,7 @@ CONFIG_MTD_NAND_RAM_DEBUG=y
 CONFIG_MTD_NAND_RAM_STATUS=5
 CONFIG_MTD_NAND_WRAPPER=y
 CONFIG_MTD_NAND_WRAPPER_DEBUG_LEVEL=3
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/nimble/defconfig 
b/boards/sim/sim/sim/configs/nimble/defconfig
index 8ba91fe9567..a7c0fa7b0ac 100644
--- a/boards/sim/sim/sim/configs/nimble/defconfig
+++ b/boards/sim/sim/sim/configs/nimble/defconfig
@@ -24,6 +24,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_DRIVERS_BLUETOOTH=y
@@ -50,6 +53,7 @@ CONFIG_NET=y
 CONFIG_NETDEV_LATEINIT=y
 CONFIG_NETDEV_WIRELESS_IOCTL=y
 CONFIG_NETINIT_NETLOCAL=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BLUETOOTH=y
 CONFIG_NET_STATISTICS=y
 CONFIG_NIMBLE=y
diff --git a/boards/sim/sim/sim/configs/nshcromfs/defconfig 
b/boards/sim/sim/sim/configs/nshcromfs/defconfig
index 4356609e3c2..1ec754aa276 100644
--- a/boards/sim/sim/sim/configs/nshcromfs/defconfig
+++ b/boards/sim/sim/sim/configs/nshcromfs/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_EXAMPLES_CROMFS=y
@@ -33,6 +37,7 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
 CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_READLINE=y
diff --git a/boards/sim/sim/sim/configs/posix_spawn/defconfig 
b/boards/sim/sim/sim/configs/posix_spawn/defconfig
index acc2562cca5..ae40b8e5225 100644
--- a/boards/sim/sim/sim/configs/posix_spawn/defconfig
+++ b/boards/sim/sim/sim/configs/posix_spawn/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ELF=y
@@ -39,6 +43,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_STRERROR=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_MOTD=y
diff --git a/boards/sim/sim/sim/configs/posix_test/defconfig 
b/boards/sim/sim/sim/configs/posix_test/defconfig
index e1f89f739d9..26589a4ebd0 100644
--- a/boards/sim/sim/sim/configs/posix_test/defconfig
+++ b/boards/sim/sim/sim/configs/posix_test/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ALLOW_MIT_COMPONENTS=y
 CONFIG_ALLSYMS=y
 CONFIG_ARCH="sim"
@@ -19,6 +20,9 @@ CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
 CONFIG_CANCELLATION_POINTS=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y
 CONFIG_DEBUG_SYMBOLS=y
@@ -60,6 +64,7 @@ CONFIG_LIBC_PASSWD_FILE=y
 CONFIG_MQ_MAXMSGSIZE=64
 CONFIG_NDEBUG=y
 CONFIG_NET=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_SOCKOPTS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/rc/defconfig 
b/boards/sim/sim/sim/configs/rc/defconfig
index b4a97955037..a68bb3c40e3 100644
--- a/boards/sim/sim/sim/configs/rc/defconfig
+++ b/boards/sim/sim/sim/configs/rc/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_DRIVERS_RC=y
@@ -29,6 +33,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_FLOATINGPOINT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_READLINE=y
diff --git a/boards/sim/sim/sim/configs/romfs/defconfig 
b/boards/sim/sim/sim/configs/romfs/defconfig
index 17e7579f9fc..53583b18488 100644
--- a/boards/sim/sim/sim/configs/romfs/defconfig
+++ b/boards/sim/sim/sim/configs/romfs/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -38,6 +42,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_STRERROR=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/rust/defconfig 
b/boards/sim/sim/sim/configs/rust/defconfig
index c40d8dd6b50..a9691c0ab30 100644
--- a/boards/sim/sim/sim/configs/rust/defconfig
+++ b/boards/sim/sim/sim/configs/rust/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -44,6 +48,7 @@ CONFIG_LIBC_LOCALE=y
 CONFIG_LIBC_LOCALE_CATALOG=y
 CONFIG_LIBC_LOCALE_GETTEXT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/segger/defconfig 
b/boards/sim/sim/sim/configs/segger/defconfig
index 18821221117..27251f3052d 100644
--- a/boards/sim/sim/sim/configs/segger/defconfig
+++ b/boards/sim/sim/sim/configs/segger/defconfig
@@ -7,6 +7,7 @@
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
 # CONFIG_SERIAL_RTT_CONSOLE is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -47,6 +51,7 @@ CONFIG_LIBC_LOCALE=y
 CONFIG_LIBC_LOCALE_CATALOG=y
 CONFIG_LIBC_LOCALE_GETTEXT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NOTE_RTT=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
diff --git a/boards/sim/sim/sim/configs/sensor/defconfig 
b/boards/sim/sim/sim/configs/sensor/defconfig
index b1310c1c653..a33da4926d4 100644
--- a/boards/sim/sim/sim/configs/sensor/defconfig
+++ b/boards/sim/sim/sim/configs/sensor/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_EXAMPLES_HELLO=y
@@ -29,6 +33,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_FLOATINGPOINT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_READLINE=y
diff --git a/boards/sim/sim/sim/configs/smartfs/defconfig 
b/boards/sim/sim/sim/configs/smartfs/defconfig
index 08377bac0e0..d03a09417df 100644
--- a/boards/sim/sim/sim/configs/smartfs/defconfig
+++ b/boards/sim/sim/sim/configs/smartfs/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y
 CONFIG_DEBUG_FS=y
@@ -41,6 +45,7 @@ CONFIG_MTD_M25P=y
 CONFIG_MTD_N25QXXX=y
 CONFIG_MTD_PARTITION=y
 CONFIG_MTD_SMART=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_CONSOLE_LOGIN=y
 CONFIG_NSH_DISABLE_LOSMART=y
diff --git a/boards/sim/sim/sim/configs/sotest/defconfig 
b/boards/sim/sim/sim/configs/sotest/defconfig
index 5c79de61d79..477f12704d9 100644
--- a/boards/sim/sim/sim/configs/sotest/defconfig
+++ b/boards/sim/sim/sim/configs/sotest/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEV_LOOP=y
 CONFIG_EXAMPLES_SOTEST=y
 CONFIG_FSUTILS_PASSWD=y
@@ -35,6 +39,7 @@ CONFIG_NET=y
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/sotest32/defconfig 
b/boards/sim/sim/sim/configs/sotest32/defconfig
index ea21faf6d50..b85ce4a3887 100644
--- a/boards/sim/sim/sim/configs/sotest32/defconfig
+++ b/boards/sim/sim/sim/configs/sotest32/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_ROMDISK=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEV_LOOP=y
 CONFIG_EXAMPLES_SOTEST=y
 CONFIG_FSUTILS_PASSWD=y
@@ -35,6 +39,7 @@ CONFIG_NET=y
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/sqlite/defconfig 
b/boards/sim/sim/sim/configs/sqlite/defconfig
index 766373b3353..a74f0350048 100644
--- a/boards/sim/sim/sim/configs/sqlite/defconfig
+++ b/boards/sim/sim/sim/configs/sqlite/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -15,6 +16,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -40,6 +44,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIB_SQLITE=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_READLINE=y
diff --git a/boards/sim/sim/sim/configs/tcploop/defconfig 
b/boards/sim/sim/sim/configs/tcploop/defconfig
index ab4e6130709..8d6e14ed873 100644
--- a/boards/sim/sim/sim/configs/tcploop/defconfig
+++ b/boards/sim/sim/sim/configs/tcploop/defconfig
@@ -19,6 +19,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -40,6 +43,7 @@ CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_HOSTNAME="IP-Forward"
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_NET=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_IPv6=y
 CONFIG_NET_IPv6_NCONF_ENTRIES=4
 CONFIG_NET_LOOPBACK=y
diff --git a/boards/sim/sim/sim/configs/toywasm/defconfig 
b/boards/sim/sim/sim/configs/toywasm/defconfig
index 36d6a990749..028c0d888f2 100644
--- a/boards/sim/sim/sim/configs/toywasm/defconfig
+++ b/boards/sim/sim/sim/configs/toywasm/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y
 CONFIG_DEBUG_SYMBOLS=y
@@ -41,6 +45,7 @@ CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
 CONFIG_NETINIT_DHCPC=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/userfs/defconfig 
b/boards/sim/sim/sim/configs/userfs/defconfig
index 342b672a033..30d10be64b4 100644
--- a/boards/sim/sim/sim/configs/userfs/defconfig
+++ b/boards/sim/sim/sim/configs/userfs/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_NET_ETHERNET is not set
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
 # CONFIG_NSH_NETINIT is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -17,6 +18,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_LOOP=y
 CONFIG_ETC_FATDEVNO=2
@@ -37,6 +41,7 @@ CONFIG_LIBC_ENVPATH=y
 CONFIG_LIBC_EXECFUNCS=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_NET=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_LOCAL=y
 CONFIG_NET_LOOPBACK=y
 CONFIG_NET_UDP=y
diff --git a/boards/sim/sim/sim/configs/vpnkit/defconfig 
b/boards/sim/sim/sim/configs/vpnkit/defconfig
index 0a88c72ce48..60eb24225ce 100644
--- a/boards/sim/sim/sim/configs/vpnkit/defconfig
+++ b/boards/sim/sim/sim/configs/vpnkit/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y
 CONFIG_DEBUG_SYMBOLS=y
@@ -42,6 +46,7 @@ CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDEV_PHY_IOCTL=y
 CONFIG_NETDOWN_NOTIFIER=y
 CONFIG_NETINIT_DHCPC=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BROADCAST=y
 CONFIG_NET_ICMP_SOCKET=y
 CONFIG_NET_ICMPv6=y
diff --git a/boards/sim/sim/sim/configs/wakaama/defconfig 
b/boards/sim/sim/sim/configs/wakaama/defconfig
index c9b1e86a9c6..095211faf62 100644
--- a/boards/sim/sim/sim/configs/wakaama/defconfig
+++ b/boards/sim/sim/sim/configs/wakaama/defconfig
@@ -8,6 +8,7 @@
 # CONFIG_NET_ETHERNET is not set
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
 # CONFIG_NSH_DISABLE_DATE is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ALLOW_ECLIPSE_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
@@ -19,6 +20,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_CRYPTO_TINYDTLS=y
 CONFIG_DEBUG_ASSERTIONS=y
 CONFIG_DEBUG_FEATURES=y
@@ -41,6 +45,7 @@ CONFIG_INIT_ENTRYPOINT="nsh_main"
 CONFIG_NET=y
 CONFIG_NETDB_DNSCLIENT=y
 CONFIG_NETDB_DNSSERVER_IPv4ADDR=0x08080808
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NETUTILS_WAKAAMA=y
 CONFIG_NETUTILS_WEBCLIENT=y
 CONFIG_NET_USRSOCK_ICMP=y
diff --git a/boards/sim/sim/sim/configs/wamr/defconfig 
b/boards/sim/sim/sim/configs/wamr/defconfig
index 9c59cc357bb..05c67151455 100644
--- a/boards/sim/sim/sim/configs/wamr/defconfig
+++ b/boards/sim/sim/sim/configs/wamr/defconfig
@@ -19,6 +19,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -61,6 +64,7 @@ CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_NUMBERED_ARGS=y
 CONFIG_LIBM=y
 CONFIG_NET=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NET_BINDTODEVICE=y
 CONFIG_NET_SOCKOPTS=y
 CONFIG_NET_TUN=y
diff --git a/boards/sim/sim/sim/configs/zipfs/defconfig 
b/boards/sim/sim/sim/configs/zipfs/defconfig
index cb5d5f05898..9ef98a31226 100644
--- a/boards/sim/sim/sim/configs/zipfs/defconfig
+++ b/boards/sim/sim/sim/configs/zipfs/defconfig
@@ -6,6 +6,7 @@
 # modifications.
 #
 # CONFIG_NSH_CMDOPT_HEXDUMP is not set
+CONFIG_ALLOW_BSD_COMPONENTS=y
 CONFIG_ARCH="sim"
 CONFIG_ARCH_BOARD="sim"
 CONFIG_ARCH_BOARD_SIM=y
@@ -16,6 +17,9 @@ CONFIG_BOARDCTL_POWEROFF=y
 CONFIG_BOARD_LOOPSPERMSEC=0
 CONFIG_BOOT_RUNFROMEXTSRAM=y
 CONFIG_BUILTIN=y
+CONFIG_CODECS_BASE64=y
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_CRYPTODEV=y
 CONFIG_DEBUG_SYMBOLS=y
 CONFIG_DEV_GPIO=y
 CONFIG_DEV_LOOP=y
@@ -48,6 +52,7 @@ CONFIG_LIBC_LOCALE_GETTEXT=y
 CONFIG_LIBC_MAX_EXITFUNS=1
 CONFIG_LIBC_NUMBERED_ARGS=y
 CONFIG_LIB_ZLIB=y
+CONFIG_NETUTILS_CODECS=y
 CONFIG_NSH_BUILTIN_APPS=y
 CONFIG_NSH_FILE_APPS=y
 CONFIG_NSH_MOTD=y
diff --git a/boards/sim/sim/sim/src/etc/group b/boards/sim/sim/sim/src/etc/group
index 1eca6970c9d..f0565ff64b4 100644
--- a/boards/sim/sim/sim/src/etc/group
+++ b/boards/sim/sim/sim/src/etc/group
@@ -1 +1 @@
-root:*:0:root,admin
+root:*:0:root

Reply via email to