smartgic.prepi

Ansible Galaxy Discord

Ansible角色:Prepi

这个Ansible角色将对Raspberry Pi 4B及更高版本的主板应用一些配置,以获得最佳性能。

prepi的意思是“准备Raspberry Pi”。

首先,重要的警告:您对使用此角色所做的选择负责,您可以决定使用哪个固件[1]、哪个EEPROM[2]。超频[3]功能也适用相同的规则。请记住,超频需要适当的主动冷却系统。

话虽如此,此角色执行下列任务(根据您的需求而定):

  • 更新Raspberry Pi操作系统到最新版本
  • 添加Debian后向仓库(可自定义)
  • 使用next分支更新固件,提供内核5.10和边缘固件(可自定义)
  • 使用beta版本更新EEPROM,提供边缘功能(可自定义)
  • 设置initial_turbo以加快启动过程
  • 将Raspberry Pi超频至2GHz(可自定义)
  • /tmp挂载到RAMDisk
  • 优化/分区挂载选项以改善SD卡读写
  • 管理I2C、SPI和UART接口(可自定义)
  • 将CPU调节器设置为performance以避免在idle*内核功能间切换(可自定义)
  • 安装并配置PulseAudio(非系统范围)(可自定义)
  • 在安装新固件或EEPROM后重新启动Raspberry Pi(可自定义)

该角色是在配备64位Raspberry Pi OS的Raspberry Pi 4B上开发的。

在做出任何决定之前,请阅读以下文档链接。

需求

  • Raspberry Pi 4B及更高版本的主板
  • 64位Raspberry Pi OS(对于内存超过4GB的主板必需)

角色变量

可用变量如下所示,以及默认值(见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时钟越高,电压越高
# 当prepi_force_turbo设置为no时,6是极限,更高电压可能会损坏主板
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

rpi组上运行的基本剧本,使用pi用户通过SSH连接(基于库存)并带有一些自定义变量。

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

  # 使用原始模块安装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!