### Description
Error while installing on Pi5 64-bit Bowworm Raspberry Pi OS
`β¦``
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β
β @@@@@@@@@ β
β @@@@@@@@@@@@ d8888 888 888 d8b β
β @@@@@@@ @@@ @@ d88888 888 888 Y8P β
β @@@@@@@@@@@@@ @@@ d88P888 888 888 β
β @@@@@@@@@@ @@ @@@@ d88P 888 88888b. 888888 88888b. 888 8888b. .d8888b β
β @@@@@ @@@@@@@@ d88P 888 888 "88b 888 888 "88b 888 "88b 88K β
β @@@%: :@@@@@@@@ d88P 888 888 888 888 888 888 888 .d888888 "Y8888b. β
β @@-:::::::%@@@@@@@ d8888888888 888 888 Y88b. 888 888 888 888 888 X88 β
β @=::::=%@@@@@@@@ d88P 888 888 888 "Y888 888 888 888 "Y888888 88888P' β
β @@@@@@@@@@ β
β β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Anthias runs on a dedicated Raspberry Pi (2/3/4-64-bit/5) or x86 device.
The host will be repurposed for digital signage β on a Pi you lose the
regular desktop environment, and on x86 the machine should not be used
for anything else.
When prompted for the version, you can choose between the following:
β’ latest: Installs the latest version from the master branch.
β’ tag: Installs a pinned version based on the tag name.
Take note that latest is a rolling release.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β User Input Summary β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Manage Network: Yes
Branch/Tag: master
System Upgrade: Yes
Docker Tag Prefix: latest
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Initialize Locales β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Install Packages via APT β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Hit:1 http://deb.debian.org/debian bookworm InRelease
Hit:2 http://deb.debian.org/debian-security bookworm-security InRelease
Hit:3 http://deb.debian.org/debian bookworm-updates InRelease
Hit:4 http://archive.raspberrypi.com/debian bookworm InRelease
Get:5 https://repo.charm.sh/apt * InRelease
Fetched 6,718 B in 2s (4,266 B/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
ca-certificates is already the newest version (20230311+deb12u1).
curl is already the newest version (7.88.1-10+deb12u14).
gettext-base is already the newest version (0.21-12).
gettext-base set to manually installed.
git is already the newest version (1:2.39.5-0+deb12u3).
network-manager is already the newest version (1.42.4-1+rpt1+deb12u1).
Suggested packages:
libssl-doc
The following NEW packages will be installed:
libffi-dev libssl-dev whois
0 upgraded, 3 newly installed, 0 to remove and 15 not upgraded.
Need to get 3,573 kB of archives.
After this operation, 13.7 MB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main arm64 libffi-dev arm64 3.4.4-1 [56.0 kB]
Get:2 http://deb.debian.org/debian bookworm/main arm64 whois arm64 5.5.17 [69.1 kB]
Get:3 http://archive.raspberrypi.com/debian bookworm/main arm64 libssl-dev arm64 3.0.19-1~deb12u2+rpt1 [3,448 kB]
Fetched 3,573 kB in 3s (1,121 kB/s)
Selecting previously unselected package libffi-dev:arm64.
(Reading database ... 130213 files and directories currently installed.)
Preparing to unpack .../libffi-dev_3.4.4-1_arm64.deb ...
Unpacking libffi-dev:arm64 (3.4.4-1) ...
Selecting previously unselected package libssl-dev:arm64.
Preparing to unpack .../libssl-dev_3.0.19-1~deb12u2+rpt1_arm64.deb ...
Unpacking libssl-dev:arm64 (3.0.19-1~deb12u2+rpt1) ...
Selecting previously unselected package whois.
Preparing to unpack .../whois_5.5.17_arm64.deb ...
Unpacking whois (5.5.17) ...
Setting up whois (5.5.17) ...
Setting up libffi-dev:arm64 (3.4.4-1) ...
Setting up libssl-dev:arm64 (3.0.19-1~deb12u2+rpt1) ...
Processing triggers for man-db (2.11.2-2) ...
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Clone Anthias Repository β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Cloning into '/home/salman/anthias'...
remote: Enumerating objects: 25276, done.
remote: Counting objects: 100% (883/883), done.
remote: Compressing objects: 100% (366/366), done.
remote: Total 25276 (delta 727), reused 555 (delta 517), pack-reused 24393 (from 3)
Receiving objects: 100% (25276/25276), 27.72 MiB | 3.84 MiB/s, done.
Resolving deltas: 100% (16655/16655), done.
Already on 'master'
Your branch is up to date with 'origin/master'.
HEAD is now at 6474fbf4 fix(ui): use {% comment %} for multi-line upload-accept note (#2840)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Migrate Legacy 'screenly' Data Paths β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[migrate_legacy_paths] Creating compat symlink /home/salman/screenly -> /home/salman/anthias
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Install uv and host Python dependencies β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
downloading uv 0.9.17 aarch64-unknown-linux-gnu
no checksums to verify
installing to /home/salman/.local/bin
uv
uvx
everything's installed!
To add $HOME/.local/bin to your PATH, either restart your shell or run:
source $HOME/.local/bin/env (sh, bash, zsh)
source $HOME/.local/bin/env.fish (fish)
Using CPython 3.14.2
Creating virtual environment at: installer_venv
Resolved 127 packages in 5.07s
Built pyyaml==6.0.2
Prepared 18 packages in 6.07s
Installed 18 packages in 34ms
+ ansible-core==2.19.9
+ certifi==2026.4.22
+ cffi==2.0.0
+ charset-normalizer==3.4.4
+ cryptography==46.0.7
+ getmac==0.9.5
+ idna==3.13
+ jinja2==3.1.6
+ markupsafe==3.0.3
+ netifaces2==0.0.22
+ packaging==26.1
+ pycparser==2.23
+ pyyaml==6.0.2
+ redis==7.4.0
+ requests==2.33.1
+ resolvelib==1.0.1
+ tenacity==9.1.4
+ urllib3==2.6.3
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Run the Anthias Ansible Playbook β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Note: Ansible may prompt for your sudo password below.
BECOME password:
PLAY [Install Anthias] ****************************************************************************
TASK [Gathering Facts] ****************************************************************************
ok: [localhost]
TASK [Validate required environment variables] ****************************************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}
TASK [system : Configure boot partition (/boot/{config,cmdline}.txt)] *****************************
included: /home/salman/anthias/ansible/roles/system/tasks/boot.yml for localhost
TASK [system : Resolve boot config and cmdline paths] *********************************************
ok: [localhost]
TASK [system : Check NOOBS] ***********************************************************************
ok: [localhost]
TASK [system : Make sure we have proper framebuffer depth] ****************************************
changed: [localhost]
TASK [system : Fix framebuffer bug] ***************************************************************
changed: [localhost]
TASK [system : Add gpu_mem_256 in config.txt if it doesn't exist] *********************************
changed: [localhost]
TASK [system : Add gpu_mem_512 in config.txt if it doesn't exist] *********************************
changed: [localhost]
TASK [system : Add gpu_mem_1024 in config.txt if it doesn't exist] ********************************
changed: [localhost]
TASK [system : Add pi4 section in config.txt if it doesn't exist] *********************************
changed: [localhost]
TASK [system : Uncomment out the original dtoverlay config.] **************************************
ok: [localhost]
TASK [system : Remove the FKMS config for all devices.] *******************************************
ok: [localhost]
TASK [system : Backup kernel boot args] ***********************************************************
changed: [localhost]
TASK [system : Notice for cmdline.txt.orig file] **************************************************
ok: [localhost] => {
"msg": "Use cmdline.txt.orig for boot parameters (don't remove this file)"
}
TASK [system : Copy cmdline.txt.orig to cmdline.txt] **********************************************
ok: [localhost]
TASK [system : For splash screen using Plymouth] **************************************************
ok: [localhost]
TASK [system : Remove blinking cursor] ************************************************************
changed: [localhost]
TASK [system : Plymouth ignore serial consoles] ***************************************************
ok: [localhost]
TASK [system : Use Systemd as init and quiet boot process] ****************************************
changed: [localhost]
TASK [system : Set ethN/wlanN names for interfaces] ***********************************************
changed: [localhost]
TASK [system : Set cgroup_enable required by containerd for OOM] **********************************
changed: [localhost]
TASK [system : Set cgroup_memory required by containerd for OOM] **********************************
changed: [localhost]
TASK [system : Install/remove apt packages] *******************************************************
included: /home/salman/anthias/ansible/roles/system/tasks/packages.yml for localhost
TASK [system : Check if cdefs.h exists] ***********************************************************
skipping: [localhost]
TASK [system : Remove libc6-dev] ******************************************************************
skipping: [localhost]
TASK [system : Install libc6-dev] *****************************************************************
skipping: [localhost]
TASK [system : Install Anthias dependencies] ******************************************************
changed: [localhost]
TASK [system : Remove deprecated apt dependencies] ************************************************
changed: [localhost]
TASK [system : Remove distro Docker packages] *****************************************************
ok: [localhost]
TASK [system : Install and configure Docker] ******************************************************
included: /home/salman/anthias/ansible/roles/system/tasks/docker.yml for localhost
TASK [system : Create keyrings directory] *********************************************************
ok: [localhost]
TASK [system : Add Docker apt key] ****************************************************************
changed: [localhost]
TASK [system : Set system_architecture] ***********************************************************
ok: [localhost]
TASK [system : Add Docker repo] *******************************************************************
changed: [localhost]
TASK [system : Install Docker] ********************************************************************
changed: [localhost]
TASK [system : Ensure required groups exist] ******************************************************
ok: [localhost] => (item=docker)
ok: [localhost] => (item=adm)
ok: [localhost] => (item=sudo)
ok: [localhost] => (item=video)
ok: [localhost] => (item=plugdev)
ok: [localhost] => (item=users)
ok: [localhost] => (item=input)
ok: [localhost] => (item=netdev)
ok: [localhost] => (item=dialout)
ok: [localhost] => (item=gpio)
TASK [system : Ensure Anthias user is in required groups] *****************************************
changed: [localhost]
TASK [system : Configure /etc/timezone] ***********************************************************
included: /home/salman/anthias/ansible/roles/system/tasks/timezone.yml for localhost
TASK [system : Check if /etc/timezone exists] *****************************************************
ok: [localhost]
TASK [system : Resolve /etc/localtime symlink] ****************************************************
skipping: [localhost]
TASK [system : Create /etc/timezone from /etc/localtime] ******************************************
skipping: [localhost]
TASK [system : Apply distribution upgrade] ********************************************************
included: /home/salman/anthias/ansible/roles/system/tasks/dist_upgrade.yml for localhost
TASK [system : Perform system upgrade] ************************************************************
changed: [localhost]
TASK [system : Clean up unused packages] **********************************************************
changed: [localhost]
TASK [system : Miscellaneous host-level config (rc.local, dpkg, swap)] ****************************
included: /home/salman/anthias/ansible/roles/system/tasks/misc.yml for localhost
TASK [system : Install rc.local] ******************************************************************
changed: [localhost]
TASK [system : Install dpkg 01_nodoc filter] ******************************************************
changed: [localhost]
TASK [system : Disable swap] **********************************************************************
changed: [localhost]
TASK [system : Remove swapfile from disk] *********************************************************
changed: [localhost]
TASK [anthias : Ensure folders exist] *************************************************************
changed: [localhost] => (item=.anthias)
ok: [localhost] => (item=.config)
changed: [localhost] => (item=anthias_assets)
TASK [anthias : Create empty .asoundrc] ***********************************************************
changed: [localhost]
TASK [anthias : Copy Anthias default assets file] *************************************************
changed: [localhost]
TASK [anthias : Remove deprecated parameter "listen"] *********************************************
ok: [localhost]
TASK [anthias : Verify uv is installed for salman] ************************************************
ok: [localhost]
TASK [anthias : Assert uv is present] *************************************************************
ok: [localhost] => {
"changed": false,
"msg": "All assertions passed"
}
TASK [anthias : Sync host pip dependencies via uv] ************************************************
[ERROR]: Task failed: Action failed: Module result deserialization failed: Unknown profile name 'module_legacy_m2c'.
Task failed: Action failed.
Origin: /home/salman/anthias/ansible/roles/anthias/tasks/main.yml:58:3
56 as the {{ anthias_user }} user.
57
58 - name: Sync host pip dependencies via uv
^ column 3
<<< caused by >>>
Module result deserialization failed: Unknown profile name 'module_legacy_m2c'. See stdout/stderr for the returned output.
fatal: [localhost]: FAILED! => {"changed": false, "changed_when_result": "Error while evaluating conditional: object of type 'dict' has no attribute 'stderr'", "module_stderr": "", "module_stdout": "\n{\"changed\": true, \"stdout\": \"\", \"stderr\": \"Downloading cpython-3.13.11-linux-aarch64-gnu (download) (27.3MiB)\\n Downloaded cpython-3.13.11-linux-aarch64-gnu (download)\\nUsing CPython 3.13.11\\nerror: failed to remove directory `/home/salman/installer_venv/lib`: Permission denied (os error 13)\", \"rc\": 2, \"cmd\": [\"/home/salman/.local/bin/uv\", \"sync\", \"--no-default-groups\", \"--group\", \"host\", \"--no-install-project\"], \"start\": \"2026-05-08 00:54:20.028751\", \"end\": \"2026-05-08 00:54:28.926122\", \"delta\": \"0:00:08.897371\", \"failed\": true, \"msg\": \"non-zero return code\", \"invocation\": {\"module_args\": {\"chdir\": \"/home/salman/anthias\", \"cmd\": \"/home/salman/.local/bin/uv sync\\n --no-default-groups\\n --group host\\n --no-install-project\", \"_uses_shell\": false, \"expand_argument_vars\": true, \"stdin_add_newline\": true, \"strip_empty_ends\": true, \"_raw_params\": null, \"argv\": null, \"executable\": null, \"creates\": null, \"removes\": null, \"stdin\": null}}}\n", "msg": "Module result deserialization failed: Unknown profile name 'module_legacy_m2c'.", "rc": 1}
PLAY RECAP ****************************************************************************************
localhost : ok=51 changed=27 unreachable=0 failed=1 skipped=5 rescued=0 ignored=0
salman@pi5:~ $
```
**Error only**
```
TASK [anthias : Sync host pip dependencies via uv] ************************************************
[ERROR]: Task failed: Action failed: Module result deserialization failed: Unknown profile name 'module_legacy_m2c'.
Task failed: Action failed.
Origin: /home/salman/anthias/ansible/roles/anthias/tasks/main.yml:58:3
56 as the {{ anthias_user }} user.
57
58 - name: Sync host pip dependencies via uv
^ column 3
<<< caused by >>>
Module result deserialization failed: Unknown profile name 'module_legacy_m2c'. See stdout/stderr for the returned output.
fatal: [localhost]: FAILED! => {"changed": false, "changed_when_result": "Error while evaluating conditional: object of type 'dict' has no attribute 'stderr'", "module_stderr": "", "module_stdout": "\n{\"changed\": true, \"stdout\": \"\", \"stderr\": \"Downloading cpython-3.13.11-linux-aarch64-gnu (download) (27.3MiB)\\n Downloaded cpython-3.13.11-linux-aarch64-gnu (download)\\nUsing CPython 3.13.11\\nerror: failed to remove directory `/home/salman/installer_venv/lib`: Permission denied (os error 13)\", \"rc\": 2, \"cmd\": [\"/home/salman/.local/bin/uv\", \"sync\", \"--no-default-groups\", \"--group\", \"host\", \"--no-install-project\"], \"start\": \"2026-05-08 00:54:20.028751\", \"end\": \"2026-05-08 00:54:28.926122\", \"delta\": \"0:00:08.897371\", \"failed\": true, \"msg\": \"non-zero return code\", \"invocation\": {\"module_args\": {\"chdir\": \"/home/salman/anthias\", \"cmd\": \"/home/salman/.local/bin/uv sync\\n --no-default-groups\\n --group host\\n --no-install-project\", \"_uses_shell\": false, \"expand_argument_vars\": true, \"stdin_add_newline\": true, \"strip_empty_ends\": true, \"_raw_params\": null, \"argv\": null, \"executable\": null, \"creates\": null, \"removes\": null, \"stdin\": null}}}\n", "msg": "Module result deserialization failed: Unknown profile name 'module_legacy_m2c'.", "rc": 1}
PLAY RECAP ****************************************************************************************
localhost : ok=51 changed=27 unreachable=0 failed=1 skipped=5 rescued=0 ignored=0
```
### Steps to Reproduce
Steps to reproduce the behavior:
1. Use Bookwork on Pi5
2. run Anthias installer Script
4. See error
### Environment
- Device: Raspberry Pi 5,
- OS: Raspberry Pi OS 64-bit Bookworm
- Anthias Version:
- Installation Method: Manual Installation