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 を使用して開発されました。
何か決定を下す前に、以下のドキュメントリンクをお読みください。
- [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
要件
- 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!