velxio/backend/app/services/boot_images
davidmonterocrespo24 7ee8c54f26 fix(pi3): velxio-init reads stdin from /dev/ttyAMA1 (was /dev/console)
User-reported bug: Pi 3 simulator showed boot output but keyboard
input was ignored — the shell was effectively read-only.

Root cause: velxio-init's bash redirect was `</dev/console
>/dev/console`. From userspace, /dev/console is write-only — it is
the kernel's printk target and accepts writes (so we saw boot output
fine) but reads return EOF / block forever. Bash never saw a
keystroke and the user couldn't type.

Fix: read AND write through /dev/ttyAMA1. The 12 s devtmpfs-wait
already in velxio-init guarantees the device node exists by the
time the shell-respawn loop runs. setsid -c still gives bash a
controlling terminal so PS1, job control, and Ctrl-C all work.

Manifest version bumped to 2026-04-21+ttyAMA1; sidecar SHA check
invalidates the cached SD on every velxio backend so the fix lands
without an operator dance.
2026-05-16 17:01:46 +02:00
..
__init__.py feat(sim): boot_images module + Pi 3 emulation restored 2026-05-16 05:41:46 +02:00
downloader.py feat(sim): boot_images module + Pi 3 emulation restored 2026-05-16 05:41:46 +02:00
errors.py feat(sim): boot_images module + Pi 3 emulation restored 2026-05-16 05:41:46 +02:00
integrity.py feat(sim): boot_images module + Pi 3 emulation restored 2026-05-16 05:41:46 +02:00
manifest.json fix(pi3): velxio-init reads stdin from /dev/ttyAMA1 (was /dev/console) 2026-05-16 17:01:46 +02:00
manifest.py feat(sim): boot_images module + Pi 3 emulation restored 2026-05-16 05:41:46 +02:00
provider.py fix(pi3): show kernel boot + autologin SD + sidecar cache invalidation 2026-05-16 06:23:22 +02:00