本帖最后由 八宝粥 于 2013-5-24 15:36 编辑

原文连接:http://elinux.org/RPi_config.txt

由于树莓派并没有传统意义上的BIOS, 所以现在各种系统配置参数通常被存在”config.txt”这个文本文件中.

树莓派的config.txt文件会在ARM内核初始化之前被GPU读取.

这个文件存在引导分区上的.对于Linux, 路径通常是/boot/config.txt, 如果是Windows (或者OS X) 它会被识别为SD卡中可访问部分的一个普通文件.

如果想要编辑配置文件, 请查看介绍R-Pi_配置文件.

你可以使用下列命令去获取当前激活的设置:

  1. vcgencmd get_config - 列出指定的配置参数. 例如: vcgencmd get_config arm_freq

  2. vcgencmd get_config int - 列出所有已设置的整形配置参数(非零)

  3. vcgencmd get_config str - 列出所有已设置的字符型配置参数(非零)

复制代码

文件格式

当值是整形时格式为”属性=值”. 每行只指定一个参数. 注释使用’#’井号作为一行开头.

注意: 在新版的树莓派里每行都有#注释, 要想使用该行参数只需移除#.

下面是示例文件

  1. Force the monitor to HDMI mode so that sound will be sent over HDMI cable

  2. hdmi_drive=2

  3. Set monitor mode to DMT

  4. hdmi_group=2

  5. Set monitor resolution to 1024x768 XGA 60Hz (HDMI_DMT_XGA_60)

  6. hdmi_mode=16

  7. Make display smaller to stop text spilling off the screen

  8. overscan_left=20

  9. overscan_right=12

  10. overscan_top=10

  11. overscan_bottom=10

复制代码

这是另一个示例文件, 包含了各种功能的扩展文档.

内存

disable_l2cache 禁止ARM访问GPU的二级缓存. 相应的需要在内核中关闭二级缓存. 默认为0

gpu_mem GPU内存以兆为单位. 设置ARM和GPU之间的内存分配. ARM会获得剩余所有内存. 最小设为16. 默认为64

gpu_mem_256 对于有256MB内存的树莓派的GPU内存设置. 512MB的派请忽略. 会覆盖gpu_mem. 最大设为192. 默认不设置

gpu_mem_512 对于有512MB内存的树莓派的GPU内存设置. 256MB的派请忽略. 会覆盖gpu_mem. 最大设为448. 默认不设置

disable_pvt 禁止每500毫秒调整一次RAM的刷新率 (RAM温度测量).

CMA - 动态内存分配

自2012年11月19号, 固件和内核开始支持CMA, 这意味运行时可以动态管理ARM和GPU之间的内存分配. 这儿有相关config.txt示例.

cma_lwm 当GPU可用内存低于cma_lwm所设值, 将会向ARM请求一些内存.

cma_hwm 当GPU可用内存高于cma_hwm所设值, 将会向ARM释放一些内存.

要启用CMA,下面的参数需要添加到cmdline.txt文件里:

coherent_pool=6M smsc95xx.turbo_mode=N视频
视频模式选项

sdtv_mode 为复合信号输出设置视频制式(默认为0)

  1. sdtv_mode=0 NTSC

  2. sdtv_mode=1 日本版NTSC – 无基座

  3. sdtv_mode=2 PAL

  4. sdtv_mode=3 巴西版PAL – 副载波为525/60而不是625/50

复制代码

sdtv_aspect 为复合信号输出设置宽高比(默认为1)

sdtv_disable_colourburst 禁止复合信号输出彩色副载波群. 图片会显示为单色, 但是可能会更清晰

  1. sdtv_disable_colourburst=1 禁止输出彩色副载波群

复制代码

hdmi_safe 使用”安全模式”的设置去尝试用HDMI最大兼容性启动. 这和下面的组合是一个意思: hdmi_force_hotplug=1, config_hdmi_boost=4, hdmi_group=2, hdmi_mode=4, disable_overscan=0

hdmi_ignore_edid 如果你的显示器是天朝产的垃圾货, 允许系统忽略EDID显示数据

  1. hdmi_ignore_edid=0xa5000080

复制代码

hdmi_edid_file 当设为1时, 将会从edid.dat文件中读取EDID数据,而不是从显示器.[1]

hdmi_force_edid_audio 伪装成支持所有音频格式播放, 即便报告不支持也允许通过DTS/AC3.

hdmi_force_edid_3d 伪装成全部CEA模式都支持3D, 即便EDID并不支持.

avoid_edid_fuzzy_match 禁止去模糊匹配EDID中描述的模式. 即便遮蔽错误, 也选用匹配分辨率和最接近帧率的标准模式.

hdmi_ignore_cec_init 不发生初始化激活源消息. 避免在重启时使(启用CEC)TV结束待机并切换频道.

hdmi_ignore_cec 伪装成TV不支持CEC. 将不会支持任何CEC功能.

hdmi_force_hotplug 伪装成HDMI热插拔信号被检测到, 出现HDMI显示器被接入

  1. hdmi_force_hotplug=1 即便没有检测到HDMI显示器也要使用HDMI模式

复制代码

hdmi_ignore_hotplug 伪装成HDMI热插拔信号没有被检测到, 出现HDMI显示器未接入

  1. hdmi_ignore_hotplug=1 即便检测到HDMI显示器也要使用混合模式

复制代码

hdmi_pixel_encoding 强制像素编码模式. 默认情况下会使用EDID请求的模式, 所以不需要修改.

  1. hdmi_pixel_encoding=0 default (limited for CEA, full for DMT)

复制代码

hdmi_drive 选择HDMI还是DVI模式

  1. hdmi_drive=1 DVI模式 (没声音)

  2. hdmi_drive=2 HDMI模式 (如果支持并已启用将有声音输出)

复制代码

hdmi_group 设置HDMI类型

不指定组, 或者设为0, 将会使用EDID报告的首选组.

  1. hdmi_group=1 CEA

  2. hdmi_group=2 DMT

复制代码