smartgic.prepi

Ansible ロール: Prepi

この Ansible ロールは、Raspberry Pi 4B ボードやそれ以降のモデルで最高のパフォーマンスを得るための設定を行います。

prepi は「Prepare Raspberry Pi」の略です。

まず、大きな注意点: このロールを使用する際の選択に関してはあなたの責任です。どのファームウェア[1]、どの EEPROM[2] を使用するかは自分で決めてください。同様に、オーバークロック[3] 機能についても同じルールが適用されます。オーバークロックには適切なアクティブクーリングシステムが必要です。

さて、このロールは次のタスクを実行します (あなたの希望に応じて):

  • Raspberry Pi OS を最新のバージョンに更新
  • Debian バックポートリポジトリを追加 (カスタマイズ可能)
  • next ブランチを使用してファームウェアを更新し、カーネル 5.10 とエッジファームウェアを提供 (カスタマイズ可能)
  • beta バージョンを使用して EEPROM を更新し、エッジ機能を提供 (カスタマイズ可能)
  • ブートプロセスを速めるために initial_turbo を設定
  • Raspberry Pi を 2GHz にオーバークロック (カスタマイズ可能)
  • /tmp を RAMDisk にマウント
  • SDカードの読み書きを改善するために / パーティションのマウントオプションを最適化
  • I2C、SPI、および UART インターフェースを管理 (カスタマイズ可能)
  • CPU ガバナーを performance に設定し、idle* カーネル関数間のコンテキストスイッチを回避 (カスタマイズ可能)
  • PulseAudio をインストールし、設定 (システム全体ではない) (カスタマイズ可能)
  • 新しいファームウェアや EEPROM がインストールされたときに Raspberry Pi を再起動 (カスタマイズ可能)

このロールは Raspberry Pi OS 64-bit を使用して開発されました。

何か決定を下す前に、以下のドキュメントリンクをお読みください。

要件

  • Raspberry Pi 4B ボードやそれ以降のモデル
  • Raspberry Pi OS 64-bit (4GB 以上の RAM を搭載したボードに必須)

ロール変数

利用可能な変数は下記にリストされています。デフォルト値も含まれています (defaults/main.yml を参照):

---
# システムグループに追加するシステムユーザー(gpio, audio など)
prepi_pi_user: pi

# Raspberry Pi ホスト名を設定
prepi_hostname: smartgic-pi4b8-13

# CPU ガバナーを設定
#  - ondemand (消費電力が少ないがパフォーマンスが低下)
#  - performance (消費電力が多いがパフォーマンスが高い)
prepi_cpu_governor: performance

# 高速な DNS 名前サーバーを使用 (CloudFlare と Google)
# DHCP サーバーを使用している場合、これらの変更は上書きされます
prepi_nameservers:
  - 1.1.1.1
  - 8.8.8.8

# ファームウェアを更新
prepi_firmware_update: yes

# 使用するファームウェアブランチ
#  - master (安定版)
#  - next (エッジファームウェアとカーネル)
prepi_firmware_branch: next

# 使用する EEPROM リリース
#  - critical (ほとんど更新されない)
#  - stable (新しい/高度な機能が正常にベータテストされたときに更新)
#  - beta (新しいまたは実験的な機能がここで初めてテストされる)
prepi_eeprom: beta

# CPU/GPU をオーバークロック
prepi_overclock: yes

# 注意して使用してください。このパラメーターは高い電圧を使用することを許可します
prepi_force_turbo: no

# オーバークロックする CPU の周波数
# Raspberry Pi が不安定な場合、クロックを下げてみてください
prepi_cpu_freq: 2000

# オーバークロックする GPU の周波数
prepi_gpu_freq: 650

# 使用する電圧、CPU クロックが高くなるほど電圧も高くする必要があります
# 6 は prepi_force_turbo を no にしたときの限界であり、高い電圧はボードを損傷する可能性があります
prepi_voltage: 6

# I2C インターフェースを有効化
prepi_i2c_enable: yes

# SPI インターフェースを有効化
prepi_spi_enable: yes

# UART インターフェースを無効化
prepi_uart_enable: no

# PulseAudio をインストールし、設定
prepi_pulseaudio: yes

# ユーザーが切断しても PulseAudio を持続させ、起動時に開始します。
prepi_pulseaudio_daemon: yes

# Debian バックポートリポジトリを有効にして最新パッケージを取得
prepi_backports_enable: yes

# 新しいファームウェアや EEPROM がインストールされたときに Raspberry Pi を再起動
prepi_reboot: yes

# Raspberry Pi OS デスクトップ版を使用する際のオンボーディング画面設定を無効にします
prepi_disable_onboarding_screen: yes

依存関係

要件セクションと同じです。

例のプレイブック

rpi グループに rpi4b01 というホストがあり、IPアドレスは 192.168.1.97 のインベントリファイル。

[rpi]
rpi4b01 ansible_host=192.168.1.97 ansible_user=pi

カスタム変数を使用して、SSH を通じて接続する pi ユーザーを使用した rpi グループ上で実行される基本的なプレイブック。

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

  # 必要なモジュールを安装するために raw モジュールを使用して Python をインストール
  pre_tasks:
    - name: Python 3.x 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

ライセンス

MIT

著者情報

私は Gaëtan Trellu (goldyfruit) です。話しましょう :) - 2021

プロジェクトについて

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

インストール
ansible-galaxy install smartgic.prepi
ライセンス
apache-2.0
ダウンロード
214
所有者
Build smart things with magic and love!