多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

树莓派系统安装全攻略:从镜像烧录到无屏幕配置与避坑指南

树莓派系统安装全攻略:从镜像烧录到无屏幕配置与避坑指南 1. 为什么树莓派系统安装值得单独拿出来讲很多人拿到树莓派的第一反应是“这不就是个小电脑吗插上电装个系统不就完了”。我一开始也这么想直到第一次给树莓派4B装系统时因为没注意供电和卡的质量连续烧了两张TF卡折腾了整整一个周末才跑起来。树莓派的系统安装和普通PC装Windows完全是两码事——它没有BIOS界面让你选启动项没有光驱让你塞安装盘甚至连显示器都不一定需要。它的启动逻辑、存储介质、镜像格式都有自己的规矩踩坑的概率比你想的高得多。这篇内容就是把我这些年给树莓派3B、4B、5以及Zero系列装系统的经验整理出来从镜像选择、烧录工具、无屏幕配置到首次启动后的必做设置一步步拆开讲。不管你是刚拿到板子的新手还是准备用树莓派做毕设、跑ROS2、部署YOLOv5模型的同学系统安装都是绕不过去的第一关。装好了后面才顺装不好后面全是玄学问题。我会把每个步骤背后的原因讲清楚让你知道为什么这么做而不是照着教程无脑点下一步。2. 装系统前的准备工作与核心思路2.1 树莓派启动逻辑和PC有什么不同普通PC的启动流程是BIOS/UEFI固件初始化硬件然后从硬盘或U盘读取引导程序再加载操作系统。树莓派没有传统意义上的BIOS它的启动代码固化在SoC内部的一小段ROM里。上电后GPU会先启动从SD卡或USB设备的第一个FAT分区里读取bootcode.bin、start.elf这些固件文件然后才加载Linux内核。这意味着两件事第一SD卡上必须有一个FAT32格式的引导分区树莓派只认这个第二如果引导分区里的文件损坏或缺失板子连屏幕都不会亮直接黑屏给你看。理解了这一点你就明白为什么树莓派装系统本质上就是“把正确的文件写到SD卡的正确分区里”。它不像PC那样有安装程序引导你一步步来而是直接把一个已经装好的系统镜像解压到存储卡上。所以镜像的选择和烧录工具的正确使用是整个流程里最关键的两个环节。2.2 镜像怎么选Raspberry Pi OS还是Ubuntu这是每个新手都会纠结的问题。我的建议很直接如果你只是想让树莓派跑起来、学Linux基础、做简单的GPIO控制选官方的Raspberry Pi OS以前叫Raspbian。它是专门为树莓派硬件优化的驱动齐全社区支持最好遇到问题一搜就有答案。如果你要做ROS2开发、跑YOLOv5推理、或者需要特定的Ubuntu软件包生态那就选Ubuntu Server for Raspberry Pi。Ubuntu 22.04和24.04都有官方适配树莓派的镜像ROS2 Humble和Jazzy在树莓派4B/5上都能跑。但要注意Ubuntu在树莓派上的体验和Raspberry Pi OS有差距。比如树莓派5的PCIe接口、摄像头模块的硬件加速在Ubuntu上的支持可能滞后。我实测过树莓派5装Ubuntu 24.04跑ROS2 Jazzy基本能用但GPU加速和摄像头这块需要额外折腾。所以选镜像之前先想清楚你的项目需求别为了“看起来更专业”去选一个自己搞不定的系统。2.3 存储卡和读卡器的选择标准TF卡的质量直接决定树莓派的稳定性和寿命。我踩过的坑用杂牌32GB卡装系统跑了两周就出现文件系统损坏日志里全是I/O错误。后来换成三星EVO Plus和闪迪Extreme系列同样的使用强度跑了半年都没事。选卡的核心指标是随机读写性能不是顺序读写。树莓派系统运行时大量小文件读写随机4K性能差的卡会让系统卡顿甚至卡死。容量方面32GB是起步64GB比较舒服。如果你要跑YOLOv5模型或者存大量数据128GB也不嫌多。读卡器也别省USB 3.0的读卡器烧录速度比USB 2.0快好几倍烧一个4GB的镜像好的读卡器两分钟搞定差的要十几分钟。另外树莓派5支持从NVMe SSD启动如果你有PCIe HAT扩展板可以直接把系统装到SSD上速度和可靠性都比TF卡强一个档次。3. 手把手实操从烧录到首次启动3.1 用Raspberry Pi Imager烧录系统官方推荐的烧录工具是Raspberry Pi ImagerWindows、macOS、Linux都有版本。它的好处是集成了镜像下载和烧录还能在烧录前直接配置WiFi、SSH、用户名密码这些参数省去了首次启动后还要接显示器键盘的麻烦。下载安装后打开界面很简单选择设备型号、选择操作系统、选择存储卡然后点写入。这里有个细节很多人忽略点击“选择操作系统”后不要只盯着推荐的Raspberry Pi OS往下翻有“Other general-purpose OS”和“Other specific-purpose OS”Ubuntu、LibreELEC、RetroPie这些都在里面。如果你要装Ubuntu直接在这里选Imager会自动下载对应的镜像。选好之后Imager会问你要不要自定义设置这里一定要点“编辑设置”。3.2 烧录前的关键配置WiFi、SSH和用户名在Imager的设置界面里你可以配置主机名、用户名密码、WiFi名称和密码、时区、键盘布局还能开启SSH服务。这些配置会被写入引导分区的一个配置文件里首次启动时系统会读取并应用。这意味着你不需要接显示器和键盘插上电等几分钟就能通过SSH连上去。WiFi配置要注意树莓派4B和5支持5GHz频段但如果你用的是老款3B只支持2.4GHz。另外WiFi国家代码要选对选错了会导致WiFi无法启用。SSH开启后默认端口是22用户名和密码就是你设置的那个。我建议不要用默认的“pi”用户名自己设一个密码也要够复杂毕竟树莓派一旦联网就是暴露在网络里的。注意如果你烧录的是Ubuntu镜像Imager的自定义设置可能不生效因为Ubuntu的首次启动配置机制和Raspberry Pi OS不同。Ubuntu需要用cloud-init或者首次启动时接显示器配置。3.3 无屏幕无网线安装Ubuntu的实操方法树莓派5无屏幕安装Ubuntu是很多人的需求尤其是手头没有多余显示器的。核心思路是烧录完Ubuntu镜像后在引导分区里手动创建配置文件。具体操作是烧录完成后电脑上会出现一个名为“system-boot”的分区在里面找到network-config文件按照YAML格式填入WiFi信息。然后找到user-data文件在里面设置用户名、密码和SSH公钥。这个方法的原理是Ubuntu使用的cloud-init在首次启动时会读取这两个文件自动完成网络和用户配置。我实测树莓派4B和5装Ubuntu 22.04/24.04都可行。但要注意network-config的缩进必须用空格不能用TabYAML对格式极其敏感缩进错了WiFi就连不上。另外树莓派5的WiFi模块和4B不同如果遇到连不上的情况检查一下是不是镜像版本太老不支持树莓派5的无线芯片。3.4 首次启动后的必做设置系统起来之后不管你是SSH连上去的还是接了显示器有几件事必须马上做。第一更新软件源和系统。Raspberry Pi OS默认的源在国外速度慢换成国内镜像源能快很多。树莓派修改源的方法是编辑/etc/apt/sources.list和/etc/apt/sources.list.d/raspi.list把raspbian.raspberrypi.org替换成清华或中科大的镜像地址。Ubuntu换源类似编辑/etc/apt/sources.list替换成对应版本的国内源。第二扩展文件系统。Raspberry Pi OS首次启动后会自动扩展分区但有时候不会需要手动执行sudo raspi-config里的“Expand Filesystem”。Ubuntu的话用growpart和resize2fs命令手动扩展。不扩展的话你的32GB卡可能只用了4GB剩下的空间全浪费了。第三配置SSH密钥登录禁用密码登录。这是安全基本操作尤其是树莓派要长期联网运行的场景。把公钥写到~/.ssh/authorized_keys然后编辑/etc/ssh/sshd_config设置PasswordAuthentication no重启SSH服务。4. 常见问题排查与避坑经验4.1 烧录后无法启动的排查思路树莓派插电后绿灯不亮或者常亮不闪屏幕黑屏这是最让人慌的情况。排查顺序是这样的先检查SD卡是不是插紧了树莓派4B和5的卡槽是推入式的要听到咔哒一声才算到位。然后检查镜像是不是烧录完整用Etcher或Imager烧录后它会校验如果校验失败就重新烧。再检查电源树莓派4B需要5V 3A树莓派5需要5V 5A电源不够会导致启动失败或者反复重启。如果绿灯闪烁但屏幕没输出可能是HDMI输出问题。树莓派4B有两个micro HDMI口靠近电源的那个是主输出。树莓派5也是类似。另外如果用的是老显示器可能需要在config.txt里强制设置HDMI模式。还有一种情况是SD卡本身有问题换一张卡试试这是最快的排除法。4.2 WiFi连不上和SSH拒绝连接的解决WiFi连不上的原因通常有三个国家代码没设对、密码里有特殊字符、或者路由器开了MAC地址过滤。在Raspberry Pi OS里用raspi-config设置WiFi国家代码为CN然后重启。如果还是不行检查/etc/wpa_supplicant/wpa_supplicant.conf文件里的配置密码要用引号括起来。Ubuntu的话检查network-config文件的YAML格式缩进和冒号后面的空格都不能错。SSH拒绝连接一般是服务没启动或者防火墙拦了。先确认树莓派和你的电脑在同一个网段用ping测试连通性。然后确认SSH服务在跑systemctl status ssh看一下。如果服务正常但连不上可能是密钥问题删掉本地的known_hosts里对应的条目再试。还有一种情况是树莓派首次启动时SSH被禁用了需要在引导分区里放一个名为ssh的空文件来启用。4.3 系统运行卡顿和文件系统损坏的预防树莓派跑着跑着变卡或者突然报I/O错误大概率是SD卡的问题。前面说过杂牌卡的随机读写性能差系统日志频繁写入会导致卡提前老化。预防措施有几个一是选高质量的卡二是减少不必要的日志写入比如把/var/log挂到tmpfs里三是定期备份重要数据。如果已经出现文件系统损坏用fsck修复但修复后可能还有隐患建议直接重烧系统。另外树莓派的供电稳定性对系统运行影响很大。电压不稳会导致SD卡写入中断进而损坏文件系统。用官方电源或者质量好的5V电源别用手机充电器凑合。如果树莓派5接了NVMe SSD电源要求更高官方27W电源是底线。4.4 常见问题速查表问题现象可能原因解决方法插电后绿灯不亮SD卡没插好或镜像损坏重新插卡重新烧录镜像绿灯闪烁但黑屏HDMI输出问题检查HDMI口修改config.txtWiFi连不上国家代码错误或密码问题设置国家代码为CN检查密码SSH拒绝连接服务未启动或密钥问题启用SSH服务清理known_hosts系统卡顿SD卡性能差或供电不足换高质量卡用官方电源文件系统损坏突然断电或卡老化fsck修复严重时重烧系统5. 进阶玩法从系统安装延伸到实际项目5.1 树莓派5上部署YOLOv5模型的系统准备如果你打算在树莓派5上跑YOLOv5系统安装阶段就要做好规划。推荐用Ubuntu 22.04 Server 64位因为YOLOv5的依赖和PyTorch在Ubuntu上支持更好。装完系统后先换源然后安装Python虚拟环境再装PyTorch和OpenCV。树莓派5的CPU性能比4B强不少但跑YOLOv5还是建议用NCNN或者ONNX Runtime做推理加速纯PyTorch推理帧率会比较低。系统层面要注意的是树莓派5的PCIe接口可以接NVMe SSD把系统和模型都放在SSD上读取速度比TF卡快很多。另外树莓派5的散热也要考虑跑推理时CPU温度会上去加个散热风扇或者散热片避免降频。5.2 基于ADS-B的树莓派系统配置要点树莓派做ADS-B接收机是经典项目系统安装时要注意USB接口的供电。ADS-B接收棒比如RTL-SDR对USB供电比较敏感供电不足会导致接收不稳定。建议用带外部供电的USB Hub或者直接用树莓派5的USB 3.0口。系统方面Raspberry Pi OS和Ubuntu都可以装好之后需要编译安装dump1090和piaware这些软件。如果要用readsb对系统版本有要求太老的Raspberry Pi OS可能编译不过。5.3 树莓派Pico和RP2040的清空固件操作树莓派Pico和RP2040微控制器和树莓派单板电脑是两套东西但很多人会搞混。Pico没有操作系统它跑的是固件。如果你想清空Pico上的固件按住BOOTSEL键插USB它会以U盘模式挂载然后把flash_nuke.uf2文件拖进去就能清空Flash。这个操作在换固件或者固件跑飞了的时候很有用。RP2040芯片的板子类似但具体操作看板子设计。6. 我个人的经验总结装树莓派系统这件事说简单也简单说坑也多。我最大的体会是别在存储卡和电源上省钱。一张好卡和一个靠谱的电源能帮你省下无数排查问题的时间。另外首次启动前的配置能省掉很多麻烦Raspberry Pi Imager的自定义设置功能一定要用起来无屏幕安装Ubuntu的cloud-init配置也要提前做好。还有一点系统装好之后先别急着装各种软件先把源换了、系统更新了、SSH密钥配了这些基础工作做好了后面装什么都顺。我见过太多人系统还没跑稳就开始装ROS2、装深度学习框架结果各种依赖冲突最后怪树莓派性能不行。其实问题出在系统安装阶段就没打好基础。最后分享一个小技巧如果你经常给树莓派重装系统可以把配置好的SD卡用dd命令备份成镜像文件下次直接烧录备份镜像省去重复配置的时间。这个习惯在我同时维护好几块树莓派的时候特别有用。
返回列表