config.txt

文件说明

  • 存放在/boot/config.txt
  • 只在开机时读取文件配置,更新修改需要重启
  • 该文件通常被用来配置输入输出设备, (config.txt几乎可以控制树莓派的所有硬件)
  • 删除该文件系统就会使用默认配置

    显示设置

    ```bash

    手动调整HDMI或复合视频输出可能导致树莓派无法与显示器通信,通常使用自动检测,除非一开始就无法看到图片

overscan_left #将画面整体向左侧移动一定长度(单位:像素) overscan_right #将画面整体向右侧移动一定长度(单位:像素) overscan_top #将画面整体向上侧移动一定长度(单位:像素) overscan_bottom #将画面整体向下侧移动一定长度(单位:像素) disable_overscan #消除屏幕黑边 framebuffer_width #调整画面宽度 framebuffer_height #调整画面高度

framebuffer_depth #调整终端画面的颜色深度

  1. #8位256色
  2. #16位65536色(默认)
  3. #24位1670万色
  4. #32位10亿色

framebuffer_ignore_alpha #是否禁用使用控制透明度的alpha通道

stdv_mode #树莓派模拟复合输出信号

  1. #0:NTSC 北美视频标准
  2. #1:NTSC-j 日本视频标准
  3. #2:PAL 英国和其他视频标准
  4. #3:PAL-M 巴西视频标准

stdv_aspect #控制模拟复合视频输出画面宽高比

  1. #4:3 旧的电视机
  2. #14:19 较小的宽屏电视机
  3. #16:9 大多数宽屏电视机

hdmi_mode #除了设置视频模式,还可以覆盖HDMI的接口的自动分辨率检测结果

hdmi_driver #改变HDMI接口的电压输出

  1. #DVI输出电压,HDMI信号中不包含音频
  2. #HDMI输出电压,HDMI信号中包含音频

hdmi_force_hotplug #值为0: 允许尝试检测显示器

  1. #值为1: 强制使用HDMI接口

hdmi_group #设置HDMI组模式

  1. #值为1: CEA(美国消费电子协会)指定的标准,[高清电视]
  2. #值为2: DMT旗下的VESA(视频电子标准协会)指定的标准,[计算机显示器]

hdmi_safe #强制使用预设的HDMI设置来提供最大兼容性

  1. #值为1时等价于
  2. #hdmi_force_hotplug=1
  3. #config_hdmi_boost=4
  4. #hdmi_group=1
  5. #hdmi_mode=1
  6. #disable_overscan=0
  1. <a name="qmNCG"></a>
  2. ### 启动设置
  3. ```bash
  4. disable_commandline_tags #该项告诉start.elf模块在加载Linux内核前不要填充0x100之后的内存(高危)
  5. cmdline #包含/boot/cmdline.txt文件
  6. kernel #该项为要加载的内核文件名称
  7. ramfsfile #该项为要加载的初始RAM文件系统的名称(高危)
  8. init_uart_baud #设置串口的频率,单位bit/s,
  9. enable_uart #树莓派3默认没有活动的串口终端,若要启动请在该项后加1

超频

  • [警告] 超频会减少寿命, 三思而后行 ```bash arm_freq #该项用于设置BCM2835的CPU核心时钟频率

gpu_frep #该项用于设置BCM2835的GPU的时钟频率,默认250 MHz core_frep #设置GPU的核心时钟频率而不改动其他组件频率 h264_frep #设置GPU的视频解码器时钟频率,提高H.264视频数据反馈率 isp_frep #设置图像感应器流水线的时钟频率 v3d_frep #设置GPU的3D渲染设备的时钟频率

sdram_frep #设置RAM芯片时钟频率,轻微提升整体性能 init_uart_clock #设置通用异步收发传输器的时钟频率,用来控制串行终端,默认3 MHz init_emmc_clock #设置SD卡控制器时钟速度, 默认80 MHz

  1. <a name="tiDJl"></a>
  2. ### 过压
  3. - [警告] 过度过压可能会永久损坏芯片
  4. - 强制组件在过高/过低电压下运行, 通过高电压强制芯片运行速度更快
  5. - 默认电压1.2V
  6. - 计算方式: 1.2+设置值的绝对值*0.025
  7. - 上限8, 下限-16 即 0.8V~1.4V
  8. ```bash
  9. over_voltage #调整BCM2835的核心电压,默认0 取值范围[-16,8]
  10. over_voltage_sdram #调整内存芯片的电压,默认0 取值范围[-16,8]
  11. over_voltage_sdram_c #调整内存控制器电压
  12. over_voltage_sdram_i #调整I/O系统电压
  13. over_voltage_sdram_p #调物理内存部件的电压

其他设置

  1. disable_l2cache=1 #关闭L2缓存
  2. gpu_mem=128 #设置GPU内存,剩下内存分配给CPU
  3. test_mode=1 #开启测试模式,开机不会进入默认系统,一般用于出厂是检测硬件是否合格

cmdline.txt

该文件在启动时将参数传递给内核, 注意所有内容都在连续的一行中
dwc_otg.lpm_enabel 用来告知是否禁用树莓派USB控制器的链路管理模式(LPM), 以防止在启用该功能时某些外设出现问题, 树莓派大多Linux版本默认禁用该模式

console 配置项告诉Linux是否创建串行控制台, 同时设置串口通信速率, 大部分情况下速率限定在115200 bit/s
第二个console用于创建tty1设备, 是一个文本界面

root 告诉Linux内核从哪里找到根文件系统
rootfstype 设定文件系统

rootwait 告诉内核是否在根目录完全读取时才试图启动系统

debug 启动中的所有debug信息都会打印到console上

quiet 将kernel log level设置为KERN_WARNING,在启动中只非常严重的信息

time 设置在每条kernel log信息前加一个时间戳

logo.nologo 禁用启动logo