2023-简单点-树莓派的config.txt文件解析

注意事项

在Bookworm系统版本之前,树莓派操作系统将引导分区存储在/boot/。
自Bookworm以来,引导分区位于/boot/firmware/

树莓派使用的是一个配置文件,而不是传统PC上的BIOS。

传统上使用BIOS编辑和存储的系统配置参数,现在存储在一个名为config.txt的可选文本文件中。

什么时候去读取这个配置文件呢?

在ARM CPU和Linux初始化之前GPU读取的。

因此,它必须位于SD卡的第一个(引导)分区上,旁边是bootcode.bin和start.elf。

该文件通常在Linux中以/boot/firmware/config.txt的形式访问,并且必须以root用户进行编辑。

任何更改只有在重新启动树莓派后才会生效。

如何查看配置情况?

Linux启动后,可以使用以下命令查看当前活动设置

  1. 直接看文件内容
cat /boot/config.txt
or 
cat /boot/firmware/config.txt
  1. 还有一种是用 vcgencmd命令查看:

    vcgencmd get_config <config>: 展示config的值,比如 vcgencmd get_config arm_freq就是获取arm_freq的参数设置值

    vcgencmd get_config int: 展示整数参数非0值的参数

    vcgencmd get_config str: 展示字符串格式的非空参数值

     注意事项:vcgencmd不是万能的。有一些配置设置不能使用vcgencmd检索。
    

举例某些常见参数

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

此行启用音频功能,它会加载snd_bcm2835音频驱动,使得树莓派上的音频接口可以正常工作。

# Automatically load overlays for detected cameras
camera_auto_detect=1

此行设置树莓派自动检测并加载与其相连的摄像头模块。当摄像头模块连接到树莓派时,系统会自动识别并加载相应的驱动程序,无需用户手动配置。

# Automatically load overlays for detected DSI displays
display_auto_detect=1

与上面的摄像头自动检测类似,此行设置树莓派自动检测并加载与其相连的DSI(Display Serial Interface)显示屏。当DSI显示屏连接到树莓派时,系统会自动识别并加载相应的驱动程序,实现显示屏的正常工作。

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d

此行启用VC4显卡的DRM(Direct Rendering Manager)驱动,具体使用的是V3D驱动。DRM是Linux内核中的一个子系统,用于管理显卡资源并提供直接的渲染接口。通过启用VC4显卡的DRM驱动,可以充分利用树莓派上的图形硬件资源,提高图形渲染的性能和效率。

常见硬件参数

camera_auto_detect

camera_auto_detect = 1
启用此设置( Raspberry Pi OS),固件将自动加载它识别的CSI相机的overlay.

display_auto_detect

display_auto_detect = 1
启用此设置(which it is in Raspberry Pi OS), firmware自动加载它识别的DSI显示的overlay.

dtoverlay

dtoverlay是树莓派(Raspberry Pi)配置中的一个参数,用于动态覆盖设备树(Device
Tree)。设备树是描述硬件配置的数据结构,在Linux内核启动过程中被加载,用于初始化硬件设备。dtoverlay允许用户在不需要修改内核的情况下,通过加载额外的设备树覆盖层来扩展或修改硬件配置。

在树莓派中,dtoverlay参数通常用于启用或配置特定的硬件设备,例如摄像头、显示屏、音频接口等。通过在配置文件中添加dtoverlay行,并指定要加载的设备树覆盖层的名称,可以告诉内核在启动过程中加载相应的设备树覆盖层,从而实现对硬件设备的支持和配置。
例如,dtoverlay=vc4-kms-v3d表示加载名为vc4-kms-v3d的设备树覆盖层,该覆盖层用于启用VC4显卡的DRM(Direct Rendering Manager)驱动,以充分利用树莓派上的图形硬件资源。

dtparam

什么是dt?
DT:device tree

Raspberry Pis的设备树配置文件支持许多参数,例如启用I2C和SPI接口。许多DT overlay可以通过使用参数进行配置。这两种类型的参数都可以使用dtparam设置来提供。此外,可以将overlay参数附加到overlay选项中,用逗号分隔,但要注意行长度限制为98个字符。

arm_boost (Raspberry Pi 4 Only)

