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]