树莓派超全系列教程文档--(36)树莓派条件过滤器设置

news2025/4/21 8:06:12

树莓派条件过滤器设置

    • 条件过滤器
      • `[all]` 过滤器
      • 型号过滤器
      • `[none]` 过滤器
      • `[tryboot]` 过滤器
      • `[EDID=*]` 过滤器
      • 序列号过滤器
      • GPIO过滤器
      • 组合条件过滤器

文章来源: http://raspberry.dns8844.cn/documentation

原文网址

条件过滤器

当将单个 SD 卡(或卡图像)与一个 Raspberry Pi 和一个显示器一起使用时,很容易根据特定组合的要求来设置 config.txt 并保持这种状态,仅在发生变化时进行修改。

但是,如果在不同的显示器之间交换一个 Raspberry Pi,或者在多个板之间交换 SD 卡(或卡图像),则一组设置可能不再足够。条件过滤器允许您定义配置文件的某些部分仅在特定情况下使用,从而允许单个 config.txt 在由不同硬件读取时创建不同的配置。

[all] 过滤器

[all] 过滤器是最基本的过滤器。它会重置所有先前设置的过滤器,并允许将其下方列出的任何设置应用于所有硬件。通常,在过滤设置组的末尾添加一个 [all] 过滤器是个好主意,以避免无意中组合过滤器(见下文)。

型号过滤器

条件型号过滤器根据下表应用。
在这里插入图片描述

这些对于定义不同的 kernelinitramfscmdline 设置特别有用,因为 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] 过滤器重置所有以前的过滤器并避免无意中组合不同的过滤器类型。

上一篇 – 树莓派超全系列教程文档–(35)树莓派超频必看
下一篇 –

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2339296.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jetpack之LiveData的原理解析

前言 在一通研究下&#xff0c;我打算LiveData的解析通过从使用的方法上面切入进行LiveData的工作原理分析&#x1f60b;。感觉这样子更能让大家伙理解明白&#xff0c;LiveData的实现和Lifecycle分不开&#xff0c;并且还得需要知道LiveData的使用会用到什么样的方法。所以&a…

【微知】服务器如何获取服务器的SN序列号信息?(dmidecode -t 1)

文章目录 背景命令dmidecode -t的数字代表的字段 背景 各种场景都需要获取服务器的SN&#xff08;Serial Number&#xff09;&#xff0c;比如问题定位&#xff0c;文件命名&#xff0c;该部分信息在dmi中是标准信息&#xff0c;不同服务器&#xff0c;不同os都能用相同方式获…

51c大模型~合集119

我自己的原文哦~ https://blog.51cto.com/whaosoft/13852062 #264页智能体综述 MetaGPT等20家顶尖机构、47位学者参与 近期&#xff0c;大模型智能体&#xff08;Agent&#xff09;的相关话题爆火 —— 不论是 Anthropic 抢先 MCP 范式的快速普及&#xff0c;还是 OpenAI …

Vue3 + TypeScript,关于item[key]的报错处理方法

处理方法1&#xff1a;// ts-ignore 注释忽略报错 处理方法2&#xff1a;item 设置为 any 类型

【记录】服务器用命令开启端口号

这里记录下如何在服务器上开启适用于外界访问的端口号。 方法 1 使用防火墙 1 su &#xff0c;命令 输入密码 切换到root节点 2 开启防火墙 systemctl start firewalld3 配置开放端口 firewall-cmd --zonepublic --add-port8282/tcp --permanent4 重启防火墙 firewall-cmd…

OpenCV基础01-图像文件的读取与保存

介绍: OpenCV是 Open Souce C omputer V sion Library的简称。要使用OpenCV需要安装OpenCV包&#xff0c;使用前需要导入OpenCV模块 安装 命令 pip install opencv-python 导入 模块 import cv2 1. 图像的读取 import cv2 img cv2.imread(path, flag)这里的flag 是可选参数&…

go语言优雅关机和优雅重启笔记

一、优雅关机 生活化例子 餐馆关门&#xff1a;你去餐馆吃火锅&#xff0c;刚坐下点完菜&#xff08;客户端发请求&#xff09;&#xff0c;餐馆老板突然接到通知要停电&#xff08;收到关机指令&#xff09;。老板很贴心&#xff0c;先停止接待新客人&#xff08;停止接收新请…

【算法】计数排序、桶排序、基数排序

算法系列八&#xff1a;非比较排序 一、计数排序 1.实现 1.1步骤 1.2代码 2.性质 2.1稳定性 2.1.1从前往后前始版&#xff1a; 2.1.2从后往前末始版&#xff1a; 2.2复杂度 2.2.1时间复杂度 2.2.2空间复杂度 二、桶排序 1.实现 1.1步骤 1.2代码 2.稳定性 三、…

Halcon应用:相机标定

