树莓派超全系列教程文档--(36)树莓派条件过滤器设置
树莓派条件过滤器设置
- 条件过滤器
- `[all]` 过滤器
- 型号过滤器
- `[none]` 过滤器
- `[tryboot]` 过滤器
- `[EDID=*]` 过滤器
- 序列号过滤器
- GPIO过滤器
- 组合条件过滤器
文章来源: http://raspberry.dns8844.cn/documentation
原文网址
条件过滤器
当将单个 SD 卡(或卡图像)与一个 Raspberry Pi 和一个显示器一起使用时,很容易根据特定组合的要求来设置 config.txt 并保持这种状态,仅在发生变化时进行修改。
但是,如果在不同的显示器之间交换一个 Raspberry Pi,或者在多个板之间交换 SD 卡(或卡图像),则一组设置可能不再足够。条件过滤器允许您定义配置文件的某些部分仅在特定情况下使用,从而允许单个 config.txt 在由不同硬件读取时创建不同的配置。
[all] 过滤器
[all] 过滤器是最基本的过滤器。它会重置所有先前设置的过滤器,并允许将其下方列出的任何设置应用于所有硬件。通常,在过滤设置组的末尾添加一个 [all] 过滤器是个好主意,以避免无意中组合过滤器(见下文)。
型号过滤器
条件型号过滤器根据下表应用。

