2.6 KiB
2.6 KiB
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)
git clone https://gitea.jgitta.com/jgitta/senior-kiosk.git
cd senior-kiosk
2. Build the ISO
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:
# 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:
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 configinstall-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:
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-restartto restart
Customization
To modify the ISO:
- Edit
preseed.cfg(installer config) - Edit
install-kiosk.sh(post-install) - Edit
build-iso.sh(ISO build options) - Rebuild:
sudo ./build-iso.sh
Distribution
Once tested, you can:
- Copy
seniornet-kiosk.isoto USB drives for deployment - Host on web server for download
- Share with end users
- Any machine can boot and auto-install (no Proxmox needed)