ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

玩客云刷Armbian搭建轻量级服务器:AdGuard Home与Syncthing实战

玩客云刷Armbian搭建轻量级服务器:AdGuard Home与Syncthing实战 玩客云这玩意儿当年出来的时候定位是家庭NAS下载机硬件配置放在今天看确实寒碜——四核A5、1GB内存、8GB eMMC但胜在便宜、功耗低、自带千兆网口和USB口。我手里这台是2020年从二手市场花三十块钱收的原系统早就停更了各种服务连不上基本等于一块砖。后来花了一个周末把它刷成Armbian现在跑着AdGuard Home、Syncthing和几个轻量级服务7×24小时开机功耗不到3W比树莓派还省电。这篇就把我刷机过程中踩过的坑、绕过的弯路、以及最终跑通的完整流程整理出来给同样想折腾的朋友一个参考。1. 刷机前必须想清楚的几件事1.1 玩客云到底适合做什么很多人一上来就问能不能刷成NAS这个问题得拆开看。玩客云的硬件底子是Amlogic S805四核Cortex-A5主频1.5GHz1GB DDR3内存8GB eMMC存储一个千兆网口两个USB 2.0口一个HDMI口。这个配置放在2024年跑个轻量级Linux服务绰绰有余但你要拿它当主力NAS跑Docker全家桶那就想多了。我实测下来的合理定位是轻量级常驻服务节点。具体能跑什么看下面这张表服务类型推荐程度实际体验AdGuard Home / DNS过滤强烈推荐内存占用不到50MB跑得很稳Syncthing / 文件同步推荐同步小文件没问题大文件受限于USB 2.0轻量级Web服务推荐Nginx PHP跑个静态站或小博客完全够Docker基础容器勉强可用跑一两个Alpine容器还行多了内存吃紧数据库服务不推荐MySQL跑起来内存直接爆SQLite可以视频转码不推荐S805没有硬件编码单元软解卡到怀疑人生所以刷之前先想清楚你是要一个能长期稳定跑几个小服务的节点还是想搞个全能NAS。如果是后者建议直接上N100或者二手J1900别在玩客云上浪费时间。1.2 Armbian版本选择为什么是5.9Armbian的版本号跟Ubuntu/Debian的版本是两套体系。Armbian 5.9对应的是Debian 9 Stretch或者Ubuntu 16.04 Xenial内核版本在3.10到4.14之间。为什么推荐这个版本而不是更新的原因很实际第一S805的驱动支持在旧内核里最完整。Amlogic S805这颗芯片在主线内核里的支持一直不温不火新版本内核反而容易出现网卡不识别、USB供电异常的问题。5.9时代的内核是Amlogic官方BSP和社区补丁混合的产物虽然老但稳。第二社区资源最丰富。玩客云刷Armbian的教程、镜像、工具链绝大多数都是围绕5.9这个版本做的。你遇到问题去搜能找到的答案基本都是这个版本的。用新版本反而容易变成第一个吃螃蟹的人出了问题没人帮你。第三资源占用更低。老内核没有那么多新特性但也没有那么多后台服务。1GB内存的机器上系统本身占用越少你能跑的服务就越多。当然如果你有足够的Linux功底想自己编译新内核那另当别论。但对于绝大多数人来说5.9是性价比最高的选择。1.3 需要准备的工具和材料动手之前把下面这些东西备齐免得刷到一半发现缺东西玩客云主机一台确认是S805版本不是S912的玩客云Pro。拆机看芯片丝印S805是正方形的S912是长方形的。USB转TTL串口线CH340G芯片的就行十几块钱。这是刷机的核心工具没有它基本没法救砖。双公头USB线用于USB Burning Tool刷机注意是公对公的。镊子或短接线用于短接主板上的触点进入刷机模式。螺丝刀套装玩客云外壳是卡扣螺丝结构需要拆机。电脑一台Windows系统因为Amlogic的刷机工具只有Windows版。Armbian 5.9镜像找针对S805的版本通常是Armbian_5.99_Amlogic-s805_*.img这种命名格式。USB Burning ToolAmlogic官方刷机工具版本2.1.6以上。balenaEtcher或dd用于写SD卡镜像。注意TTL线的线序一定要确认清楚。玩客云主板上通常标有GND、TX、RX但有些批次丝印是反的。接错线不会烧板子但会读不出串口输出白白浪费时间。2. 拆机与串口连接最容易被忽略的细节2.1 拆机过程与主板识别玩客云的外壳设计得挺巧妙底部有一圈橡胶垫抠开之后能看到四颗十字螺丝。拧掉螺丝之后用塑料撬棒沿着缝隙慢慢撬注意别用金属工具容易刮花外壳也容易短路。打开之后主板大概巴掌大小布局很紧凑。你需要找到几个关键位置TTL接口通常在主板边缘三个或四个排针孔旁边有丝印标注。有些批次是焊好的排针有些是空焊盘需要自己焊或者用探针顶着。短接点用于进入MaskROM模式通常是一个或两个测试点位置在eMMC芯片附近。不同批次的短接点位置不一样需要根据具体主板版本确认。eMMC芯片8GB的存储芯片通常是BGA封装别去动它。我手里这台是早期批次TTL排针是焊好的省了不少事。如果你的是空焊盘可以用杜邦线公头直接顶住焊盘用手按住保持接触虽然不太优雅但能用。2.2 串口连接与参数配置TTL线接好之后电脑上需要装CH340驱动然后用串口终端软件连接。Windows下推荐PuTTY或者MobaXtermLinux下直接用screen或minicom。串口参数是固定的波特率: 115200 数据位: 8 停止位: 1 校验位: 无 流控: 无连接之后给玩客云通电如果线接对了串口终端会刷出一堆启动日志。如果什么都没显示检查三件事TX和RX是不是接反了这是最常见的错误、GND有没有接好、波特率是不是115200。提示有些玩客云主板TTL接口的丝印标注和实际线序是反的。如果按丝印接没输出把TX和RX对调试试。这个坑我踩过折腾了半小时才发现是丝印标反了。2.3 进入刷机模式的关键操作玩客云进入刷机模式有两种方式方式一短接法。用镊子短接主板上的两个测试点然后通电保持短接几秒钟后松开。串口会显示进入MaskROM模式的日志。这个方法的成功率取决于短接点找得准不准。方式二串口命令法。如果系统还能启动到U-Boot可以在串口里输入reboot update命令直接重启进入刷机模式。这个方法更优雅但前提是U-Boot没坏。我建议先用方式二如果U-Boot已经挂了再用方式一。短接法虽然粗暴但确实是救砖的终极手段。3. 镜像写入与首次启动从SD卡到eMMC的完整链路3.1 镜像选择与SD卡写入Armbian 5.9的S805镜像在网上能找到好几个版本建议选社区维护的、带aml-s805标识的版本。下载下来是一个.img文件用balenaEtcher写入SD卡。写入之前注意两点SD卡容量8GB起步Class 10以上。低速卡会导致启动极慢甚至启动失败。写入模式balenaEtcher会自动识别但如果你用dd命令注意是写到整个设备如/dev/sdb而不是分区如/dev/sdb1。写完之后先别急着拔卡。打开SD卡的第一个分区通常是FAT32格式的boot分区找到uEnv.ini或者armbianEnv.txt文件确认里面的dtb文件名和你的设备匹配。S805对应的dtb通常是meson8b-*.dtb。3.2 从SD卡启动与eMMC安装把写好的SD卡插入玩客云通电。如果一切正常串口会显示从SD卡启动的日志然后进入Armbian的首次启动配置流程。首次启动会要求你设置root密码、创建普通用户、选择时区和语言。这些按提示操作就行。完成后你就得到了一个运行在SD卡上的Armbian系统。但SD卡启动只是临时方案最终目标是写入eMMC。Armbian提供了一个非常方便的命令armbian-install运行之后选择Install to eMMC工具会自动把系统复制到eMMC并配置启动项。整个过程大概需要5到10分钟取决于eMMC的写入速度。注意写入eMMC之前确保SD卡上的系统已经能正常联网、正常识别USB设备。如果SD卡启动就有问题写入eMMC之后问题只会更严重。3.3 首次启动后的基础配置写入eMMC并重启之后系统就从内置存储启动了。这时候需要做几件基础配置更新软件源和系统apt update apt upgrade -y配置静态IP编辑/etc/network/interfaces或者用armbian-config工具把IP固定下来。玩客云作为常驻服务节点IP飘来飘去会很麻烦。开启SSH密钥登录把公钥放到~/.ssh/authorized_keys然后禁用密码登录。具体操作是编辑/etc/ssh/sshd_config设置PasswordAuthentication no然后重启SSH服务。调整swap1GB内存的机器swap是必须的。Armbian默认会创建一个swap文件但大小可能不够。建议调整到1GB左右sudo fallocate -l 1G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab4. 刷机过程中最容易踩的五个坑4.1 坑一USB Burning Tool识别不到设备这是最常见的问题。插上双公头USB线打开USB Burning Tool结果设备列表里什么都没有。原因通常有三个驱动没装好。Amlogic的USB驱动需要手动安装在USB Burning Tool的安装目录里有WorldCup_Device文件夹运行里面的安装程序。装完之后在设备管理器里应该能看到WorldCup Device。短接时机不对。正确的顺序是先短接测试点再插USB线最后通电。很多人先通电再短接这时候系统已经启动到一半了自然进不了刷机模式。USB口供电不足。有些电脑的前置USB口供电不够换到后置USB口试试。如果还不行用带外部供电的USB Hub。4.2 坑二刷完Armbian后网卡不工作这个问题通常出现在用了不匹配的dtb文件时。S805的网卡是RTL8211E需要对应的驱动和dtb配置。如果你刷完之后ip addr看不到eth0检查/boot/armbianEnv.txt里的fdtfile参数确保指向的是meson8b-*.dtb而不是meson8-*.dtb。还有一个可能是网卡PHY的复位引脚配置不对。这个需要在dtb里改比较麻烦。简单的验证方法是插上网线看网口指示灯亮不亮。如果灯亮但系统不识别基本就是驱动问题如果灯都不亮可能是硬件或者供电问题。4.3 坑三eMMC写入后无法启动armbian-install跑完了重启却卡在U-Boot或者直接黑屏。原因通常是U-Boot的环境变量没有正确更新。解决方法是用SD卡重新启动然后手动更新U-Bootdd if/usr/lib/u-boot/meson8b-*/u-boot.bin of/dev/mmcblk0 bs1 count442 dd if/usr/lib/u-boot/meson8b-*/u-boot.bin of/dev/mmcblk0 bs512 skip1 seek1这两条命令把U-Boot写入eMMC的引导扇区。执行完之后再重启应该就能从eMMC启动了。提示执行dd命令之前务必确认/dev/mmcblk0是你的eMMC设备别写到SD卡上去了。用lsblk确认一下设备名。4.4 坑四系统时间不对导致SSL证书报错玩客云没有RTC电池断电之后时间会丢失。Armbian启动时会尝试通过NTP同步时间但如果网络还没通时间就是错的。时间错了会导致apt update报SSL证书错误。解决方法是在/etc/network/interfaces里配置好网络之后手动同步一次时间ntpdate pool.ntp.org或者安装systemd-timesyncd让它开机自动同步。如果NTP服务器连不上可以先用date -s手动设置一个大致正确的时间等网络通了再自动同步。4.5 坑五USB供电不足导致外接设备掉线玩客云的USB口供电能力有限接个U盘还行接移动硬盘就容易掉线。如果你要接USB存储设备建议用带外部供电的USB Hub。另外在/boot/armbianEnv.txt里可以加一行usb-storage.quirks参数禁用UAS模式改用BOT模式能提高一些兼容性extraargsusb-storage.quirks0x1234:0x5678:u其中0x1234:0x5678是你的USB设备的VID和PID用lsusb命令查看。5. 刷完之后能跑什么几个实测可用的服务5.1 AdGuard Home最值得部署的服务AdGuard Home是一个DNS级别的广告过滤器部署在玩客云上非常合适。安装方式很简单curl -s -S -L https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v安装完成后Web管理界面在http://你的IP:3000。配置好上游DNS和过滤规则之后把路由器的DNS指向玩客云的IP整个局域网的设备都能享受广告过滤。实测下来AdGuard Home在玩客云上内存占用约40-60MBCPU占用几乎可以忽略。过滤规则建议不要加太多3到5个主流规则集就够了加多了查询延迟会明显上升。5.2 Syncthing轻量级文件同步Syncthing是一个去中心化的文件同步工具不需要云服务器中转。在Armbian上安装curl -s https://syncthing.net/release-key.txt | sudo apt-key add - echo deb https://apt.syncthing.net/ syncthing stable | sudo tee /etc/apt/sources.list.d/syncthing.list sudo apt update sudo apt install syncthing -y配置成系统服务让它开机自启sudo systemctl enable syncthing你的用户名 sudo systemctl start syncthing你的用户名Web界面在http://你的IP:8384。同步小文件文档、照片、代码完全没问题大文件受限于USB 2.0的带宽速度大概在20-30MB/s。5.3 轻量级Web服务Nginx PHP如果你想跑个静态站或者小博客Nginx PHP-FPM的组合在玩客云上完全够用sudo apt install nginx php-fpm php-sqlite3 -y配置一个简单的站点把网站文件放到/var/www/html然后在Nginx里配置好PHP处理。SQLite作为数据库省内存又省事。实测一个日IP几百的小站玩客云跑起来毫无压力。5.4 资源监控轻量级方案1GB内存的机器监控很重要。推荐用netdata或者更轻量的glancessudo apt install glances -yglances可以在终端里直接看CPU、内存、磁盘、网络的实时状态比top直观得多。如果想Web访问可以用glances -w启动Web模式默认端口61208。6. 长期稳定运行的经验与建议6.1 散热与供电稳定性的基础玩客云原装没有散热片S805跑久了会烫手。我实测在室温25度环境下满载运行半小时后芯片表面温度能到70度以上。虽然S805的耐温上限是85度但长期高温会加速电子元件老化。建议加装一个小散热片十几块钱的事。如果空间允许加个5V小风扇对着吹温度能降20度左右。供电方面原装电源是5V 2A如果接了USB设备建议换成5V 3A的留足余量。6.2 系统备份刷机一次不容易eMMC写入之后建议做一次完整备份。方法是用SD卡启动然后dd if/dev/mmcblk0 of/mnt/sd/backup.img bs4M把eMMC的内容完整备份到SD卡上。以后系统搞坏了直接恢复回去省得重新刷机。备份文件大概8GB压缩之后4GB左右。6.3 定期维护保持系统健康Armbian 5.9基于Debian 9官方已经停止支持了。这意味着安全更新没有了所以不建议把玩客云暴露在公网上。如果确实需要外网访问用内网穿透工具或者自己搭个反向代理别直接开端口。定期检查磁盘空间、内存占用、系统日志。/var/log目录下的日志文件会慢慢变大建议配置logrotate或者定期清理。另外apt的缓存也会占空间定期apt clean一下。6.4 什么时候该放弃玩客云说句实在话玩客云的性能天花板很低。如果你发现以下情况说明该换设备了内存长期占用超过80%swap频繁读写需要跑Docker Compose编排多个服务需要硬件转码或者AI推理需要USB 3.0或者2.5G网口这时候别硬撑二手市场淘个N100小主机或者J4125工控机体验会好很多。玩客云的价值在于废物利用和低功耗常驻把它放在合适的位置上它就能发挥应有的作用。我目前这台玩客云已经稳定运行了八个多月跑了AdGuard Home、Syncthing和一个Nginx静态站平均负载0.1左右内存占用稳定在400MB上下。对于三十块钱收来的设备来说这个表现已经超出预期了。刷机的过程确实折腾但折腾完之后看着它安安静静地跑在角落里那种变废为宝的满足感大概就是折腾的意义所在。
返回列表