Pulls in `calamares` + `calamares-settings-debian` (the upstream Debian
theme/config package). Calamares runs from the desktop via the
"Install WROLPi to disk" icon: pkexec elevates, the user types the
wrolpi account password, the standard install wizard opens.
The launcher is the upstream install-debian.desktop with Name and
Comment rebranded to "Install WROLPi to disk" / "Install WROLPi onto
this computer's internal drive". We keep the upstream install-debian
wrapper script (it handles xhost + pkexec calamares correctly) and just
override the visible labels.
After the chroot creates the wrolpi user the hook copies the launcher
to /home/wrolpi/Desktop/install-wrolpi.desktop and marks it executable
so XFCE launches it without an "untrusted application" warning.
Behaviour:
Live USB boot XFCE autologs to wrolpi. Install icon visible.
Click → polkit prompts → Calamares wizard.
After install + reboot wrolpi-bootstrap.service sets up Postgres on
/media/wrolpi/config/postgresql/, runs DB init,
starts wrolpi-api / app / kiwix / controller.
Two known phase-3 polish items deferred:
- WROLPi branding for Calamares (logo, colors, slideshow); using stock
Debian branding for now.
- An orphan install-wrolpi.desktop icon survives on the installed
system (Calamares removes calamares-settings-debian, taking
install-debian with it, but not the copy in the user's home). A
Calamares shellprocess will rm it in phase 3.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| config | ||
| files | ||
| build.sh | ||
| README.md | ||
Debian Live Config
Build a bootable amd64 ISO that boots into a full WROLPi system on any x86 PC. Users can run WROLPi directly off the USB (a persistence partition is created on the first boot so the database and media directory survive reboots) or install to disk via the Calamares launcher on the desktop.
The chroot-phase build is identical for both modes; the resulting squashfs is what runs in live mode AND what Calamares copies onto the target disk.
See https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html
Build
sudo ./build.sh # build from 'release' branch
sudo ./build.sh -b master # build from a specific branch
Requires Debian / Ubuntu with live-build installed. The resulting ISO is
written to this directory as WROLPi-v${VERSION}-amd64.iso.
Flash with Etcher, Rufus, Raspberry Pi Imager, or:
sudo dd if=WROLPi-v${VERSION}-amd64.iso of=/dev/sdX bs=4M status=progress conv=fsync
Layout on disk
The drive carries everything WROLPi needs. Postgres data lives alongside the user's library so a drive moved between hosts keeps its full state:
/media/wrolpi/
videos/ ← user-facing media
archives/
zims/
map/
tags/
config/
wrolpi.yaml
controller.yaml
fstab.yaml
ssl/
postgresql/
data/ ← bind-mounted to /var/lib/postgresql
config/ ← bind-mounted to /etc/postgresql
Implementation status
- Phase 1 — merged live + chroot config: Single
debian-live-config/produces a Debian Live ISO with the full WROLPi stack, XFCE auto-login aswrolpi, persistence partition created on first boot. - Phase 2 — Calamares installer: Add
calamarespackage and a desktop launcher so users can install WROLPi to disk. - Phase 3 — branding + release: WROLPi branding for Calamares, CI on tag, hosting, wrolpi.org docs.