1. 硬件识别与准备工作CM211-1 MC022主板刷Armbian的第一步就是要搞清楚自己手上的硬件版本。这可不是多此一举我见过太多人刷机失败就是因为没注意硬件差异。先说说我的踩坑经历第一次拿到这块板子时看到存储芯片上印着BWCMMQ511G08G以为是普通NAND闪存差点就放弃了。后来查资料才发现这其实是支持eMMC协议的存储芯片这才有了后续的折腾。关键硬件参数确认主控芯片Amlogic S905L3注意不是S905L3B内存2GB DDR3存储8GB eMMC网络百兆有线网卡部分版本带WiFi怎么确认这些信息最直接的方法是拆机查看芯片型号。主控芯片通常位于主板中央有金属散热片覆盖需要小心取下。存储芯片一般在主板背面我的这块就是BWCMMQ511G08G。内存芯片则分布在主控周围通常是两片1GB的DDR3颗粒。必备工具清单USB转TTL模块推荐CH340G便宜好用2.54mm间距排针用于焊接TTL接口电烙铁和焊锡建议使用尖头烙铁8GB以上U盘建议品牌U盘山寨盘容易出问题细螺丝刀套装拆机用特别提醒焊接TTL接口时要格外小心。这块板子的TTL针脚定义是从靠近网口一侧开始GND接地RX接收TX发送VCC千万不要接我刚开始就犯过接错线的错误把VCC接上了结果导致串口无法通信。后来用万用表测量才发现问题。正确的接法是只接GND、RX、TX三根线RX和TX要交叉连接板子的RX接TTL模块的TX板子的TX接TTL模块的RX。2. 固件选择与U盘制作选对固件版本是成功的一半。我前后试过五六个Armbian版本最终稳定运行的是Armbian_24.5.0_amlogic_s905l3-cm211_noble_5.15.156_server_2024.05.03.img。为什么选这个版本因为之前的23.11.0版本用着用着就会莫名其妙损坏根本没法长期使用。镜像下载注意事项一定要找专门针对S905L3优化的版本服务器版比桌面版更稳定不带GUI资源占用更低内核版本不是越新越好5.15.x长期支持版更可靠制作启动U盘我用的是Rufus工具具体步骤插入U盘注意备份数据会被清空打开Rufus选择下载的.img.gz文件分区类型选MBR文件系统选FAT32点击开始等待写入完成这里有个小技巧写入完成后不要急着拔U盘。用磁盘管理工具查看U盘应该能看到两个分区第一个是FAT32格式的BOOT分区第二个是EXT4格式的ROOTFS分区如果只看到一个分区说明写入有问题得重新来。我遇到过几次这种情况换了U盘就好了可能是某些U盘兼容性问题。常见问题排查写入失败换USB2.0接口试试或者换其他U盘无法启动检查U盘是否插在靠近网口的USB接口启动卡住可能是DTB文件不匹配需要修改extlinux.conf说到DTB文件这是个大坑。官方镜像自带的meson-gxl-s905l3-cm211.dtb在我的板子上根本不能用网络直接不工作。后来在Github上找到解决方案要用meson-gxl-s905l3b-m302a.dtb这个文件虽然设备树是给S905L3B用的但在S905L3上反而工作正常。3. 刷机过程详解刷机过程看似简单但每个步骤都有讲究。先说TTL连接这是整个刷机的关键。我建议先用测试模式确认串口工作正常screen /dev/ttyUSB0 115200上电后应该能看到uboot的启动日志。如果没反应检查线序是否正确GND、RX、TX波特率是否设为115200驱动是否安装CH340需要装驱动完整刷机步骤插入制作好的U盘靠近网口的USB口连接TTL打开串口终端上电后快速按回车中断uboot在uboot命令行输入run start_usb系统会从U盘启动登录后执行armbian-install重点来了运行armbian-install时需要手动输入参数。根据我的经验要这样选SoC Name: s905l3DTB Name: meson-gxl-s905l3b-m302a.dtbUBOOT_OVERLOAD: u-boot-p212.binMAINLINE_UBOOT: 留空BOOTLOADER_IMG: 留空安装过程中最关键的其实是分区设置。原始脚本的分区参数不适合这块板子会导致系统不稳定。需要修改armbian-install脚本找到s905l3的部分改成elif [[ ${AMLOGIC_SOC} s905l3 ]]; then BLANK1108 BOOT512 BLANK264这个分区方案是经过多次测试最稳定的配置。BLANK1留出108MB空间给ubootBOOT分区512MB再留64MB空白。如果不这么设置很容易出现系统运行一段时间后崩溃的问题。安装完成后切记要用poweroff命令关机然后才能拔电。直接断电的话有很大概率会把系统搞挂。我就吃过这个亏装好系统兴奋地直接拔电结果再也启动不了只能重刷。4. 网络问题解决方案刷完系统第一个遇到的问题就是网络不能用。这其实是DTB文件不匹配导致的。解决方法如下首先确认网卡被识别ip addr show eth0如果连设备都没有肯定是DTB问题修改/boot/extlinux/extlinux.conf找到dtb那行改成FDT /dtb/amlogic/meson-gxl-s905l3b-m302a.dtb重启后检查网络ethtool eth0应该能看到Link detected: yes如果还是不行可能需要手动配置网络。编辑/etc/network/interfacesauto eth0 iface eth0 inet dhcp pre-up /sbin/ifconfig eth0 mtu 1480这里设置MTU为1480是因为某些路由器对这个比较敏感。我家的路由器就不支持默认的1500导致网络时断时续改了就好了。WiFi驱动问题 有些版本的CM211-1带WiFi模块通常是RTL8189或RTL8822。驱动安装方法apt install firmware-realtek modprobe rtl8189fs不过实测下来WiFi稳定性不如有线建议还是用网线。特别是做服务器用的话WiFi容易断连。5. 系统优化与长期维护系统刷好只是开始想要长期稳定运行还得做些优化。首先是文件系统eMMC的寿命是个问题可以通过以下方式延长启用ext4的写屏障tune2fs -o barrier1 /dev/mmcblk1p2减少不必要的写入systemctl disable --now logrotate.timer systemctl mask systemd-journal-flush启用zram交换分区apt install zram-config内存管理也很重要2GB内存跑服务器有点吃紧。我的优化方案禁用不必要的服务bluetooth、avahi-daemon等使用lightweight替代品比如用busybox-syslogd替代rsyslog定期清理缓存echo 3 /proc/sys/vm/drop_caches监控与维护 建议安装netdata来监控系统状态bash (curl -Ss https://my-netdata.io/kickstart.sh)设置定时重启也是个好习惯可以防止内存泄漏crontab -e 0 4 * * * /sbin/reboot最后说说备份。eMMC损坏是常有的事我建议每月做一次完整备份dd if/dev/mmcblk1 | gzip /mnt/backup/cm211-1.img.gz6. 常见故障排查遇到问题不要慌这里分享几个我遇到的典型问题及解决方法。问题一系统突然无法启动症状上电后TTL没有任何输出 解决方法检查电源是否正常我用万用表量过有些电源适配器老化输出不足重新焊接TTL接口虚焊很常见尝试短接eMMC的CLK引脚强制进入USB烧录模式问题二网络时断时续症状ping网关丢包严重 排查步骤更换网线测试调整MTU值1480或1492试试检查交换机/路由器端口是否正常问题三系统运行一段时间后卡死症状SSH连不上TTL无响应 可能原因内存不足free -h查看散热不良S905L3发热量不小eMMC坏块我的解决方案是加装散热片效果立竿见影。用红外测温枪测过没加散热片时芯片温度能到85℃加了之后不超过65℃。7. 硬件改造建议想要更稳定运行可以考虑做些硬件改造。我做了这些改动散热改造主控加装20x20mm散热片在外壳上钻孔增加通风有条件可以加装4010小风扇电源优化更换质量更好的5V3A电源在主板电源输入处并联470μF电容用万用表测量实际电压确保在5V±5%范围内eMMC备份方案焊接MicroSD卡座需要飞线修改uboot优先从SD卡启动系统损坏时可以通过SD卡恢复这些改造不是必须的但能显著提高稳定性。特别是散热改造我做过对比测试改造前后系统连续运行时间从平均7天提升到了30天以上。
CM211-1 MC022主板Armbian刷机避坑与长期稳定运行指南
1. 硬件识别与准备工作CM211-1 MC022主板刷Armbian的第一步就是要搞清楚自己手上的硬件版本。这可不是多此一举我见过太多人刷机失败就是因为没注意硬件差异。先说说我的踩坑经历第一次拿到这块板子时看到存储芯片上印着BWCMMQ511G08G以为是普通NAND闪存差点就放弃了。后来查资料才发现这其实是支持eMMC协议的存储芯片这才有了后续的折腾。关键硬件参数确认主控芯片Amlogic S905L3注意不是S905L3B内存2GB DDR3存储8GB eMMC网络百兆有线网卡部分版本带WiFi怎么确认这些信息最直接的方法是拆机查看芯片型号。主控芯片通常位于主板中央有金属散热片覆盖需要小心取下。存储芯片一般在主板背面我的这块就是BWCMMQ511G08G。内存芯片则分布在主控周围通常是两片1GB的DDR3颗粒。必备工具清单USB转TTL模块推荐CH340G便宜好用2.54mm间距排针用于焊接TTL接口电烙铁和焊锡建议使用尖头烙铁8GB以上U盘建议品牌U盘山寨盘容易出问题细螺丝刀套装拆机用特别提醒焊接TTL接口时要格外小心。这块板子的TTL针脚定义是从靠近网口一侧开始GND接地RX接收TX发送VCC千万不要接我刚开始就犯过接错线的错误把VCC接上了结果导致串口无法通信。后来用万用表测量才发现问题。正确的接法是只接GND、RX、TX三根线RX和TX要交叉连接板子的RX接TTL模块的TX板子的TX接TTL模块的RX。2. 固件选择与U盘制作选对固件版本是成功的一半。我前后试过五六个Armbian版本最终稳定运行的是Armbian_24.5.0_amlogic_s905l3-cm211_noble_5.15.156_server_2024.05.03.img。为什么选这个版本因为之前的23.11.0版本用着用着就会莫名其妙损坏根本没法长期使用。镜像下载注意事项一定要找专门针对S905L3优化的版本服务器版比桌面版更稳定不带GUI资源占用更低内核版本不是越新越好5.15.x长期支持版更可靠制作启动U盘我用的是Rufus工具具体步骤插入U盘注意备份数据会被清空打开Rufus选择下载的.img.gz文件分区类型选MBR文件系统选FAT32点击开始等待写入完成这里有个小技巧写入完成后不要急着拔U盘。用磁盘管理工具查看U盘应该能看到两个分区第一个是FAT32格式的BOOT分区第二个是EXT4格式的ROOTFS分区如果只看到一个分区说明写入有问题得重新来。我遇到过几次这种情况换了U盘就好了可能是某些U盘兼容性问题。常见问题排查写入失败换USB2.0接口试试或者换其他U盘无法启动检查U盘是否插在靠近网口的USB接口启动卡住可能是DTB文件不匹配需要修改extlinux.conf说到DTB文件这是个大坑。官方镜像自带的meson-gxl-s905l3-cm211.dtb在我的板子上根本不能用网络直接不工作。后来在Github上找到解决方案要用meson-gxl-s905l3b-m302a.dtb这个文件虽然设备树是给S905L3B用的但在S905L3上反而工作正常。3. 刷机过程详解刷机过程看似简单但每个步骤都有讲究。先说TTL连接这是整个刷机的关键。我建议先用测试模式确认串口工作正常screen /dev/ttyUSB0 115200上电后应该能看到uboot的启动日志。如果没反应检查线序是否正确GND、RX、TX波特率是否设为115200驱动是否安装CH340需要装驱动完整刷机步骤插入制作好的U盘靠近网口的USB口连接TTL打开串口终端上电后快速按回车中断uboot在uboot命令行输入run start_usb系统会从U盘启动登录后执行armbian-install重点来了运行armbian-install时需要手动输入参数。根据我的经验要这样选SoC Name: s905l3DTB Name: meson-gxl-s905l3b-m302a.dtbUBOOT_OVERLOAD: u-boot-p212.binMAINLINE_UBOOT: 留空BOOTLOADER_IMG: 留空安装过程中最关键的其实是分区设置。原始脚本的分区参数不适合这块板子会导致系统不稳定。需要修改armbian-install脚本找到s905l3的部分改成elif [[ ${AMLOGIC_SOC} s905l3 ]]; then BLANK1108 BOOT512 BLANK264这个分区方案是经过多次测试最稳定的配置。BLANK1留出108MB空间给ubootBOOT分区512MB再留64MB空白。如果不这么设置很容易出现系统运行一段时间后崩溃的问题。安装完成后切记要用poweroff命令关机然后才能拔电。直接断电的话有很大概率会把系统搞挂。我就吃过这个亏装好系统兴奋地直接拔电结果再也启动不了只能重刷。4. 网络问题解决方案刷完系统第一个遇到的问题就是网络不能用。这其实是DTB文件不匹配导致的。解决方法如下首先确认网卡被识别ip addr show eth0如果连设备都没有肯定是DTB问题修改/boot/extlinux/extlinux.conf找到dtb那行改成FDT /dtb/amlogic/meson-gxl-s905l3b-m302a.dtb重启后检查网络ethtool eth0应该能看到Link detected: yes如果还是不行可能需要手动配置网络。编辑/etc/network/interfacesauto eth0 iface eth0 inet dhcp pre-up /sbin/ifconfig eth0 mtu 1480这里设置MTU为1480是因为某些路由器对这个比较敏感。我家的路由器就不支持默认的1500导致网络时断时续改了就好了。WiFi驱动问题 有些版本的CM211-1带WiFi模块通常是RTL8189或RTL8822。驱动安装方法apt install firmware-realtek modprobe rtl8189fs不过实测下来WiFi稳定性不如有线建议还是用网线。特别是做服务器用的话WiFi容易断连。5. 系统优化与长期维护系统刷好只是开始想要长期稳定运行还得做些优化。首先是文件系统eMMC的寿命是个问题可以通过以下方式延长启用ext4的写屏障tune2fs -o barrier1 /dev/mmcblk1p2减少不必要的写入systemctl disable --now logrotate.timer systemctl mask systemd-journal-flush启用zram交换分区apt install zram-config内存管理也很重要2GB内存跑服务器有点吃紧。我的优化方案禁用不必要的服务bluetooth、avahi-daemon等使用lightweight替代品比如用busybox-syslogd替代rsyslog定期清理缓存echo 3 /proc/sys/vm/drop_caches监控与维护 建议安装netdata来监控系统状态bash (curl -Ss https://my-netdata.io/kickstart.sh)设置定时重启也是个好习惯可以防止内存泄漏crontab -e 0 4 * * * /sbin/reboot最后说说备份。eMMC损坏是常有的事我建议每月做一次完整备份dd if/dev/mmcblk1 | gzip /mnt/backup/cm211-1.img.gz6. 常见故障排查遇到问题不要慌这里分享几个我遇到的典型问题及解决方法。问题一系统突然无法启动症状上电后TTL没有任何输出 解决方法检查电源是否正常我用万用表量过有些电源适配器老化输出不足重新焊接TTL接口虚焊很常见尝试短接eMMC的CLK引脚强制进入USB烧录模式问题二网络时断时续症状ping网关丢包严重 排查步骤更换网线测试调整MTU值1480或1492试试检查交换机/路由器端口是否正常问题三系统运行一段时间后卡死症状SSH连不上TTL无响应 可能原因内存不足free -h查看散热不良S905L3发热量不小eMMC坏块我的解决方案是加装散热片效果立竿见影。用红外测温枪测过没加散热片时芯片温度能到85℃加了之后不超过65℃。7. 硬件改造建议想要更稳定运行可以考虑做些硬件改造。我做了这些改动散热改造主控加装20x20mm散热片在外壳上钻孔增加通风有条件可以加装4010小风扇电源优化更换质量更好的5V3A电源在主板电源输入处并联470μF电容用万用表测量实际电压确保在5V±5%范围内eMMC备份方案焊接MicroSD卡座需要飞线修改uboot优先从SD卡启动系统损坏时可以通过SD卡恢复这些改造不是必须的但能显著提高稳定性。特别是散热改造我做过对比测试改造前后系统连续运行时间从平均7天提升到了30天以上。