所有树莓派400s和更新版本的树莓派4B都为SoC电压轨配备了第二个开关模式电源,这允许默认的涡轮模式时钟从1.5GHz增加到1.8GHz。此更改在树莓派操作系统中默认启用。将arm_boost=0设置为禁用。

  • 这个从参数用于将ARM频率(arm_freq)增加到硬件支持的最高频率。简而言之,它可以提高树莓派(Raspberry Pi)上ARM处理器的时钟频率,从而提升处理性能。但需要注意的是,提高时钟频率也会导致功耗和热量的增加,因此在使用arm_boost时要权衡性能和散热之间的关系。

start_file, fixup_file

这些选项指定在启动之前传输到VideoCore GPU的firmware文件。

start_file指定要使用的VideoCore固件文件。

fixup_file指定用于修复start_file中使用的内存位置以匹配GPU内存分割的文件。

注意,start_file和fixup_file是一对匹配的文件——使用不匹配的文件将阻止单板启动。这是一个高级选项,所以我们建议您使用start_x和start_debug而不是这个选项。

cmdline

cmdline是引导分区上读取内核命令行字符串的备选文件名;默认值为“cmdline.txt”

cmdline参数在boot引导内核启动时传递给内核,它的作用是指导内核启动。
在内核启动阶段,内核会解析cmdline,并根据cmdline的内容进行配置和运行。
cmdline参数通常以“项目名=项目值”的形式存在,内核解析时会将这些参数一一解析并使用。

例如,
cmdline中可能包含root参数,用于指定根文件系统的位置;
console参数,用于指定控制台输出设备等。
这些参数对于内核在启动过程中的配置非常重要,它们确保了系统能够正确地初始化并运行。

arm_64bit

arm_64bit参数用于启用或禁用ARM的64位模式。

当设置为启用(enabled)时,它可以使ARM处理器在64位模式下运行,从而支持更大的内存寻址空间和更高效的数据处理能力。64位模式可以提供更大的虚拟地址空间,更多的通用寄存器以及更高的性能。

然而,需要注意的是,启用64位模式也会增加功耗和热量生成。因此,在使用arm_64bit参数时,需要权衡性能提升和散热要求之间的关系。

在一些特定的应用场景中,如需要处理大量数据或运行内存密集型任务时,启用64位模式可能更加有利。但对于一些资源有限或对功耗要求较高的环境,禁用64位模式可能更为合适。

总而言之,arm_64bit参数的作用是控制ARM处理器是否在64位模式下运行,从而影响系统的性能和功耗。正确的设置取决于具体的应用需求和硬件配置。

64位内核只适用于树莓派3,3 +,4,400,Zero 2w和2B rev 1.2,以及树莓派计算模块3,3 +和4。

树莓派5只支持64位内核,因此此参数已被删除。

otg_mode (Raspberry Pi 4 Only)

树莓派的otg_mode参数用于启用或禁用USB OTG(On-The-Go)模式。USB OTG是一种USB规范,允许USB设备在不需要主机(如电脑)的情况下互相通信。通过启用otg_mode参数,树莓派可以作为USB OTG设备,与其他USB设备直接进行数据传输和通信。

otg_mode设置为启用时,树莓派上的USB接口将作为OTG接口,可以支持USB设备的连接和通信。这使得树莓派可以与其他USB设备(如智能手机、平板电脑或其他USB外设)进行连接和数据交换,扩展了树莓派的功能和应用场景。

然而,需要注意的是,启用otg_mode参数可能会影响树莓派上其他USB接口的正常工作。因此,在使用otg_mode参数时,需要确保对USB接口的使用没有冲突,并根据实际需求进行适当的配置。

总而言之,otg_mode参数用于控制树莓派是否启用USB OTG模式,从而实现与其他USB设备的直接连接和通信。正确的设置取决于具体的应用需求和硬件配置。

USB on - on -
go(通常缩写为OTG)是一种允许支持USB设备使用适当的OTG电缆将自己配置为USB主机的功能。在旧的Raspberry Pi上,在USB
host 和device mode下使用单个USB 2控制器。 树莓派4B和树莓派400(不是CM4或CM4IO)增加了一个高性能的USB
3控制器,通过PCIe连接,以驱动主USB端口。USB- c电源连接器上仍然可以使用传统的USB
2控制器作为设备(otg_mode=0,默认值)。

otg_mode=1请求将功能更强大的XHCI USB 2控制器用作该USB- c连接器上的另一个主机控制器。

由于CM4和CM4IO不包括外部USB 3控制器,因此树莓派操作系统映像在CM4上设置otg_mode=1以获得更好的性能。

超频参数

在这里插入图片描述

ref

官网

  • 42
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万物琴弦光锥之外

给个0.1,恭喜老板发财

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值