fix: move Chromium download to Docker build phase

- Download Chromium from Google snapshots during Docker build (network works there)
- Chroot hook now only verifies and installs runtime dependencies
- Remove generated files from repo (OVMF_VARS.fd, qemu.pid, screenshots)
- Update isotest scripts to use .nogit/ directory structure
- Chromium kiosk verified working with Sway compositor
This commit is contained in:
2026-01-08 16:11:30 +00:00
parent d2a473c2bd
commit 6a5cb3b70c
16 changed files with 180 additions and 83 deletions

View File

@@ -4,10 +4,25 @@
Custom Ubuntu 24.04 LTS ISO that boots into a kiosk mode with:
- **Sway** (Wayland compositor) - managed by the daemon
- **Google Chrome** in kiosk mode - managed by the daemon
- **Chromium Browser** in kiosk mode - managed by the daemon
- **eco-daemon** - Deno binary that orchestrates everything
- **Management UI** on port 3006
## REQUIREMENT: Sway + Chromium Browser
**The system MUST use Chromium browser, NOT Google Chrome.**
### Challenge
Ubuntu 24.04 made `chromium-browser` snap-only. Snap doesn't work in live-build chroot environments.
### Solution
Download Chromium directly from official builds or use Debian's chromium package:
- Option A: Download from https://download-chromium.appspot.com/ (Linux_x64)
- Option B: Use Debian's chromium .deb package from sid/unstable
- Option C: Use ungoogled-chromium from OBS (OpenSUSE Build Service)
The daemon must call `chromium-browser` or `chromium` command.
## CRITICAL: Boot Flow
### GRUB Boot Menu (60s timeout)
@@ -91,8 +106,8 @@ Features:
- All windows forced fullscreen
- Chrome app_id rules for fullscreen
### Chrome Launch
Command: `google-chrome-stable`
### Chromium Launch
Command: `chromium-browser` (or `chromium`)
Flags:
- `--ozone-platform=wayland`
- `--kiosk`
@@ -185,8 +200,8 @@ File: `/etc/NetworkManager/system-connections/wired.nmconnection`
## Troubleshooting
### Chrome Not Starting
1. Check if Chrome is installed: `which google-chrome-stable`
### Chromium Not Starting
1. Check if Chromium is installed: `which chromium-browser`
2. Check hook permissions: `ls -la isobuild/config/hooks/normal/`
3. Rebuild Docker image: `npm run build:docker`
@@ -210,5 +225,5 @@ File: `/etc/NetworkManager/system-connections/wired.nmconnection`
- Base: Ubuntu 24.04 LTS (Noble)
- Kernel: 6.8.0-90
- Sway: From Ubuntu repos
- Chrome: google-chrome-stable from dl.google.com
- Chromium: From Debian sid/unstable or official Chromium builds
- Deno: Latest (for daemon compilation)