提示&#xff1a;若没有查找的算子&#xff0c;可以评论区留言&#xff0c;会尽快更新 Halcon应用&#xff1a;相机标定 前言一、Halcon应用&#xff1f;二、应用实战1、图像理解1.1、开始标定 前言 本篇博文主要用于记录学习Halcon中算子的应用场景&#xff0c;及其使用代码和…

【C++ 程序设计】实战:C++ 实践练习题(31~40)

目录 31. 数列&#xff1a;s 1 &#xff0b; 2 &#xff0b; 3 &#xff0b; … &#xff0b; n 32. 数列&#xff1a;s 1 - 2 - 3 - … - n 33. 数列&#xff1a;s 1 &#xff0b; 2 - 3 &#xff0b; … - n 34. 数列&#xff1a;s 1 - 2 &#xff0b; 3 - … &#…

绿幕抠图直播软件-蓝松抠图插件--使用相机直播,灯光需要怎么打?

使用SONY相机进行绿幕抠图直播时&#xff0c;灯光布置是关键&#xff0c;直接影响抠图效果和直播画质。以下是详细的灯光方案和注意事项&#xff1a; 一、绿幕灯光布置核心原则 均匀照明&#xff1a;绿幕表面光线需均匀&#xff0c;避免阴影和反光&#xff08;亮度差控制在0.5…

从外网访问局域网服务器的方法

一、为什么局域网的服务器无法在外网访问&#xff1f; 服务器、电脑之间靠IP地址寻址&#xff0c;目前大部分基于IPV4进行寻址访问。但是因为IPV4的地址数量有限&#xff0c;中国分到的还比较少&#xff0c;所以非常紧缺。 一个解决方案就是在局域网来建立一个内部的网…

机器学习 Day12 集成学习简单介绍

1.集成学习概述 1.1. 什么是集成学习 集成学习是一种通过组合多个模型来提高预测性能的机器学习方法。它类似于&#xff1a; 超级个体 vs 弱者联盟 单个复杂模型(如9次多项式函数)可能能力过强但容易过拟合 组合多个简单模型(如一堆1次函数)可以增强能力而不易过拟合 集成…

交换机与路由器的主要区别:深入分析其工作原理与应用场景

在现代网络架构中&#xff0c;交换机和路由器是两种至关重要的设备。它们在网络中扮演着不同的角色&#xff0c;但很多人对它们的工作原理和功能特性并不十分清楚。本文将深入分析交换机与路由器的主要区别&#xff0c;并探讨它们的工作原理和应用场景。 一、基本定义 1. 交换…

【Oracle专栏】Oracle中的虚拟列

Oracle相关文档&#xff0c;希望互相学习&#xff0c;共同进步 风123456789&#xff5e;-CSDN博客 1.背景 在EXP方式导出时&#xff0c;发现 出现如下提示 EXP-00107: virtual column 不支持&#xff0c;因此采用expdp方式导出。于是本文针对oracle虚拟列进行简单介绍。 2. 相…

2020 年 7 月大学英语四级考试真题(组合卷)——解析版

&#x1f3e0;个人主页&#xff1a;fo安方的博客✨ &#x1f482;个人简历&#xff1a;大家好&#xff0c;我是fo安方&#xff0c;目前中南大学MBA在读&#xff0c;也考取过HCIE Cloud Computing、CCIE Security、PMP、CISP、RHCE、CCNP RS、PEST 3等证书。&#x1f433; &…

大语言模型的训练、微调及压缩技术

The rock can talk — not interesting. The rock can read — that’s interesting. &#xff08;石头能说话&#xff0c;不稀奇。稀奇的是石头能读懂。&#xff09; ----硅谷知名创业孵化器 YC 的总裁 Gar Tan 目录 1. 什么是大语言模型&#xff1f; 2. 语言建模&#xff…

firewall指令

大家好,今天我们继续来了解服务管理,来看看打开或关闭指定端口,那么话不多说,开始吧. 1.打开或者关闭指定端口 在真正的生产环境,往往需要防火墙,但问题来了,如果我们把防火墙打开,那么外部请求数据包就不能跟服务器监听通讯,这时,需要打开指定的端口,比如80,22,8080等. 2.fi…

【MySQL】MySQL表的增删改查(CRUD) —— 上篇

目录 MySQL表的增删改查&#xff08;CRUD&#xff09; 1. 新增&#xff08;Create&#xff09;/插入数据 1.1 单行数据 全列插入 insert into 表名 values(值, 值......); 1.2 单行数据 指定列插入 1.3 多行数据 指定列插入 1.4 关于时间日期&#xff08;datetime&am…

软考高级系统架构设计师-第15章 知识产权与标准化

【本章学习建议】 根据考试大纲&#xff0c;本章主要考查系统架构设计师单选题&#xff0c;预计考3分左右&#xff0c;较为简单。 15.1 标准化基础知识 1. 标准的分类 分类 内容 国际标准&#xff08;IS&#xff09; 国际标准化组织&#xff08;ISO&#xff09;、国际电工…