Skip to content

Add silent boot setup script for kiosk experience#2669

Open
Alex1981-tech wants to merge 1 commit intoScreenly:masterfrom
Alex1981-tech:feature/silent-boot-setup
Open

Add silent boot setup script for kiosk experience#2669
Alex1981-tech wants to merge 1 commit intoScreenly:masterfrom
Alex1981-tech:feature/silent-boot-setup

Conversation

@Alex1981-tech
Copy link

Summary

Add bin/setup_silent_boot.sh — an idempotent script that configures a Raspberry Pi for silent boot, providing a clean, professional kiosk-like experience for digital signage.

Problem

When Anthias boots on a Raspberry Pi, the user sees:

  • Raspberry Pi rainbow splash screen
  • Kernel boot messages scrolling
  • Login prompt on tty1
  • Blinking cursor

This looks unprofessional for a digital signage deployment.

Solution

The script configures the Pi for a completely clean boot:

  1. Disables rainbow splash and boot delay (config.txt)
  2. Silences kernel output — adds quiet, loglevel=0, logo.nologo, vt.global_cursor_default=0 to cmdline.txt
  3. Redirects console from tty1 to tty3 (not visible on display)
  4. Disables getty@tty1 (no login prompt on screen)
  5. Shows Anthias splash image immediately on boot via fbi + systemd service

Features

  • Idempotent: safe to run multiple times, only patches once (uses a flag file)
  • Auto-detects paths: works on both Pi OS Bookworm (/boot/firmware/) and older (/boot/)
  • Searches for splash image in common locations (~/screenly/static/img/standby.png, etc.)
  • Requires sudo and reboot after first run

Usage

sudo bash bin/setup_silent_boot.sh
sudo reboot

Test plan

  • Run on Pi 4 with Bookworm — verify config.txt and cmdline.txt patched correctly
  • Run again — verify "Already configured, skipping" message
  • Reboot — verify no rainbow, no kernel text, no cursor, splash image appears
  • Verify Anthias starts normally after silent boot

Add bin/setup_silent_boot.sh that configures a Raspberry Pi for
silent boot, eliminating the rainbow splash, kernel messages, login
prompt, and cursor from the display. This provides a clean,
professional kiosk-like boot experience for digital signage.

The script is idempotent (safe to run multiple times) and auto-detects
Pi OS Bookworm vs older path layouts for config.txt and cmdline.txt.

Changes made by the script:
- Disable rainbow splash and boot delay in config.txt
- Add quiet, loglevel=0, logo.nologo to cmdline.txt
- Redirect console from tty1 to tty3
- Disable getty@tty1 login prompt
- Install fbi and create anthias-splash.service that shows
  the standby image on /dev/fb0 immediately on boot

Requires sudo and a reboot after first run.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@Alex1981-tech Alex1981-tech requested a review from a team as a code owner February 15, 2026 07:44
@sonarqubecloud
Copy link

@nicomiguelino
Copy link
Contributor

@Alex1981-tech, thank you for opening a pull request! I will test the changes when I get the chance.
In the meantime, please continue testing your changes.

@Alex1981-tech
Copy link
Author

CI update: The test failure (test_add_asset_url) is a pre-existing flaky Selenium integration test unrelated to this PR — it fails on other PRs as well. No linter issues.

@nicomiguelino
Copy link
Contributor

@Alex1981-tech, thank you for noticing that. I'll keep that in mind.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Contributor

@nicomiguelino nicomiguelino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Alex1981-tech, please don't forget to add a documentation in docs/README.md.

@nicomiguelino
Copy link
Contributor

nicomiguelino commented Feb 23, 2026

@Alex1981-tech, the flaky test will be sorted out in a separate pull request.

@nicomiguelino
Copy link
Contributor

@Alex1981-tech, please rebase your pull requests. The Python tests workflow should now pass.

Copy link
Contributor

@nicomiguelino nicomiguelino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants