Changes for new version of Fenrir and extended speech customization options.
This commit is contained in:
1 parent
d41a531b9d
commit
c7f21c9234
10 files changed
+149
-59
No files matched your search
+16
-3
@@ -70,9 +70,11 @@ Rebuild after pulling so your custom image inherits any upstream fixes (new pack
|
||||
```bash
|
||||
xzcat stormux-rpi4-5-aarch64-*.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
|
||||
```
|
||||
3. Insert the card into your Raspberry Pi and power it on. You should hear Fenrir start speaking once the user session loads.
|
||||
4. Log in using the default credentials (username `stormux`, password `stormux`). Root uses `root`/`root` until you change it.
|
||||
5. Run `sudo configure-stormux` (or follow the automatic prompt) to finish the guided setup: configure networking via `nmtui`, update the clock, optionally resize the SD card with `growpartfs`, and toggle Fenrir’s layout.
|
||||
3. Insert the card into your Raspberry Pi and power it on. The first boot automatically logs in on tty1 and starts guided setup.
|
||||
4. Setup calibrates volume, offers the default speech-engine selector, and speaks the laptop-layout question using the selected engine. Enter or N selects desktop layout; Y selects laptop layout. Fenrir stays stopped until these choices are complete.
|
||||
5. Setup updates `[keyboard] layout` in `/etc/fenrirscreenreader/settings/settings.toml`, preserving comments, and validates the edited settings with `fenrir --check-config` before replacing the original. It then starts Fenrir and presents the welcome prompt.
|
||||
6. Continue with the Pi-specific setup: display and I38 startup choices, optional SD-card resizing, networking via `nmtui`, and the clock/timezone. Fenrir is enabled for later boots unless you choose to disable console speech when I38 starts at boot.
|
||||
7. After first-boot setup, log in using the default credentials (username `stormux`, password `stormux`). Root uses `root`/`root` until you change it. If setup is interrupted, run `sudo configure-stormux` to continue.
|
||||
|
||||
## Testing Without Hardware
|
||||
You can boot the image in a container to verify services before flashing:
|
||||
@@ -82,6 +84,17 @@ sudo systemd-nspawn -i stormux-rpi4-5-aarch64-*.img --boot
|
||||
```
|
||||
Use `machinectl` to connect to the console and ensure critical services start. For unit files you edit, run `systemd-analyze verify path/to/unit` inside the container or the Pi.
|
||||
|
||||
### Focused Setup Checks
|
||||
|
||||
From the repository root, run:
|
||||
```bash
|
||||
python3 pi4/tests/test-first-boot-fenrir-setup.py
|
||||
bash tests/test-select-speech-module.sh
|
||||
shellcheck pi4/build/build-stormux.sh pi4/files/etc/profile.d/stormux_first_boot.sh pi4/files/usr/local/bin/configure-stormux
|
||||
```
|
||||
|
||||
For acceptance, boot a rebuilt image on a Pi. Confirm that volume calibration comes first, voice previews work with Up/Down, Enter accepts the engine, Escape keeps the previous engine, and the laptop question uses the selected voice. Test desktop (Enter or N) and laptop (Y) bindings and confirm Fenrir starts once after the choice. Exercise both connected and headless display setup, I38 boot with console Fenrir enabled and disabled, SD-card resize accepted and declined, and setup with and without networking. Reboot after completing setup to check voice/layout persistence, the selected console/I38 startup behavior, and removal of temporary autologin/passwordless sudo. Automated checks and container boots do not establish audible speech, physical keyboard behavior, or real Pi boot acceptance.
|
||||
|
||||
## Troubleshooting Tips
|
||||
- **Locale or package errors**: Ensure your host’s pacman keyring is up to date (`sudo pacman -Sy archlinux-keyring`).
|
||||
- **Loop device cleanup**: After failures run `sudo losetup -a` to find stray devices, then `sudo losetup -d /dev/loopX`.
|
||||
|
||||
@@ -570,6 +570,8 @@ echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
|
||||
echo stormux > /etc/hostname
|
||||
# Configure services
|
||||
systemctl disable systemd-networkd.service systemd-networkd.socket
|
||||
# First-login setup starts Fenrir after volume, voice, and layout selection.
|
||||
systemctl disable fenrirscreenreader.service
|
||||
# Enable services
|
||||
services=(
|
||||
brltty.path
|
||||
|
||||
Reference in new issue
Block a user