Revise the first-boot script to implement a structured approach with 13 numbered steps, allowing for better control over the execution order. Introduce two new one-shot scripts: `01-set-rotation-once.sh` and `02-set-wallpaper-once.sh`, replacing the previous single script approach. Update documentation to reflect these changes, including the new configuration options for enabling/disabling steps and the revised file structure for one-shot scripts. Enhance the dashboard to display first-boot progress, improving user feedback during the initial setup.
Files for the file server
first-boot.sh downloads from .../files/first-boot/ (e.g. http://10.20.50.1:5000/files/first-boot). Put all first-boot assets in a first-boot subfolder of portal-files so provisioning works.
Required files (host under .../files/first-boot/)
| File | Purpose |
|---|---|
| start-chromium.sh | Chromium kiosk launcher (executable). |
| chromium-kiosk.desktop | Autostart entry for the kiosk. |
| splash.png | Boot splash + login + desktop wallpaper (single image). |
| custom.plymouth | Plymouth theme config (from plymouth-custom/). |
| custom.script | Plymouth script that displays splash.png (from plymouth-custom/). |
| 99-wallpaper.conf | LightDM greeter wallpaper (from config-files/). |
| 99-default-session.conf | LightDM default session rpd-labwc (from config-files/). |
| maliit-keyboard.desktop | Maliit on-screen keyboard autostart (from config-files/). |
| 01-set-rotation-once.sh + .desktop | One-shot: wlr-randr rotation (Left) at first login. |
Desktop wallpaper is set once during first-boot via pcmanfm config (first-boot.sh). Optional one-shot: 02-set-wallpaper-once.sh.
What’s in this folder
- plymouth-custom/splash.png — Example splash image; host as
splash.png. - plymouth-custom/custom.plymouth — Plymouth theme definition; host as
custom.plymouth. - plymouth-custom/custom.script — Plymouth script that draws splash.png; host as
custom.script. - lightdm/RPiSystem_dark.png — Unused; only
splash.pngis used now. - start-chromium.sh and chromium-kiosk.desktop live in
cloud-init/andcloud-init/config-files/;scripts/sync-portal-files-to-lxc.shcopies them to the portal first-boot folder. - 01-set-rotation-once.sh, 02-set-wallpaper-once.sh (and their .desktop files) are in
cloud-init/and synced toportal-files/first-boot/by the same script.