smartgic.prepi
Ansible Rolle: Prepi
Diese Ansible-Rolle wird einige Konfigurationen anwenden, um die beste Leistung von einer Raspberry Pi 4B Platine und späteren Modellen zu erhalten.
prepi
steht für "Prepare Raspberry Pi" (Raspberry Pi vorbereiten).
Zuerst eine wichtige Warnung: Du bist verantwortlich für die Entscheidungen, die mit dieser Rolle getroffen werden. Du entscheidest, welche Firmware[1] und welche EEPROM[2] du verwenden möchtest. Die gleiche Regel gilt für die Übertaktungs[3]-Funktion. Denke daran, dass Übertaktung ein adäquates aktives Kühlsystem erfordert.
Diese Rolle führt die folgenden Aufgaben aus (je nach deinen Wünschen):
- Aktualisiere das Raspberry Pi OS auf die neueste Version
- Füge das Debian Backports Repository hinzu (anpassbar)
- Aktualisiere die Firmware mit dem
next
-Zweig, der Kernel 5.10 und die neueste Firmware bereitstellt (anpassbar) - Aktualisiere das EEPROM mit der
beta
-Version, die neue Funktionen bietet (anpassbar) - Setze
initial_turbo
, um den Bootvorgang zu beschleunigen - Übertakte den Raspberry Pi auf 2Ghz (anpassbar)
- Montiere
/tmp
auf einem RAMDisk - Optimiere die Mount-Optionen für die
/
Partition, um das Lesen/Schreiben auf der SD-Karte zu verbessern - Verwalte I2C-, SPI- und UART-Schnittstellen (anpassbar)
- Setze den CPU-Governor auf
performance
, um Kontextwechsel zwischen denidle*
Kernel-Funktionen zu vermeiden (anpassbar) - Installiere und konfiguriere PulseAudio (nicht systemweit) (anpassbar)
- Starte den Raspberry Pi neu, wenn neue Firmware oder EEPROM installiert werden (anpassbar)
Diese Rolle wurde auf einem Raspberry Pi 4B mit Raspberry Pi OS 64-bit entwickelt.
Bitte lies die untenstehenden Dokumentationslinks, bevor du Entscheidungen triffst.
- [1] https://www.raspberrypi.com/documentation/computers/os.html#rpi-update
- [2] https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#raspberry-pi-4-boot-eeprom
- [3] https://www.raspberrypi.com/documentation/computers/config_txt.html#overclocking-options
Anforderungen
- Raspberry Pi 4B Platine oder neuer
- Raspberry Pi OS 64-bit (erforderlich für Platinen mit mehr als 4GB RAM)
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit den Standardwerten (siehe defaults/main.yml
):
---
# Systembenutzer, der zur Systemgruppe wie gpio, audio usw. hinzugefügt werden soll...
prepi_pi_user: pi
# Setze den Raspberry Pi Hostnamen
prepi_hostname: smartgic-pi4b8-13
# Setze den CPU-Governor
# - ondemand (weniger Stromverbrauch, aber weniger Leistung)
# - performance (mehr Stromverbrauch, aber mehr Leistung)
prepi_cpu_governor: performance
# Verwende schnelle DNS-Nameserver (CloudFlare und Google)
# Beachte, dass diese Änderungen überschrieben werden, wenn du einen DHCP-Server verwendest
prepi_nameservers:
- 1.1.1.1
- 8.8.8.8
# Firmware aktualisieren
prepi_firmware_update: yes
# Welchen Firmware-Zweig verwenden
# - master (stabil)
# - next (neuste Firmware und Kernel)
prepi_firmware_branch: next
# Welche EEPROM-Version verwenden
# - critical (selten aktualisiert)
# - stable (aktualisiert, wenn neue/erweiterte Funktionen erfolgreich getestet wurden)
# - beta (hier werden neue oder experimentelle Funktionen zuerst getestet)
prepi_eeprom: beta
# Übertakte CPU/GPU
prepi_overclock: yes
# Verwende vorsichtig, dieses Parameter erlaubt eine höhere Spannung
prepi_force_turbo: no
# CPU-Frequenz zur Übertaktung
# Wenn der Raspberry Pi instabil ist, versuche die Taktfrequenz zu reduzieren
prepi_cpu_freq: 2000
# GPU-Frequenz zur Übertaktung
prepi_gpu_freq: 650
# Zu verwendende Spannung, je höher die CPU-Clock ist, desto höher sollte die Spannung sein
# 6 ist die Grenze, wenn prepi_force_turbo auf no gesetzt ist, höhere Spannungen könnten deine Platine beschädigen
prepi_voltage: 6
# I2C-Schnittstelle aktivieren
prepi_i2c_enable: yes
# SPI-Schnittstelle aktivieren
prepi_spi_enable: yes
# UART-Schnittstelle deaktivieren
prepi_uart_enable: no
# PulseAudio installieren und konfigurieren
prepi_pulseaudio: yes
# PulseAudio bleibt aktiv, wenn der Benutzer sich trennt und startet beim Booten.
prepi_pulseaudio_daemon: yes
# Aktiviere das Debian Backports Repository, um die neuesten Pakete zu erhalten
prepi_backports_enable: yes
# Starte den Raspberry Pi neu, wenn neue Firmware oder EEPROM installiert werden
prepi_reboot: yes
# Deaktiviere die Bildschirmkonfiguration beim Start (bei Verwendung der Desktop-Version von Raspberry Pi OS)
prepi_disable_onboarding_screen: yes
Abhängigkeiten
Gleich wie im Abschnitt Anforderungen.
Beispiel Playbook
Inventardatei mit der Gruppe rpi
, die einen Host namens rpi4b01
mit der IP-Adresse 192.168.1.97
hat.
[rpi]
rpi4b01 ansible_host=192.168.1.97 ansible_user=pi
Ein einfaches Playbook, das in der Gruppe rpi
ausgeführt wird und den Benutzer pi
verwendet, um sich über SSH zu verbinden (basierend auf dem Inventar) mit einigen benutzerdefinierten Variablen.
---
- hosts: rpi
gather_facts: no
become: yes
# Installiere Python mit dem raw-Modul, um sicherzustellen, dass die Anforderungen installiert sind
pre_tasks:
- name: Installiere Python 3.x, Ansible-Anforderung
raw: apt-get install -y python3
changed_when: no
- hosts: rpi
become: yes
vars:
prepi_hostname: smartgic-pi4b8-13
prepi_cpu_freq: 2000
prepi_cpu_governor: performance
prepi_force_turbo: yes
tasks:
- import_role:
name: smartgic.prepi
tags:
- prepi
- raspberry
Lizenz
MIT
Autorinformation
Ich bin Gaëtan Trellu (goldyfruit), lass uns diskutieren :) - 2021
Apply some configurations to obtain the best performances from a Raspberry Pi 4 board and later.
ansible-galaxy install smartgic.prepi