nuttx/tools
Abhishek Mishra ab6b1fd6f9 !build: add build-time password generation with mkpasswd tool.
Introduce mkpasswd, a pure-C host tool for generating encrypted password
files at build time using TEA encryption. This enables secure,
credential-free firmware images while allowing build-time password
configuration.

Changes:
* Add mkpasswd.c host tool for TEA-based password hashing and encryption
* Integrate mkpasswd into Make build system (tools/Makefile.host)
* Add CMake support for mkpasswd compilation and ROMFS passwd generation
* Add CONFIG_BOARD_ETC_ROMFS_PASSWD_* configuration options to Kconfig
* Implement credential exclusion from defconfig to prevent password leaking
* Update savedefconfig.cmake to strip sensitive credentials
* Fix mkdir() portability for Windows Native builds (CONFIG_WINDOWS_NATIVE)
* Change default username from "admin" to "root" (POSIX convention)
* Improve build-failure error message with full menuconfig navigation path

BREAKING CHANGE: Boards enabling CONFIG_BOARD_ETC_ROMFS_PASSWD_ENABLE
must set CONFIG_BOARD_ETC_ROMFS_PASSWD_PASSWORD to a non-empty string
of at least 8 characters. The build now fails with an explicit error if
this config is left empty. To fix: run 'make menuconfig' and navigate to:
  Board Selection --->
    Auto-generate /etc/passwd at build time --->
      Admin password

