1. 从开箱到点亮PiTray mini 初印象与硬件解析最近拿到了一块 PiTray mini这是一款围绕树莓派 Compute Module 4 (CM4) 设计的紧凑型开发底板。对于习惯了标准树莓派板卡形态的用户来说CM4及其载板是一个既熟悉又有些不同的领域。它把核心的SoC、内存和eMMC存储集成在一个类似内存条的模块上而载板则负责提供电源、接口扩展和外围电路。这种设计让产品形态更加灵活PiTray mini 正是这种灵活性的一个体现主打小巧、集成与即用性。我手里的这套设备核心就是一块已经焊接好eMMC的CM4模块和PiTray mini载板。开箱第一感觉是做工相当扎实PCB板沉甸甸的元器件排列紧凑。载板虽然叫“mini”但该有的接口一个不少一个全尺寸的HDMI接口、两个USB 2.0 Type-A口、一个千兆以太网口、一个用于供电的USB-C口以及一个关键的板载 microSD 卡槽。这个 microSD 卡槽的设计很有意思它并不是给CM4模块的eMMC用的因为CM4本身已经内置了存储。它的主要用途在我看来有两个一是作为系统启动的“第二选择”当CM4模块的eMMC没有系统或者需要从外部介质启动时可以从这个卡槽启动二是在某些调试或恢复场景下非常有用比如eMMC里的系统崩了你可以直接插一张写好系统的SD卡来启动并修复。另一个需要特别注意的硬件是电源。PiTray mini 通过 USB-C 口供电官方推荐使用 5V/3A 的电源适配器。这里有个坑点虽然很多手机充电头也是5V/3A但有些可能不符合树莓派对电源纹波和稳定性的要求。供电不足或不稳是导致树莓派各种“玄学”问题如无法启动、频繁重启、外设失灵的罪魁祸首。我手头有一个给树莓派4B备用的官方电源正好是5.1V/3A接口也是USB-C完美匹配。如果你手头没有建议选择口碑好的品牌电源确保输出足额5V/3A线材也要够粗减少压降。在通电前还有最后一步检查启动模式跳线。PiTray mini 上有一个标记为“nRPIBOOT”的跳线帽。这个跳线的状态决定了CM4的启动顺序。当跳线帽插上短路时CM4会优先尝试从板载的 microSD 卡槽启动当跳线帽拔掉开路时CM4则会从自身板载的eMMC存储器启动。我的CM4模块是带eMMC的并且我希望它从eMMC启动所以我需要确保 nRPIBOOT 跳线是开路状态也就是把跳线帽拔掉。这个细节非常关键很多新手第一次玩CM4载板插上电没反应八成是这个跳线设错了。2. 首次上电系统初始化与基础配置实战确认跳线设置正确nRPIBOOT开路后我用HDMI线连接显示器和PiTray mini接上键盘鼠标最后插上USB-C电源。通电瞬间板子上的一个绿色LED通常是电源/状态灯会常亮另一个红色LED通常是eMMC活动灯会快速闪烁几下然后保持常亮或微亮这表明板子已经上电并且eMMC开始工作。屏幕上很快出现了树莓派那熟悉的彩虹色方块启动画面紧接着是系统初始化界面。因为我这块CM4的eMMC是全新的里面没有预装系统所以首次启动会自动进入树莓派官方的“Raspberry Pi Imager”工具环境或者是一个类似的操作系统安装向导界面。这个过程和用SD卡给树莓派烧录系统很像只不过这次的目标磁盘是板载的eMMC。注意如果你的CM4 eMMC里已经有系统比如是二手的或者之前用过那么通电后会直接进入那个系统。如果你想重装就需要在启动时按住某个键比如Shift或者通过设置nRPIBOOT跳线从SD卡启动一个安装器来对eMMC进行烧录。在安装器界面我需要选择操作系统。这里提供了树莓派OS原Raspbian的多个版本包括带桌面环境的完整版、轻量版以及只有命令行界面的Lite版。考虑到PiTray mini可能用于一些轻量级应用或作为无头服务器我选择了“Raspberry Pi OS Lite (64-bit)”。选择后安装器会提示选择存储设备这里会自动识别到CM4的eMMC通常显示为“Compute Module 4 EMMC”或类似的描述。确认无误后点击“写入”安装器就会开始将系统镜像烧录到eMMC中。这个过程比烧录到SD卡要快一些因为eMMC的读写速度通常更高。烧录完成后系统会自动重启。这次重启后就会正式从eMMC启动进入全新的Raspberry Pi OS Lite系统。第一次启动会有一个扩充分区的过程等待片刻后出现命令行登录提示符raspberrypi login:。默认用户是pi密码是raspberry。登录成功后第一件事就是运行sudo raspi-config进行基础配置。在raspi-config里有几项是必做的修改密码系统安全的第一步立即修改默认的pi用户密码。本地化设置在Localisation Options里设置正确的时区Asia/Shanghai和键盘布局通常保持默认的Generic 105-key PC即可如果是其他键盘再调整。网络配置虽然可以通过网线连接但配置Wi-Fi会更方便。在System Options-Wireless LAN中选择你的国家CN然后输入SSID和密码。配置完成后可以用ifconfig wlan0或ip addr show wlan0查看是否获取到了IP地址。启用SSH对于无头没有显示器运行至关重要。在Interface Options里启用SSH。这样以后就可以通过网络远程登录了。内存分配由于我安装的是Lite版没有桌面环境所以GPU内存可以分配得少一些比如16MB或32MB在Performance Options-GPU Memory中设置。这能为系统省出更多可用内存。完成这些设置后选择Finish并重启。重启后一个基础可用的树莓派系统就在PiTray mini上跑起来了。3. 网络连接与远程访问告别显示器的束缚系统配置好后下一步就是建立稳定的远程访问通道这样以后就可以把显示器和键盘鼠标撤掉了真正实现“无头”运行。最常用且稳定的方式就是SSH。首先我需要知道PiTray mini的IP地址。如果接了网线它通常会通过DHCP自动获取一个IP。在显示器上可以直接用hostname -I命令查看所有网络接口的IP。如果只配置了Wi-Fi这个命令会显示wlan0的IP地址。更常见的场景是我们不知道IP只知道主机名默认是raspberrypi。在同一个局域网内可以使用ping raspberrypi.local来测试是否能够通过mDNS多播DNS解析到它的IP。大多数现代操作系统macOS, 最新版的Windows 10/11 以及安装了Avahi的Linux都支持.local域名解析。如果ping通了那么直接ssh piraspberrypi.local就可以连接。如果.local解析失败在一些企业网络或旧系统上可能出现就需要从路由器后台查找设备的IP地址或者使用IP扫描工具如nmap或Advanced IP Scanner在局域网段内扫描。成功通过SSH登录后为了提高安全性和便利性我通常会做两件事使用密钥认证替代密码登录在自己的电脑上生成SSH密钥对如果还没有的话ssh-keygen -t ed25519。然后将公钥~/.ssh/id_ed25519.pub的内容复制到树莓派的~/.ssh/authorized_keys文件中。这样可以实现免密登录且更安全。之后可以在树莓派的/etc/ssh/sshd_config文件中设置PasswordAuthentication no来禁用密码登录务必确保密钥登录先测试成功。配置静态IP可选但推荐对于服务器一个固定的IP地址更方便管理。可以编辑/etc/dhcpcd.conf文件在末尾添加针对特定接口的配置。例如为有线网卡eth0设置静态IPinterface eth0 static ip_address192.168.1.100/24 static routers192.168.1.1 static domain_name_servers192.168.1.1 8.8.8.8修改后需要重启网络服务或直接重启。除了SSH对于有桌面环境的系统VNC是远程图形化访问的好工具。但在Lite系统上我们更常用的是通过SSH进行端口转发或者安装一个轻量级的图形环境如Xfce后再配VNC。对于PiTray mini这种可能用于嵌入式场景的设备保持系统精简纯命令行管理往往是更优选择。4. 系统优化与存储管理为应用部署铺路系统跑起来只是第一步要让它稳定、高效地作为开发平台或服务器运行还需要进行一些优化。这些操作大多通过命令行完成也是树莓派玩家的基本功。首先是换源。默认的软件源在国外访问速度慢。将源更换为国内镜像能极大提升软件安装和更新的速度。编辑/etc/apt/sources.list和/etc/apt/sources.list.d/raspi.list文件将archive.raspberrypi.org和deb.debian.org的地址替换为国内镜像站如清华、中科大的地址。例如替换后sources.list文件里关于Debian bullseye的部分可能看起来像这样deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free而raspi.list里关于树莓派特定软件的部分则替换为deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main修改完成后运行sudo apt update更新软件列表sudo apt upgrade进行系统升级。第一次升级可能会花费一些时间。其次是存储空间查看。使用df -h命令可以查看各个挂载点的磁盘使用情况。重点关注根目录/的使用率。CM4的eMMC容量有多种规格8GB, 16GB, 32GB等df -h能让你清楚还剩多少空间可供使用。对于Lite系统如果eMMC是32GB通常空间会很充裕。接着是交换空间Swap管理。树莓派OS默认会启用一个交换文件通常位于/var/swap大小一般为100MB。对于内存较小的型号如1GB交换空间可以在内存不足时防止系统崩溃但频繁使用交换会严重拖慢速度因为eMMC/SD卡的读写速度远慢于内存。PiTray mini搭载的CM4内存规格可能从1GB到8GB不等。如果你分配的内存足够比如4GB或8GB并且运行的应用没有极端的内存需求可以考虑减小甚至禁用交换以保护eMMC的写入寿命和提高响应速度。可以通过sudo dphys-swapfile swapoff临时关闭然后编辑/etc/dphys-swapfile文件修改CONF_SWAPSIZE变量来调整大小设为0则禁用最后再sudo dphys-swapfile setup和swapon。最后是基础工具安装。一个干净的Lite系统只包含最核心的工具。根据你的用途可能需要安装一些常用软件包。例如vim或nano: 更顺手的文本编辑器。git: 版本控制从代码仓库拉取项目必备。htop: 比top更直观强大的进程查看器。tmux或screen: 会话管理工具防止SSH连接断开导致任务终止。python3-pip: Python包管理工具很多项目依赖Python。安装命令很简单sudo apt install vim git htop tmux python3-pip。5. 外围设备连接与测试验证接口可用性PiTray mini的接口虽然精简但足够用于连接常见的外设。在系统配置妥当后逐一测试这些接口是确保硬件工作正常的重要环节。USB接口测试两个USB 2.0接口可以用来连接键盘、鼠标、U盘、USB无线网卡如果板载Wi-Fi信号不佳等。插入一个U盘系统通常会自动挂载。你可以使用lsblk命令查看新增的块设备比如sda1然后使用sudo mount /dev/sda1 /mnt需要先创建/mnt目录进行挂载或者它可能已经被自动挂载到/media/pi/目录下。读写一下文件测试其功能是否正常。USB 2.0的速率对于大部分外设和普通文件传输是足够的。网络接口测试千兆以太网和Wi-Fi都需要测试。对于有线网络插上网线后eth0接口应该会亮起指示灯。使用ping -c 4 8.8.8.8测试外网连通性使用iperf3工具可以测试内网传输速度是否接近千兆。对于Wi-Fi使用iwconfig wlan0查看连接状态和信号强度同样用ping命令测试网络是否通畅。确保两种网络连接方式在重启后都能自动重连。HDMI显示测试如果你安装的是带桌面的系统HDMI输出应该直接就能用。在Lite系统下HDMI接口主要用于输出命令行终端。有时可能会遇到插入HDMI线后屏幕不亮的问题。这可能是由于EDID信息读取失败或分辨率不匹配。可以尝试在/boot/config.txt文件中添加或修改配置来强制指定分辨率例如hdmi_group2 hdmi_mode82这代表1080p 60Hz。修改后重启生效。更稳妥的方法是使用vcgencmd命令先查看显示器支持的模式vcgencmd get_config int但更常用的调试方法是尝试hdmi_force_hotplug1来强制启用HDMI输出。GPIO引脚测试PiTray mini必然会将CM4的GPIO引脚引出。虽然这篇主要讲开机但验证GPIO可访问性是基础。安装Python的GPIO库sudo apt install python3-gpiozero。然后可以写一个简单的脚本比如让一个连接在GPIO17和GND之间的LED闪烁。创建一个test_led.py文件from gpiozero import LED from time import sleep led LED(17) while True: led.on() sleep(1) led.off() sleep(1)运行前务必确认接线正确LED长脚接GPIO17短脚接GND并串联一个约330欧姆的电阻。运行python3 test_led.py如果LED闪烁说明GPIO基础功能正常。注意操作GPIO时一定要小心避免短路或接错高电压损坏板卡。6. 深入 boot 流程与故障排查当开机不顺利时树莓派包括CM4的启动过程相比传统PC的BIOS/UEFI更加集成化理解其基本流程有助于排查无法开机的问题。整个过程大致分为几个阶段第一级引导加载程序固化在SoC中上电后SoC内部的ROM代码首先运行。它的任务很简单检查GPIO引脚状态这关联到nRPIBOOT跳线决定从哪个存储设备eMMC或SD卡加载下一阶段引导程序。这就是为什么nRPIBOOT跳线如此关键。第二级引导加载程序bootcode.bin从选定设备如eMMC的启动分区通常是第一个FAT32分区中加载bootcode.bin。这个文件负责初始化SoC的更多部分特别是SDRAM控制器因为后面的步骤需要用到内存。第三级引导加载程序start.elf加载GPU固件start.elf。树莓派的特色之一是由GPU来负责启动ARM CPU。start.elf会读取config.txt配置文件和cmdline.txt内核命令行参数然后加载Linux内核kernel.img或kernel8.img用于64位系统到内存并将控制权交给内核。Linux内核启动与系统初始化内核开始运行挂载根文件系统启动systemd或init进程最终进入用户空间。基于这个流程如果PiTray mini通电后没有任何反应指示灯不亮或异常我们可以按以下步骤排查第零步检查电源。这是最常见的问题。确保使用5V/3A及以上规格的电源适配器并且USB-C线质量良好接触牢固。可以尝试更换电源和线缆。测量USB-C口的电压应在5V左右带负载时不应跌落太多。第一步检查启动介质和跳线。确认你的CM4 eMMC或SD卡里是否有可启动的系统。如果是新板子或新eMMC需要先烧录系统。反复确认nRPIBOOT跳线帽的状态是否符合你的启动预期想从eMMC启动就拔掉想从SD卡启动就插上。第二步观察指示灯。PiTray mini上通常至少有两个LED一个常亮的电源灯绿色一个闪烁或常亮的存储活动灯红色。如果绿灯不亮肯定是电源问题。如果绿灯亮但红灯异常比如常亮不闪或完全不亮可能是启动介质无法读取或损坏。第三步检查启动分区文件。如果能从SD卡启动可以将eMMC的系统启动分区FAT32挂载到SD卡启动的系统下检查。关键文件bootcode.bin,start.elf,kernel.img,config.txt等是否齐全。特别是config.txt一个错误的配置比如错误超频可能导致无法启动。可以尝试暂时将其重命名让系统使用默认配置启动。第四步查看内核日志。如果系统已经开始启动但卡在某个阶段可以通过串口调试来获取内核输出信息。这需要用到CM4的调试串口通常是GPIO14/TXD和GPIO15/RXD。你需要一个USB转TTL串口模块将模块的RX接CM4的TXDGPIO14TX接CM4的RXDGPIO15GND对接。在电脑上用串口终端软件如PuTTY、screen、minicom以115200波特率连接对应的串口设备。上电后就能看到从内核开始的启动日志这能精准定位卡在何处如文件系统挂载失败、驱动问题等。第五步最小化系统测试。拔掉所有非必要的外设USB设备、摄像头等只连接电源和串口或显示器看能否启动。排除外设冲突的可能性。我遇到过一种情况是config.txt中为了驱动某特定显示器设置了hdmi_group和hdmi_mode但换到另一台显示器上就无法显示。通过串口日志发现内核其实已经启动只是显示输出不匹配。这种情况下可以在启动时按住Shift键如果从SD卡启动或者通过串口登录后修改config.txt来跳过图形输出或恢复默认显示设置。7. 性能初探与稳定性验证它到底稳不稳开机并完成基础配置后我们需要对PiTray mini CM4这套组合进行一个简单的性能摸底和压力测试确保其在预期的负载下能稳定运行。这不仅仅是跑个分更是为了发现潜在的热量或电源问题。CPU与内存性能安装sysbench工具进行测试。首先是CPU性能运行sysbench cpu --cpu-max-prime20000 run。这个命令会让CPU计算20000以内的质数记录完成时间时间越短性能越好。你可以与标准树莓派4B的数据进行对比。CM4的CPU与树莓派4B相同所以性能应该在同一水平。内存测试则使用sysbench memory --memory-block-size1M --memory-total-size10G run测试内存读写速度。同时用free -h命令查看内存总量和可用量确认系统识别出的内存大小与CM4模块的规格一致例如你买的是4GB版本这里应该显示接近4GB。存储I/O性能eMMC的读写速度是关键。使用hdparm和dd命令进行简单测试读取速度测试sudo hdparm -Tt /dev/mmcblk0注意/dev/mmcblk0是eMMC的设备名可通过lsblk确认。写入速度测试谨慎操作会消耗写入寿命dd if/dev/zero of./test.b bs1M count512 oflagdirect。这个命令会在当前目录生成一个512MB的测试文件观察其写入速度。测试完成后记得删除test.b文件。eMMC的速度通常比SD卡快且稳定但不同规格如eMMC 5.1也有差异。实测的连续读取速度能达到200-300MB/s写入速度在100-200MB/s左右是正常表现。压力测试与散热观察运行一个综合压力测试让CPU和GPU都高负荷运转。可以安装stress-ng工具sudo apt install stress-ng。然后运行一个持续5分钟的测试stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 1G --timeout 300s。这个命令会启动4个CPU压力线程、2个IO线程和1个内存压力线程。在压力测试期间需要密切关注两件事温度运行vcgencmd measure_temp来实时监控SoC温度。树莓派CM4的CPU/GPU在满载时温度上升很快。如果温度超过80°C系统可能会开始自动降频thermal throttling以避免损坏这会导致性能下降。对于长期高负载应用考虑为PiTray mini添加散热片甚至小风扇。被动散热片是性价比很高的选择。电源稳定性观察板子上的电源指示灯是否稳定系统是否会突然重启或死机。如果发生这种情况极有可能是电源供电不足或质量不佳无法满足高负载下的瞬时电流需求。这是前面强调要使用优质5V/3A电源的原因。网络性能测试使用iperf3工具进行局域网速度测试。在另一台电脑上运行iperf3 -s作为服务器在树莓派上运行iperf3 -c 服务器IP作为客户端。测试有线千兆网口的吞吐量理论上应该能达到940Mbps左右扣除协议开销。Wi-Fi速度则取决于你的路由器和环境。完成这一轮测试后你对这块PiTray mini的基本性能和稳定性就有了一个底。它是一块小巧但功能完整的树莓派CM4载板接口够用性能与树莓派4B持平eMMC存储带来了更快的系统响应和更高的可靠性。对于需要紧凑尺寸、稳定存储和一定计算能力的项目它是一个非常不错的起点。