# SeniorNet Kiosk — Custom Debian ISO Build a bootable ISO that installs and auto-configures the kiosk app on any machine. ## On Your Workstation (192.168.88.41) ### 1. Clone the repo (if not already done) ```bash git clone https://gitea.jgitta.com/jgitta/senior-kiosk.git cd senior-kiosk ``` ### 2. Build the ISO ```bash sudo ./build-iso.sh ``` This creates: `iso-output/seniornet-kiosk.iso` (~1-2 GB, takes 5-10 min) ## Testing on Production Kiosk (192.168.88.44) ### 1. Write ISO to bootable USB On your workstation with USB connected: ```bash # List devices to find your USB lsblk # Write ISO (replace sdX with your USB device, e.g., sdb) sudo dd if=iso-output/seniornet-kiosk.iso of=/dev/sdX bs=4M status=progress && sync ``` ### 2. Boot from USB - Plug USB into production kiosk - Power on and select USB boot (usually F12, ESC, or DEL during startup) - Installation starts silently (no prompts) ### 3. Wait for installation - Silent Debian installation: ~5-10 minutes - Clones repo, installs dependencies - System reboots automatically ### 4. Verify kiosk is running After reboot, you should see the kiosk home screen with buttons. To check status via SSH: ```bash ssh jgitta@192.168.88.44 journalctl -u kiosk.service -f ``` ## What the ISO Contains - **Debian 13 Trixie** (minimal base) - **Chromium** (system package, not snap) - **Python 3, PyQt5, websocket-client** - **Openbox** (window manager) - **Xvfb** (virtual display) - **Your kiosk app** (cloned from Gitea at install time) - **Auto-boot to kiosk mode** (no desktop login) ## Files - `preseed.cfg` — Debian unattended installer config - `install-kiosk.sh` — Post-install script (runs after Debian install) - `build-iso.sh` — Build script (creates the ISO) ## Troubleshooting **If installation hangs:** - Check network connectivity during install - Gitea must be reachable (or install will use git clone fallback) **If kiosk doesn't start:** ```bash ssh jgitta@192.168.88.44 journalctl -u kiosk.service -20 # View last 20 lines of logs sudo systemctl restart kiosk.service ``` **To access terminal:** - Press Alt+F2 during boot - Log in as `root` (password: `kiosk`) - Run: `/usr/local/bin/kiosk-restart` to restart ## Customization To modify the ISO: 1. Edit `preseed.cfg` (installer config) 2. Edit `install-kiosk.sh` (post-install) 3. Edit `build-iso.sh` (ISO build options) 4. Rebuild: `sudo ./build-iso.sh` ## Distribution Once tested, you can: - Copy `seniornet-kiosk.iso` to USB drives for deployment - Host on web server for download - Share with end users - Any machine can boot and auto-install (no Proxmox needed)