Signed-off-by: Abhishek Mishra <mishra.abhishek2808@gmail.com>
2026-04-14 16:06:30 +08:00
..
bcm2711 arch/bcm2711, boards/raspberry-pi-4b: Add preliminary support for the BCM2711 and Raspberry Pi 4B. 2024-12-17 16:43:17 +08:00
bl602 Documentation/bl602: Update some imformation; Add partition.toml in tool/bl602 2021-07-27 21:01:15 -07:00
ci tools/ci: Added esptool for Windows Native 2026-04-13 23:55:10 +08:00
codeowners docs/codeowners: Add preliminary code owner file 2025-09-05 19:53:06 -04:00
cxd56 fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
esp32 espressif: automate build system for flash enc 2025-12-11 11:29:26 +01:00
esp32c3 tools/espressif: add esptool version check to Espressif build system 2024-10-15 20:42:57 +02:00
esp32s2 espressif: automate build system for flash enc 2025-12-11 11:29:26 +01:00
esp32s3 espressif: automate build system for flash enc 2025-12-11 11:29:26 +01:00
espressif arch/espressif: add flash encryption support on CMake 2026-04-02 13:16:54 +08:00
imx9 arch/arm64/imx9: Support for imx9 edgelock enclave 2025-03-17 21:35:25 +02:00
licensing tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
lwl docs/guides/lwl: move lwl's README.txt to lwl.rst 2025-12-23 15:20:06 +01:00
mpfs tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
nix tools/nix: move nix flakes to tools/ 2025-08-28 10:04:01 +08:00
pic32 tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
pynuttx nxgdb: change the symbol g_statenames to nxsched_get_stateinfo::g_statenames 2026-03-02 08:06:18 -03:00
rp23xx tools/rp{2040,23xx}: Ensure that picotool is found or built 2025-08-22 00:30:28 +08:00
rp2040 style: Fix case statement formatting in power management callbacks. 2026-01-10 12:59:14 -03:00
simwifi fix(udhcpc): missing interface name in log message 2025-05-05 09:32:31 +08:00
zds style: Fix "the the" typo across the codebase. 2026-03-23 11:07:49 +01:00
.gitignore !build: add build-time password generation with mkpasswd tool. 2026-04-14 16:06:30 +08:00
abi_check.py abi_check.py:Check ABI compatibility between different ELF versions. 2026-01-28 18:32:39 +01:00
b16.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
bdf-converter.c tools/bdf-converter: Fix loop termination condition. 2025-03-18 10:12:23 -03:00
btdecode.sh arch/risc-v/espressif/esp32p4: Support ESP32-P4 on NuttX 2026-03-09 21:40:25 +01:00
build-globals.sh libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
callstack.py tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
cfgdefine.c libc/elf: rename modlib to libelf 2025-04-11 09:43:22 +08:00
cfgdefine.h tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
cfgparser.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
cfgparser.h tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
checkkconfig.py tools[feat]: add config check tool 2026-01-14 17:50:18 +01:00
checkpatch.sh tools/checkpatch.sh: Enhance stdin support for patch checking 2026-03-09 11:08:52 +08:00
checkrelease.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
CMakeLists.txt tools/CMakeLists.txt: Improvements to CMakeLists.txt file 2025-05-17 16:09:20 +08:00
cmpconfig.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
cnvwindeps.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
Config.mk build/cmake/stdlib: guard include/cxx by LIBMINIABI, fix div_t conflict 2026-03-29 16:45:29 -03:00
configure.bat tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
configure.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
configure.sh tools/configure.sh: align tools/configure.sh with CmakeLists.txt 2025-09-05 09:50:11 +08:00
configure_completion.bash tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
convert-comments.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
copydir.bat style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
copydir.sh style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
coredump.py coredump.py:bug fix python file not have rename 2024-10-30 12:29:22 +08:00
csvparser.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
csvparser.h tools/mksyscall: fix 106: Unexpected end of line: "FAR char * co" 2025-03-08 12:39:24 +08:00
D.defs debug symbol level: Use config instead 2024-12-04 22:36:45 +08:00
define.bat style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
define.sh style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
detab.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
Directories.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
discover.py tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
doreleasenotes.py tools/doreleasenotes: remove deprecater API 2025-05-27 20:34:54 +08:00
Export.mk tools: Export LLVM flags for kernel build 2025-01-26 20:22:35 +08:00
find_symbol_callers.sh toos/scipts: add script to find symbol caller 2025-12-31 08:47:23 -03:00
flash_writer.py fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
FlatLibs.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
gcov.py gcov: Refactoring the implementation framework of gcov 2025-07-03 00:17:58 +08:00
gdbserver.py gdbserver.py:add x86_64 arch 2026-01-24 23:31:43 +08:00
gencromfs.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
host_info_dump.py tools: fix make host_info flag parsing and config string escaping 2026-02-05 14:23:19 +01:00
host_info_parse.py tools: fix make host_info flag parsing and config string escaping 2026-02-05 14:23:19 +01:00
ide_exporter.py tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
incdir.bat tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
incdir.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
incdir.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
indent.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
initialconfig.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
jlink-nuttx.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
kasan_global.py kasan/globals: fix compile error 2024-12-05 20:37:47 +08:00
kconfig.bat tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
kconfig2html.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
KernelLibs.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
LibTargets.mk clang:libclang_rt.builtins-xxx.a supports builtin 2024-10-28 16:38:45 +08:00
link.bat tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
link.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
lowhex.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
macar-qcs.sh tools/macar-qcs.sh: migrate license to ASF 2024-12-16 14:14:55 +08:00
Make.defs tools: Rename apps-or-nuttx-Make.defs to Make.defs 2024-10-17 07:55:02 +08:00
Makefile.host !build: add build-time password generation with mkpasswd tool. 2026-04-14 16:06:30 +08:00
merge_config.py install kconfiglib using apt repo 2024-12-02 13:43:29 +08:00
mkallsyms.py tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkallsyms.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkconfig.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkconfigvars.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkctags.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkdeps.c tools/mkdeps: increase MAX_BUFFER from 16384 to 65536 2024-10-31 08:55:07 +08:00
mkexport.sh build/export: Fix missing gnu-elf.ld copy and toolchain script. 2025-09-14 10:44:51 +08:00
mkfsdata.pl tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkfsdata.py style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mknulldeps.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkpasswd.c !build: add build-time password generation with mkpasswd tool. 2026-04-14 16:06:30 +08:00
mkromfsimg.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mksymtab.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mksyscall.c tools/mksyscall: fix union illegal type for cast 2026-04-08 18:38:39 +08:00
mkversion.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
mkwindeps.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
netusb.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
noteinfo.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
nxstyle.c style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
nxtagspkgsfetch.sh tools/nxtagspkgsfetch.sh: Fetch tags packages for NuttX and Apps. 2025-12-17 08:12:44 -03:00
parsecallstack.py tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
parsememdump.py mm: dump node overheadp during memdump 2024-11-25 00:42:34 +08:00
parsetrace.py tools/parsetrace.py: Fix get_typesize bug in parsetrace.py 2026-01-26 23:22:41 +01:00
pre-commit tools: add git pre-commit hook based on checkpatch.sh 2023-05-03 14:42:34 +02:00
process_config.py cmake(enhance):include-style defconfig can modified via menuconfig 2026-01-15 15:42:17 -03:00
process_config.sh tools/process_config.sh: Fix sed errors 2025-07-03 09:41:56 -03:00
ProtectedLibs.mk libbuitin/compiler_rt: Supports separate builtin rt.builtins or rt.profile 2024-11-12 16:12:53 +08:00
refresh.sh tools: Modify refresh.sh to support update all configs from a board 2025-06-21 04:21:10 +08:00
rmcr.c tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
Rust.defs tools/Rust.defs: Use 'gnu' target for Linux and 'darwin' for macOS 2025-01-28 16:43:37 +08:00
sethost.sh CI: Improved speed to build nuttx on MSYS2 job 2025-03-26 22:35:19 +08:00
showsize.sh tools/showsize.sh: support pass custom nuttx executable 2024-10-13 02:11:12 +08:00
simbridge.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
simhostroute.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
simlaunch.sh sim:support sim elf and dynamic libs package in post build 2024-11-06 01:56:44 +08:00
size_report.py fix: TreeNode has same attribute with NodeMixin 2023-10-09 17:51:01 -04:00
splashscreen_converter.py drivers/video/fb.c: Add startup splashscreen option 2025-04-30 06:38:05 -03:00
stackusage.py tools/stackusage.py: use toolchain binaries instead of Python libraries 2026-03-17 11:26:44 -03:00
stm32_pinmap_tool.py fix misspelled names in locally scoped code 2025-05-15 10:12:12 +08:00
Swift.defs debug symbol level: Use config instead 2024-12-04 22:36:45 +08:00
testbuild.ps1 tools/ci: Added esptool for Windows Native 2026-04-13 23:55:10 +08:00
testbuild.sh tools/testbuild.sh: Added a break to the dotest Blacklist and CMake loop 2026-03-17 10:28:48 +08:00
toolchain.cmake.export arch/crt0.c: revert entry _start 2025-12-10 19:06:04 +08:00
uncrustify.cfg style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
Unix.mk !build: add build-time password generation with mkpasswd tool. 2026-04-14 16:06:30 +08:00
unlink.bat tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
unlink.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
version.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
Win.mk libc: add support for C23 stdbit.h with bit manipulation macros 2026-03-02 09:09:40 -03:00
xmlrpc_test.py tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
Zig.defs tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00
zipme.sh tools: migrate to SPDX identifier 2024-09-10 23:11:11 +08:00