这些对于定义不同的 kernel、 initramfs 和 cmdline 设置特别有用,因为 Raspberry Pi 1 和 Raspberry Pi 2 需要不同的内核。它们还可用于定义不同的超频设置,因为 Raspberry Pi 1 和 Raspberry Pi 2 具有不同的默认速度。例如,为每个设置定义单独的 initramfs 映像:
[pi1]
initramfs initrd.img-3.18.7+ followkernel
[pi2]
initramfs initrd.img-3.18.7-v7+ followkernel
[all]
请记住在最后使用 [all] 过滤器,以便任何后续设置不仅限于 Raspberry Pi 2 硬件。
某些型号的 Raspberry Pi(包括 Zero、计算模块和键盘型号)可从多个过滤器读取设置。要将设置只应用于一种型号,可采用以下方法
- 将设置应用于基本型号(例如
[pi4]),然后将设置还原到读取基本型号过滤器的所有型号(例如[pi400]、[cm4]、[cm4s])。 - 使用带有修订代码的
board-type过滤器来针对单个型号(例如[board-type=0x11])。
[none] 过滤器
[none] 过滤器可防止任何后续设置应用于任何硬件。虽然没有 [none] 什么都做不了,但它是一种有用的方法,可以将未使用的设置组保留在 config.txt 中,而不必注释掉每一行。
[tryboot] 过滤器
如果设置了 tryboot 重新启动标志,此过滤器将成功。
它旨在用于 xref:config_txt.adoc#autoboot-txt[autoboot.txt] 中,以在 tryboot 模式下选择不同的 boot_partition 进行故障安全操作系统更新。
[EDID=*] 过滤器
当在 Raspberry Pi 中使用单个 SD 卡在多个显示器之间切换时,如果空白配置不足以自动为每个显示器选择所需的分辨率,则允许根据显示器的 EDID 名称选择特定设置。
要查看所连接显示器的 EDID 名称,您需要按照几个步骤操作。运行以下命令查看 Raspberry Pi 上有哪些输出设备:
$ ls -1 /sys/class/drm/card?-HDMI-A-?/edid
在 Raspberry Pi 4 上,这将打印类似以下内容:
[source]
/sys/class/drm/card1-HDMI-A-1/edid
/sys/class/drm/card1-HDMI-A-2/edid
然后,您需要针对每个文件名运行 edid-decode ,例如:
$ edid-decode /sys/class/drm/card1-HDMI-A-1/edid
如果没有显示器连接到特定的输出设备,它就会告诉你 EDID 是空的;否则,它就会为你提供有关显示器功能的信息。您需要查找指定 制造商 和 显示器产品名称 的行。“EDID 名称” 为 <制造商>-<显示器产品名称> ,字符串中的空格用下划线代替。例如,如果您的 edid-decode 输出包括:
....Vendor & Product Identification:Manufacturer: DEL
....Display Product Name: 'DELL U2422H'
....
此监视器的EDID名称为 DEL-DELL_U2422H。
然后,您可以将其用作条件过滤器来指定仅在连接此特定监视器时使用的设置:
[EDID=DEL-DELL_U2422H]
cmdline=cmdline_U2422H.txt
[all]
这些设置仅在启动时适用。显示器必须在启动时连接,Raspberry Pi必须能够读取其EDID信息以找到正确的名称。启动后将不同的显示器热插到Raspberry Pi不会选择不同的设置。
在Raspberry Pi 4上,如果两个HDMI端口都在使用中,则将针对它们两个检查EDID过滤器,并应用所有匹配条件过滤器的配置。
NOTE: 此设置在Raspberry Pi 5上不可用。
序列号过滤器
有时设置应该只应用于单个特定的Raspberry Pi,即使您将SD卡交换到不同的SD卡。示例包括许可证密钥和超频设置(尽管许可证密钥已经以不同的方式支持SD卡交换)。您还可以使用它来选择不同的显示设置,即使上面的EDID标识是不可能的,只要您不在Raspberry Pi之间交换显示器。例如,如果您的显示器不提供可用的EDID名称,或者如果您使用复合输出(无法从中读取EDID)。
要查看Raspberry Pi的序列号,请运行以下命令:
cat /proc/cpuinfo
一个16位十六进制值将显示在输出底部附近。您的Raspberry Pi序列号是最后八位十六进制数字。例如,如果您看到:
[source]
Serial : 0000000012345678
序列号是 12345678 。
NOTE: 在某些Raspberry Pi型号上,前8个十六进制数字包含 0 以外的值。即使在这种情况下,也只使用最后八个十六进制数字作为序列号。
您可以定义仅应用于此特定Raspberry Pi的设置:
[0x12345678]
# 此处的设置仅适用于使用此串行接口的 Raspberry Pi
[all]
# 这里的设置适用于所有硬件
GPIO过滤器
您还可以根据GPIO的状态进行过滤。例如:
[gpio4=1]
#如果GPIO 4为高,则应用此处的设置[gpio2=0]
#如果GPIO 2低,则应用此处的设置[all]
#这里的设置适用于所有硬件
组合条件过滤器
相同类型的过滤器会相互替换,因此 [pi2] 会覆盖 [pi1] ,因为两者不可能同时为真。
不同类型的过滤器可以通过一个接一个地列出来组合,例如:
# 这里的设置适用于所有硬件
[EDID=VSC-TD2220]
# 仅当连接了监视器VSC-TD2220时才应用此处的设置
[pi2]
# 仅当监视器VSC-TD2220连接*和*在Raspberry Pi 2上时才应用此处的设置[all]
# 这里的设置适用于所有硬件
使用 [all] 过滤器重置所有以前的过滤器并避免无意中组合不同的过滤器类型。
相关文章:
树莓派超全系列教程文档--(36)树莓派条件过滤器设置
树莓派条件过滤器设置 条件过滤器[all] 过滤器型号过滤器[none] 过滤器[tryboot] 过滤器[EDID*] 过滤器序列号过滤器GPIO过滤器组合条件过滤器 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 条件过滤器 当将单个 SD 卡(或卡图像&am…...
【Rust 精进之路之第3篇-变量观】`let`, `mut` 与 Shadowing:理解 Rust 的变量绑定哲学
系列: Rust 精进之路:构建可靠、高效软件的底层逻辑 作者: 码觉客 发布日期: 2025-04-20 引言:为数据命名,Rust 的第一道“安全阀” 在上一篇文章中,我们成功搭建了 Rust 开发环境,并用 Cargo 运行了第一个程序,迈出了坚实的一步。现在,是时候深入了解构成程序的基…...
wordpress独立站的产品详情页添加WhatsApp链接按钮
在WordPress外贸独立站的产品展示页添加WhatsApp链接按钮,可以帮助客户更方便地与你联系。以下是实现这一功能的步骤: 方法一:使用HTML代码添加按钮 编辑产品展示页 进入WordPress后台,找到需要添加WhatsApp按钮的产品展示页。…...
jetpack之LiveData的原理解析
前言 在一通研究下,我打算LiveData的解析通过从使用的方法上面切入进行LiveData的工作原理分析😋。感觉这样子更能让大家伙理解明白,LiveData的实现和Lifecycle分不开,并且还得需要知道LiveData的使用会用到什么样的方法。所以&a…...
Viper配置管理笔记
一、什么是 Viper? Viper 是 Go 语言的一个强大工具,就像一个超级管家,专门负责帮你打理程序的各种配置。它能把配置文件(比如 JSON、YAML、TOML 等格式)里的内容读出来,还能监控配置文件的变化࿰…...
go+mysql+cocos实现游戏搭建
盲目的学了一段时间了,刚开始从Box2d开始学习,明白了很多,Box2d是物理模型的基础,是我们在游戏中模拟现实的很重要的一个开源工具。后来在朋友的建议下学习了cocos,也是小程序开发的利器,而golang是一款高效…...
【微知】服务器如何获取服务器的SN序列号信息?(dmidecode -t 1)
文章目录 背景命令dmidecode -t的数字代表的字段 背景 各种场景都需要获取服务器的SN(Serial Number),比如问题定位,文件命名,该部分信息在dmi中是标准信息,不同服务器,不同os都能用相同方式获…...
Android开发中广播(Broadcast)技术详解
在 Android 开发中,广播(Broadcast) 是一种广泛使用的组件通信机制,它允许应用程序在不直接交互的情况下传递消息。本文将详细讲解 Android 广播的基本概念、类型、发送与接收流程、使用场景及注意事项,并结合具体的代…...
MySQL视图高级应用与最佳实践
1. 视图与索引的协同优化 物化视图(模拟实现) MySQL原生不支持物化视图,但可通过“定时刷新”的物理表模拟: -- 1. 创建存储结果的物理表 CREATE TABLE cached_monthly_sales (product_id INT,total_sales DECIMAL(10…...
xss4之cookie操作
一、登录网站情况分析 1. 登录状态与Cookie的关系 已登录状态: 当用户登录网站后,如admin123456,网站会通过某种方式(如Cookie)在客户端保存用户的登录状态。Cookie的作用: Cookie是服务器发送到用户浏览器并保存在本地的一小块…...
51c大模型~合集119
我自己的原文哦~ https://blog.51cto.com/whaosoft/13852062 #264页智能体综述 MetaGPT等20家顶尖机构、47位学者参与 近期,大模型智能体(Agent)的相关话题爆火 —— 不论是 Anthropic 抢先 MCP 范式的快速普及,还是 OpenAI …...
Vue3 + TypeScript,关于item[key]的报错处理方法
处理方法1:// ts-ignore 注释忽略报错 处理方法2:item 设置为 any 类型...
【记录】服务器用命令开启端口号
这里记录下如何在服务器上开启适用于外界访问的端口号。 方法 1 使用防火墙 1 su ,命令 输入密码 切换到root节点 2 开启防火墙 systemctl start firewalld3 配置开放端口 firewall-cmd --zonepublic --add-port8282/tcp --permanent4 重启防火墙 firewall-cmd…...
如何优雅地实现全局唯一?深入理解单例模式
如何优雅地实现全局唯一?深入理解单例模式 一、什么是单例模式? 单例模式是一种创建型设计模式,旨在确保一个类只有一个实例,并为该实例提供全局访问点,从而避免全局变量的命名污染,并支持延迟初始化Wiki…...
25.4.20学习总结
如何使用listView组件来做聊天界面 1. 什么是CellFactory? 在JavaFX中,控件(比如ListView、TableView等)用Cell来显示每一条数据。 Cell:代表这个单元格(即每个列表项)中显示的内容和样式。 …...
Spring之我见 - Spring Boot Starter 自动装配原理
欢迎光临小站:致橡树 Spring Boot Starter 的核心设计理念是 约定优于配置,其核心实现基于 自动配置(Auto-Configuration) 和 条件化注册(Conditional Registration)。以下是其生效原理: 约定…...
如何高效利用呼叫中心系统和AI语音机器人
要更好地使用呼叫中心系统和语音机器人,需要结合两者的优势,实现自动化、智能化、高效率的客户服务与业务运营。以下是优化策略和具体实践方法: 一、呼叫中心系统优化 1. 智能路由与IVR优化 智能ACD(自动呼叫分配) …...
【Windows上配置Git环境】
在Windows上配置Git环境可以按照以下步骤进行: 1. 下载Git 打开浏览器,访问Git官方网站https://git-scm.com/downloads。在下载页面中,找到适用于Windows的下载链接,根据你的系统是32位还是64位选择相应的安装包进行下载 。 2.…...
OpenCV基础01-图像文件的读取与保存
介绍: OpenCV是 Open Souce C omputer V sion Library的简称。要使用OpenCV需要安装OpenCV包,使用前需要导入OpenCV模块 安装 命令 pip install opencv-python 导入 模块 import cv2 1. 图像的读取 import cv2 img cv2.imread(path, flag)这里的flag 是可选参数&…...
C 语言的未来:在变革中坚守与前行
C 语言,作为编程语言领域的一位 “老将”,自诞生以来就一直扮演着至关重要的角色。历经数十年的发展,它的影响力依然广泛而深远。在科技飞速发展的今天,新的编程语言如雨后春笋般不断涌现,C 语言的未来发展走向成为了众…...
go语言优雅关机和优雅重启笔记
一、优雅关机 生活化例子 餐馆关门:你去餐馆吃火锅,刚坐下点完菜(客户端发请求),餐馆老板突然接到通知要停电(收到关机指令)。老板很贴心,先停止接待新客人(停止接收新请…...
【算法】计数排序、桶排序、基数排序
算法系列八:非比较排序 一、计数排序 1.实现 1.1步骤 1.2代码 2.性质 2.1稳定性 2.1.1从前往后前始版: 2.1.2从后往前末始版: 2.2复杂度 2.2.1时间复杂度 2.2.2空间复杂度 二、桶排序 1.实现 1.1步骤 1.2代码 2.稳定性 三、…...
Halcon应用:相机标定
提示:若没有查找的算子,可以评论区留言,会尽快更新 Halcon应用:相机标定 前言一、Halcon应用?二、应用实战1、图像理解1.1、开始标定 前言 本篇博文主要用于记录学习Halcon中算子的应用场景,及其使用代码和…...
【C++ 程序设计】实战:C++ 实践练习题(31~40)
目录 31. 数列:s 1 + 2 + 3 + … + n 32. 数列:s 1 - 2 - 3 - … - n 33. 数列:s 1 + 2 - 3 + … - n 34. 数列:s 1 - 2 + 3 - … &#…...
【perf】perf工具的使用生成火焰图
文章目录 1. What is perf?2. perf使用2.1 perf的子工具集2.2 常用指令perf list指令格式参数perf中事件分类使用示例 perf stat指令格式参数 perf top指令格式参数交互式界面操作使用示例 perf record指令格式参数使用示例 perf report指令格式参数交互式界面操作使用示例 pe…...
绿幕抠图直播软件-蓝松抠图插件--使用相机直播,灯光需要怎么打?
使用SONY相机进行绿幕抠图直播时,灯光布置是关键,直接影响抠图效果和直播画质。以下是详细的灯光方案和注意事项: 一、绿幕灯光布置核心原则 均匀照明:绿幕表面光线需均匀,避免阴影和反光(亮度差控制在0.5…...
从外网访问局域网服务器的方法
一、为什么局域网的服务器无法在外网访问? 服务器、电脑之间靠IP地址寻址,目前大部分基于IPV4进行寻址访问。但是因为IPV4的地址数量有限,中国分到的还比较少,所以非常紧缺。 一个解决方案就是在局域网来建立一个内部的网…...
每日面试实录·携程·社招·JAVA
📍面试公司:携程 👜面试岗位:后端开发工程师(社招) 🕐面试时长:约 50 分钟 🔄面试轮次:第 1 轮技术面 ✨面试整体节奏: 这场携程的社招 Java 一面…...
Redis增删改查
### 进入redis控制台 redis-cli --raw #加上raw,防止中文乱码### 增 127.0.0.1:6379> LPUSH list0 "hello" #增加一个list 1 127.0.0.1:6379> LRANGE list0 0 -1 #查看list hello### 删 127.0.0.1:6379> DEL list0 #删除list 1 127.0.0.1:6379> LRANG…...
机器学习 Day12 集成学习简单介绍
1.集成学习概述 1.1. 什么是集成学习 集成学习是一种通过组合多个模型来提高预测性能的机器学习方法。它类似于: 超级个体 vs 弱者联盟 单个复杂模型(如9次多项式函数)可能能力过强但容易过拟合 组合多个简单模型(如一堆1次函数)可以增强能力而不易过拟合 集成…...
