FelipeMdeO opened a new pull request, #19483:
URL: https://github.com/apache/nuttx/pull/19483

   ## Summary
   
   Adds a new `stm32f746g-disco:dropbear` board config providing an interactive
   NSH shell over SSH on the board's on-board Ethernet, following the same
   pattern as `sim:dropbear` and `esp32c3-devkit:dropbear`.
   
   The password file and Dropbear's ECDSA host key are persisted on the board's
   on-board Micron N25Q QSPI NOR flash (mounted as LittleFS at `/data`) instead
   of RAM, so provisioned users and the host key survive a reset.
   
   Two issues were found and fixed along the way:
   - NXFFS does not implement `rename()`, which broke Dropbear's host key
     generation (write `.tmp` + rename). Added a LittleFS mount option to the
     N25Q QSPI driver, mirroring the existing toggle already used by the
     sibling `stm32_w25q.c` driver.
   
   ## Impact
   
   New board config, one driver enhancement (backwards compatible, gated by
   Kconfig), and documentation. No changes to existing configs.
   `make savedefconfig` round-trips clean against the committed defconfig.
   
   ## Testing
   
   Build host: Ubuntu Linux x86_64, GCC (arm-none-eabi 13.2.1)
   Target: `stm32f746g-disco:dropbear`, real hardware (STM32F746G-DISCO,
   on-board ST-LINK/V2-1, Ethernet cable to a router)
   
   Clean boot, host key generated and persisted on the LittleFS partition:
   ```
   nsh> mount
   /data type littlefs
   /proc type procfs
   nsh> ls /data
   /data:
   .
   ..
   dropbear_ecdsa_host_key
   ```
   
   
   
   `useradd` and the resulting persisted passwd file:
   ```
   nsh> useradd felipe Testpass123
   nsh> cat /data/passwd
   felipe:wXj576zZRWsI+fOfkq1P9C:0:0:/
   ```
   
   
   
   Interactive SSH session (password auth) over the board's DHCP address.
   ```
   [email protected]'s password:
   Authenticated to 192.168.15.155 (192.168.15.155:2222) using "password".
   nsh> ls
   /:
   dev/
   proc/
   tmp/
   var/
   nsh> ps
   TID   PID  PPID PRI POLICY   TYPE    NPX STATE    EVENT     ...
   5     4     3 100 RR       Task      - Running            ...
   ```
   
   
   
   Reboot persistence (the point of moving off tmpfs) — board reset, no
   `useradd` re-run, same user/password still works:
   ```
   nsh> cat /data/passwd
   felipe:wXj576zZRWsI+fOfkq1P9C:0:0:/
   ```
   


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

To unsubscribe, e-mail: [email protected]

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

Reply via email to