smartgic.prepi

Ansible Galaxy Discord

Rola Ansible: Prepi

Ta rola Ansible zastosuje pewne konfiguracje, aby uzyskać najlepszą wydajność z płyty Raspberry Pi 4B i późniejszych.

prepi oznacza "Przygotuj Raspberry Pi".

Najpierw, ważna, WAŻNA uwaga: Ty decydujesz o wyborach dokonanych za pomocą tej roli, wybierasz, które oprogramowanie układowe[1], które EEPROM[2] chcesz używać. Ta sama zasada dotyczy funkcji podkręcania[3]. Pamiętaj, że podkręcanie wymaga odpowiedniego aktywnego systemu chłodzenia.

Z tym, co powiedziano, ta rola wykonuje następujące zadania (w zależności od Twoich życzeń):

  • Zaktualizuj system operacyjny Raspberry Pi do najnowszej wersji
  • Dodaj repozytorium backports Debiana (możliwe do dostosowania)
  • Zaktualizuj oprogramowanie układowe, używając gałęzi next, która dostarcza jądro 5.10 i edge firmware (możliwe do dostosowania)
  • Zaktualizuj EEPROM, używając wersji beta, która dostarcza nowe funkcje (możliwe do dostosowania)
  • Skonfiguruj initial_turbo, aby przyspieszyć proces rozruchu
  • Podkręć Raspberry Pi do 2Ghz (możliwe do dostosowania)
  • Zamontuj /tmp na RAMDisk
  • Optymalizuj opcje montowania partycji /, aby poprawić odczyt/zapis karty SD
  • Zarządzanie interfejsami I2C, SPI i UART (możliwe do dostosowania)
  • Ustaw kontroler CPU na performance, aby uniknąć przełączania kontekstu między funkcjami jądra idle* (możliwe do dostosowania)
  • Zainstaluj i skonfiguruj PulseAudio (nie na cały system) (możliwe do dostosowania)
  • Uruchom ponownie Raspberry Pi, gdy nowe oprogramowanie układowe lub EEPROM są zainstalowane (możliwe do dostosowania)

Ta rola została opracowana na Raspberry Pi 4B z Raspberry Pi OS 64-bit.

Proszę zapoznać się z linkami do dokumentacji poniżej przed podjęciem jakichkolwiek decyzji.

Wymagania

Zmienne RoLi

Dostępne zmienne wymienione są poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):

---
# Użytkownik systemowy do dodania do grup systemowych jak gpio, audio, itd...
prepi_pi_user: pi

# Ustaw nazwę hosta dla Raspberry Pi
prepi_hostname: smartgic-pi4b8-13

# Ustaw kontroler CPU
#  - ondemand (mniejsze zużycie energii, ale mniej wydajności)
#  - performance (większe zużycie energii, ale większa wydajność)
prepi_cpu_governor: performance

# Użyj szybkich serwerów DNS (CloudFlare i Google)
# Pamiętaj, że jeśli używasz serwera DHCP, te zmiany zostaną nadpisane
prepi_nameservers:
  - 1.1.1.1
  - 8.8.8.8

# Zaktualizuj oprogramowanie układowe
prepi_firmware_update: yes

# Którą gałąź oprogramowania układowego użyć
#  - master (stabilna)
#  - next (edge firmware i jądro)
prepi_firmware_branch: next

# Którą wersję EEPROM użyć
#  - critical (rzadko aktualizowany)
#  - stable (aktualizowany, gdy nowe/zaawansowane funkcje zostały pomyślnie przetestowane)
#  - beta (nowe lub eksperymentalne funkcje są testowane tu jako pierwsze)
prepi_eeprom: beta

# Podkręcanie CPU/GPU
prepi_overclock: yes

# Używaj ostrożnie, ten parametr pozwala na wyższe napięcie
prepi_force_turbo: no

# Częstotliwość CPU do podkręcania
# Jeśli Raspberry Pi jest niestabilny, spróbuj obniżyć zegar
prepi_cpu_freq: 2000

# Częstotliwość GPU do podkręcania
prepi_gpu_freq: 650

# Napięcie do użycia, im wyższy zegar CPU, tym wyższe napięcie powinno być
# 6 jest limitem, gdy prepi_force_turbo jest ustawione na no, wyższe napięcie może uszkodzić płytę
prepi_voltage: 6

# Włącz interfejs I2C
prepi_i2c_enable: yes

# Włącz interfejs SPI
prepi_spi_enable: yes

# Wyłącz interfejs UART
prepi_uart_enable: no

# Zainstaluj i skonfiguruj PulseAudio
prepi_pulseaudio: yes

# PulseAudio utrzymujące się po odłączeniu użytkownika i uruchamiające się przy rozruchu.
prepi_pulseaudio_daemon: yes

# Włącz repozytorium backports Debiana, aby uzyskać najnowsze pakiety
prepi_backports_enable: yes

# Uruchom ponownie Raspberry Pi, gdy nowe oprogramowanie układowe lub EEPROM są zainstalowane
prepi_reboot: yes

# Wyłącz konfigurację ekranu powitalnego (przy użyciu wersji desktopowej Raspberry Pi OS)
prepi_disable_onboarding_screen: yes

Zależności

Takie same jak w sekcji wymagań.

Przykładowy Playbook

Plik inwentarzowy z grupą rpi, która ma jeden host nazwany rpi4b01 z adresem IP 192.168.1.97.

[rpi]
rpi4b01 ansible_host=192.168.1.97 ansible_user=pi

Podstawowy playbook działający na grupie rpi, używający użytkownika pi do połączenia przez SSH (na podstawie inwentarza) z kilkoma dostosowanymi zmiennymi.

---
- hosts: rpi
  gather_facts: no
  become: yes

  # Zainstaluj Pythona, używając surowego modułu, aby upewnić się, że wymagania są zainstalowane
  pre_tasks:
    - name: Zainstaluj Pythona 3.x, wymaganie Ansible
      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

Licencja

MIT

Informacje o autorze

Jestem Gaëtan Trellu (goldyfruit), porozmawiajmy :) - 2021

O projekcie

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

Zainstaluj
ansible-galaxy install smartgic.prepi
Licencja
apache-2.0
Pobrania
214
Właściciel
Build smart things with magic and love!