smartgic.prepi
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上开发的。
在做出任何决定之前,请阅读以下文档链接。
- [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及更高版本的主板
- 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!