Commit Graph

8 Commits

Author SHA1 Message Date
a697925a3f fix(build): Upgrade Python deps + CORS + login endpoint fixes
- Add CORS headers to nginx secubox-proxy.conf for cross-origin API requests
- Fix login.html endpoints: /auth/login -> /login
- Upgrade Python deps in build scripts: pydantic>=2.0, fastapi>=0.100, uvicorn>=0.25
- Add pip upgrade in secubox-core postinst for Debian bookworm compatibility
- Fix display/__init__.py to import existing modules only

Fixes authentication and API issues in VBox and ebin builds.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-28 20:53:40 +02:00
dd384da66a feat(eye-remote): Add display state machine with splash and fallback modes
Display system for Pi Zero Eye Remote (HyperPixel 2.1 Round 480x480):

Splash Screen (splash.py):
- Animated phoenix logo for boot/halt/start/reboot states
- Pulsing glow effects with fire colors
- Progress indicator ring with rotating dots
- Fallback phoenix symbol if logo image missing

Fallback Display Manager (fallback_manager.py):
- Connection state detection (OTG 10.55.0.1, WiFi secubox.local)
- Four modes: OFFLINE, CONNECTING, ONLINE, COMMUNICATING
- Local metrics radar with 6 concentric rings
- 3D rotating cube with module icons when connected
- Rainbow sweep line animation

Touch Analysis Tools:
- touch_analyzer.py: Noise pattern analysis (Y-axis oscillation at stable X)
- touch_calibrate.py: Corner target display for manual calibration
- touch_filter.py: X-stable noise filtering

Radar Variants:
- radar_flashy.py: Vibrant colors with 3D cube
- radar_concentric.py: Balanced metric arcs centered at 12 o'clock
- radar_rainbow.py: Rainbow colorization with sweep
- radar_full.py: Complete feature set

Also includes:
- Hardware Smart-Strip module specs (SBX-STR-01)
- Host configuration for USB OTG network
- Systemd service for USB auto-mode

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-28 14:48:00 +02:00
555600d5dd fix(multiboot): Ensure kernel files are properly copied to EFI partition
- Fix glob pattern in bash test (glob in [[ -f ]] doesn't work correctly)
- Use find command instead of glob for reliable kernel detection
- Add fallback to extract ARM64 kernel from live USB image if not in rootfs
- Add verification step in GitHub Actions to check boot files after build
- Sort kernel files by version to get latest when multiple exist

Fixes missing vmlinuz/Image on multiboot USB issue.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 19:29:09 +02:00
d42745aac3 feat(live-boot): Complete live RAM boot implementation v2.2.4-live
- Install live-boot package and rebuild initramfs with live-boot scripts
- Create squashfs filesystem (878MB) on data partition sda4
- Update boot.scr with live boot parameters (boot=live, toram)
- Fix wiki sidebar links from [[Page|Display]] to [Display](Page)
- Add Eye-Remote wiki page documentation
- Add sync-wiki.sh script for wiki repository sync
- Add patch-multiboot-efi.sh for post-build EFI patching

Partition layout:
- sda1 (512MB): EFI with kernel, initrd, dtbs, boot.scr
- sda2 (3GB): ARM64 rootfs reference
- sda3 (3GB): x86 rootfs for VirtualBox/QEMU
- sda4 (9.5GB): Data + /live/filesystem.squashfs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 13:30:50 +02:00
8a473cc1c2 docs(wiki): Add Multiboot Live OS announcement and documentation
- Add announcement banner on wiki home for v2.2.3 multiboot release
- Create wiki/Multiboot.md with full multiboot documentation
- Add Multiboot and Eye Remote links to sidebar navigation
- Update sidebar version to v2.2.3
- Document Eye Remote Pi Zero as USB gadget for ESPRESSObin boot
- Add partition layout, boot flow, and troubleshooting docs

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 11:22:41 +02:00
6d58ae0ac6 fix(multiboot): Use local deb slipstream instead of apt repo
- Removed apt.secubox.in dependency (not ready)
- Install SecuBox packages from output/debs/ directory
- Handles missing debs gracefully

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 10:40:04 +02:00
494e6def67 fix(multiboot): Fix set -e early exit with [[ ]] && pattern
- Changed [[ -z "$VAR" ]] && err to if/then/fi pattern
- This prevents early exit when condition is false with set -e
- Removed --minimal flag to install full SecuBox packages

Note: SecuBox packages on AMD64 still require apt.secubox.in SSL fix

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 10:39:04 +02:00
5cf69c0ce1 feat(multiboot): Add multi-architecture boot system with shared data
Create a multi-boot storage system for Pi Zero Eye Remote that supports:
- ARM64: ESPRESSObin/MOCHAbin via U-Boot boot.scr
- AMD64: Any x86_64 UEFI system via GRUB
- Shared data: Cross-architecture application data on partition 4

Partition layout (16GB+ recommended):
- P1: EFI/FAT32 (512MB) - Boot files for both architectures
- P2: ext4 (3GB) - ARM64 rootfs
- P3: ext4 (3GB) - AMD64 rootfs
- P4: ext4 (remaining) - Shared SecuBox configs, state, logs

Features:
- Automatic bind mounts for /etc/secubox, /var/lib/secubox, /srv/secubox
- eMMC flasher image included in EFI partition
- Debootstrap-based AMD64 rootfs builder
- U-Boot script with USB/MMC detection

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-27 10:13:31 +02:00