Switch musicdolphin from a Pi 4 to a Pi 5

The SD card moves over as is, so:
- pi_standard_setup can install the Pi 5 kernel (linux-image-rpi-2712, an arm64
  package on the armhf userland), which a Pi 4 image lacks. Opt-in via
  pi_standard_setup_install_pi5_kernel.
- The Pi is powered through the HiFiBerry board's GPIO header, so it cannot negotiate
  a 5A supply and would cap USB at 600mA. pi_hifiberry_amp sets
  usb_max_current_enable=1 when hifiberry_powers_pi is true (default false).
- The DHT22 poller is off: Adafruit_DHT bit-bangs BCM283x registers, which the Pi 5
  no longer has (GPIO sits behind the RP1 chip).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-21 12:17:53 +02:00
parent ed7b14dcbb
commit f434429dd1
6 changed files with 38 additions and 2 deletions

View File

@@ -3,4 +3,7 @@
Deactivates the Pi's onboard analog audio and activates a HiFiBerry
amp/DAC overlay instead.
**Key vars:** `hifiberry_overlay`
**Key vars:** `hifiberry_overlay`, `hifiberry_powers_pi`
`hifiberry_powers_pi` (default `false`) is for a Pi fed through the HiFiBerry board's
GPIO header. On a Pi 5 that sets `usb_max_current_enable=1`, or USB is capped at 600mA.

View File

@@ -0,0 +1,2 @@
---
hifiberry_powers_pi: false

View File

@@ -11,3 +11,13 @@
regexp: "^#?dtoverlay=hifiberry-amp"
line: "dtoverlay={{ hifiberry_overlay }}"
notify: Reboot
- name: Lift the Pi 5's USB current cap when the HiFiBerry board powers it
# A Pi 5 fed over the GPIO header has no USB-C power negotiation, so it assumes a
# weak supply and limits USB ports to 600mA. Unknown to a Pi 4, which ignores it.
ansible.builtin.lineinfile:
path: /boot/firmware/config.txt
regexp: "^#?usb_max_current_enable="
line: "usb_max_current_enable=1"
insertafter: EOF
when: hifiberry_powers_pi
notify: Reboot

View File

@@ -9,3 +9,8 @@ pi_standard_setup_wifi_pass_url: "bauer_wifi" # has to be in keepass with url "w
ansible_ssh_pass: "raspberry"
ansible_become_password: "raspberry"
ansible_become: true
# Install the Pi 5 (BCM2712) kernel, kernel_2712.img (an arm64 package, hence the :arm64 on
# the armhf userland). A card imaged on a Pi 4 does not have
# it, and a Pi 5 will not boot without. Harmless on a Pi 4, which keeps its own kernel.
pi_standard_setup_install_pi5_kernel: false

View File

@@ -115,6 +115,13 @@
- telnet
cache_valid_time: 7200
state: present
- name: Install the Pi 5 kernel
ansible.builtin.apt:
name: "linux-image-rpi-2712:arm64"
cache_valid_time: 7200
state: present
when: pi_standard_setup_install_pi5_kernel
notify: Reboot
- name: Copy vim config
ansible.builtin.copy:
src: vimrc