refactor(deploy): share UP Board serial hardware between installed + live ISO
The sintra live ISO (live.nix) had no serial support — ftdi_sio and the ttyJ5/ttyJ7 udev symlinks were only in hardware/upboard.nix (installed), so booting iso-sintra on real hardware failed on the validator + F56 dispenser while the disk image worked. The two definitions had already drifted (live's tejo block lacked ttyS4). Extract the UP Board serial peripherals (usbserial/ftdi_sio/cp210x, the ttyJ4/ttyJ5/ttyJ7 udev symlinks + permissions, console=tty0) into hardware/upboard-serial.nix and import it from both upboard.nix (installed tejo + sintra) and live.nix (sintra only). Single source of truth — the two artifacts can't drift again. Named upboard-serial (not sintra-serial) since upboard.nix serves both tejo-installed and sintra-installed. Camera + LED/SPI rules stay inline in upboard.nix (installed-specific; the pairing camera works via getUserMedia without the scanner symlink). Verified by eval: live sintra now carries ftdi_sio + console=tty0 + ttyJ7; installed sintra/tejo unchanged (serial present, camera present, no console dupe). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c8745addbc
commit
7e90719508
3 changed files with 75 additions and 45 deletions
|
|
@ -48,7 +48,12 @@ in
|
|||
|
||||
# Reuse ATM systemd service module
|
||||
./bitspire-atm.nix
|
||||
];
|
||||
]
|
||||
# Sintra: share the UP Board serial hardware (validator/dispenser/printer
|
||||
# modules + udev symlinks + console=tty0) with the installed image so the
|
||||
# live ISO drives the same hardware. Safe to import here — unlike upboard.nix
|
||||
# it declares no fileSystems, so there's no live-boot mount conflict.
|
||||
++ lib.optionals (machineModel == "sintra") [ ./hardware/upboard-serial.nix ];
|
||||
|
||||
# ISO image settings
|
||||
image.fileName = "bitspire-${machineModel}-live.iso";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue