关键词:树莓派、找不到config.txt、显示器、HDMI热插拔、hdmi_force_hotplug 如果移动端访问不佳,请访问–> GithubPage 版
快速预览:
config.txt
的路径通常是/boot/config.txt
,如果找不到,可能是/boot/firmware/config.txt
。再找不到,参考文章内【找到 config.txt】的思路去找。- 在 config.txt 里增加如下 2 行内容后重启树莓派即可开启 HDMI 热插拔功能
hdmi_force_hotplug=1
hdmi_drive=2
0x00:问题和背景
新到的树莓派4B,安装了带桌面的 Ubuntu 系统,前期为了方便,通过 HDMI 线外接了显示器,方便配置系统。但是配置完毕并拔掉显示器之后发现一个问题:重启树莓派后,如果没有外接显示器,则无法正常进入系统,定位到是 HDMI 检测机制的问题,它默认需要插上显示器才能正常启动。
查到资料需要开启树莓派的 HDMI 热插拔才能不依赖外接显示器。 于是需要我们:
- 找到配置文件 config.txt (本文重点)
- 修改 config.txt
0x01:定位 config.txt
修改 config.txt 有2大类方法
- 取出 SD 卡,在其他电脑上进行读取 SD 卡内容,找到
config.txt
进行修改 - 直接在树莓派内部运行中的系统当中进行修改
下面说下方法2:
通常 config.txt
的路径是 /boot/config.txt
,但是如果找不到,需要查看下磁盘分区,找到启动分区所在的目录。
$ fdisk -l
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 * 2048 526335 524288 256M c W95 FAT32 (LBA)
/dev/mmcblk0p2 526336 124735454 124209119 59.2G 83 Linux
看到2个分区:
- /dev/mmcblk0p1 (启动分区)
- /dev/mmcblk0p2
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p1 258095 113997 144099 45% /boot/firmware
/dev/mmcblk0p2 61862116 11804636 47472868 20% /
可见
- /dev/mmcblk0p2 挂载到 / 目录下,
- /dev/mmcblk0p1 挂载到 /boot/firmware 目录下
那么,config.txt 没在 /boot/下,应该就在 /boot/firmware 下了,即 /boot/firmware/config.txt
0x02:修改 config.txt
添加如下2行到 config.txt
然后重启树莓派即可
hdmi_force_hotplug=1
hdmi_drive=2
hdmi_force_hotplug=1
设置树莓派使用 HDMI 热插拔模式,即使没有检测到 HDMI 显示器。hdmi_drive=2
将树莓派设置为正常的 HDMI 模式(如果支持和启用,将发送声音)。如果没有这条线,树莓派将默认切换到 DVI(无音频)模式。
参考资料:
- How do I force the Raspberry Pi to turn on HDMI?
- 树莓派配置文件config.txt 参数详细介绍
- 树莓派4系统初始配置
- Raspberry Pi:强制 HDMI 热插拔
如果有什么建议或者问题可以随时联系我,共同探讨学习