smartgic.prepi

Ansible Galaxy Discord

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 den idle* 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.

Anforderungen

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

Über das Projekt

Apply some configurations to obtain the best performances from a Raspberry Pi 4 board and later.

Installieren
ansible-galaxy install smartgic.prepi
GitHub Repository
Lizenz
apache-2.0
Downloads
214
Besitzer
Build smart things with magic and love!