news 2026/10/16 2:36:50

S905L3B 机顶盒装 Armbian:完整改造实操

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
S905L3B 机顶盒装 Armbian:完整改造实操

S905L3B 机顶盒装 Armbian:完整改造实操

【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian

amlogic-s9xxx-armbian 把 S905L3B 机顶盒改造成一台完整的 Armbian 服务器。整机功耗只有几瓦,Docker、Jellyfin、qBittorrent 常开不心疼电,Debian/Ubuntu 软件源全部通用。

🔧 设备画像与工具清单:S905L3B 改造前备齐这些东西

硬件典型规格改造时真正要留意的点
CPU四核 Cortex-A53 @1.8GHz被动散热,长时间满载会降频,注意散热
内存1GB(部分机型 2GB)跑 Docker 前建议先开 zram 防 OOM
存储8GB eMMC(部分机型 16GB)写 eMMC 前先备份原安卓系统
网络百兆为主,个别机型千兆装完先确认网卡速率,别按千兆规划
USBUSB 2.0 x2部分盒子只有特定 USB 口支持启动

硬件工具:

  • USB 转 TTL 调试模块(CH340G 小板即可)+ 杜邦线 4 根:启动出问题时唯一的排查窗口
  • 8GB 及以上 U 盘:2.0 高速盘,容量越小启动兼容性通常越好
  • USB 双公头线 + 曲别针:极端情况要短接主板恢复点线刷,提前备着
  • 精密螺丝刀一套:拆机找 UART 焊点用

软件工具:

  • Armbian 镜像:从项目 Releases 下载 s905l3b 板型版本
  • 镜像写入工具:BalenaEtcher 或直接用 dd
  • 终端软件:PuTTY、MobaXterm 或任意 SSH 客户端,系统默认端口 22
  • ADB 工具:初次安装时要让盒子从 U 盘启动,靠它

🧭 动手前的检查:芯片型号与 dtb 怎么确认匹配

这一步卡住的人最多。盒子 SoC 必须在项目支持范围内,S905L3B 是支持的,常见型号 E900V21D/E、E900V22D/E、CM201-1、CM311-1、TY1608、MGV2000 等都在列表里。但同 SoC 不同型号,内存、网口、eMMC 的接法都可能不一样,描述这些差异的文件叫 dtb(设备树,你可以理解为告诉内核"这台具体机型硬件怎么接线"的说明书)。dtb 对不上的典型后果有三种:直接起不来、起来了但没网络没磁盘、或者卡在 uboot 循环重启。

从 U 盘启动后,用这两条命令确认系统当前用的 board 和 dtb 对不对:

cat /etc/armbian-release grep FDT /boot/uEnv.txt

第一条是 board 代号,FDT 那行是当前加载的 dtb 文件名。如果你的型号不在默认构建列表里,下载同 SoC 家族的镜像,把 boot 分区里/boot/uEnv.txt的 FDT 行改成对应你机型的 dtb 即可,对照表在 documents/README.cn.md 的 12.1 章节。

💡 dtb 不匹配时只需要动 FDT 这一行,boot 分区其他文件不用碰。

💾 从烧镜像到系统跑起来:制作启动 U 盘并安装到 eMMC

六步,每步只做一件事。

第一步,拿镜像。两条路:直接下载 Releases 里预编译的 s905l3b 版本(文件名形如Armbian_*_s905l3b_*.img.gz);需要自定义内核版本或分区大小才在本地编译,仓库克隆后按 Ubuntu 24.04 环境装依赖再执行 rebuild:

git clone --depth 1 https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian cd amlogic-s9xxx-armbian sudo apt-get update -y sudo apt-get full-upgrade -y sudo apt-get install -y $(cat compile-kernel/tools/script/ubuntu2404-build-armbian-depends) sudo ./rebuild -b s905l3b -k 6.6.12

产物在build/output/images目录,-k后面的版本号换成你要的内核。不需要定制的跳过这步,下预编译即可。

第二步,写 U 盘。Linux 下一行 dd 搞定:

⚠️/dev/sd<盘符>必须是 U 盘,先用lsblk确认路径。写错设备等于抹掉那块盘的全部数据,dd 没有撤销。

sudo dd if=<镜像文件>.img of=/dev/sd<盘符> bs=4M status=progress conv=fsync

第三步,接 TTL 调试线(建议,非必须)。拆机后找主板上标 UART、TTL 或 CONSOLE 的焊点,一般是 TX、RX、GND 三个。接法务必交叉:调试模块 TX 接主板 RX,调试模块 RX 接主板 TX,GND 接 GND。终端参数 115200 波特率、8 数据位、1 停止位、无校验。接上之后能完整看到 uboot 和内核启动日志,后面万一不启动,这条线就是救命稻草。

第四步,U 盘启动。正常情况下插好 U 盘直接上电就能启动,USB 启动优先于 eMMC。例外是盒子还在安卓里的初次安装:盒子本身得被切进 USB 启动状态。在盒子上开启开发者模式(设置 → 关于本机 → 版本号连点 5 次),打开 USB 调试,然后在电脑端连上:

adb connect <盒子IP> adb shell reboot update

盒子重启后就会从 U 盘走。如果还是不启动,别急着往下走:先重新校验写入是否完整,再换 USB 口试,部分盒子只有一个口支持启动。

第五步,写入 eMMC。SSH 登录(默认用户 root,密码 1234),先跑armbian-ddbr,按提示输入 b,把/ddbr/下生成的BACKUP-arm-64-emmc.img.gz拷到别处保存——这是原安卓系统的完整备份。

⚠️armbian-install会整块覆盖 eMMC,原系统直接消失。跳过上一步备份的话,出问题只能短接恢复点重刷出厂固件。

armbian-install

交互式提示里选 eMMC 目标、确认默认分区方案,等写完自动重启。

第六步,验证。拔掉 U 盘重新上电,能 SSH 进去就说明 eMMC 启动成功,再跑一遍"动手前的检查"里那两条命令确认 board 和 dtb。如果黑屏且连不上,先看 TTL 输出卡在哪,多数情况还是 dtb 不匹配。

⚙️ 装完之后的三件事:zram 怎么配、存储怎么清、BBR 怎么开

zram:1GB 内存别让它爆

1GB 内存跑起 Docker 就很紧张,开一个压缩交换的 zram,把 swappiness 压低让内核尽量用真内存:

apt install -y zram-config sysctl -w vm.swappiness=10 free -h

要长期生效把vm.swappiness=10追加进/etc/sysctl.conf。项目另外提供armbian-swap 1建磁盘交换分区(参数单位 GB),磁盘余量够的话可以两者都开。

存储:8GB eMMC 别让它满

apt clean && apt autoremove -y journalctl --vacuum-size=100M

先把 apt 缓存和 journal 日志清一遍。系统装完 eMMC 只剩几个 GB,数据类业务必须外移:用blkid查到 U 盘 UUID,在/etc/fstab里加一行UUID=<uuid> /mnt/usb ext4 defaults,nofail 0 2,下载目录和媒体库都指到/mnt/usb下。

网络:静态 IP + BBR

echo 'net.ipv4.tcp_congestion_control=bbr' >> /etc/sysctl.conf sysctl -p

内核不带 bbr 就换 cubic。常开服务器建议固定 IP:在/etc/network/interfaces写静态配置,documents/README.cn.md 12.7 章节有现成示例,把 IP 改成你的网段即可。盒子多是百兆网卡,吞吐别按千兆预期。

📦 装什么、怎么装:armbian-software 软件中心用法

系统里预置了软件中心,登录盒子执行armbian-software,输入软件 ID 就能一键安装,容器镜像、依赖、端口都是自动配好的;先执行armbian-software -u可同步最新软件列表。常见场景对应的 ID:

场景工具安装命令或 ID
容器平台DockerID 101
容器可视化管理Portainer(端口 9443)ID 102
家庭媒体服务器Jellyfin(端口 8096)ID 107
BT 下载qBittorrent(端口 8080)ID 105
智能家居中枢HomeAssistant(端口 8123)ID 108
多设备文件同步Syncthing(端口 8384)ID 113
系统实时监控Netdata(端口 19999)ID 119

完整列表(Plex、NextCloud、frp、Node-RED 等)见 documents/armbian_software.md。

🩺 出了问题往哪查:S905L3B 高频故障与排查命令

  • U 盘无法启动,TTL 无输出:先lsblk看 U 盘分区是否被识别,再看 TTL 里 uboot 走到哪一步。最常见原因是镜像没写完整或 U 盘兼容性差,重写一次或换小容量 U 盘。
  • 起来了但没网络、没磁盘:ip a看网卡,lsblk看设备。最常见原因是 dtb 不匹配,把/boot/uEnv.txt的 FDT 行换成正确 dtb(对照 12.1 章节的表)再重启。
  • 更新内核后系统起不来:执行armbian-update -s恢复备份内核。备份在/ddbr/backup,保留最近 3 个版本,不用重装。
  • 红外遥控误触关机:红外接收模块默认启用,/etc/modprobe.d/blacklist.conf加一行blacklist meson_ir再重启即可,方法见文档 12.5 章节。
  • 想退回安卓:armbian-ddbr输入 r,前提是装系统时留了备份文件。

📚 延伸阅读:项目内置文档指路

  • documents/README.cn.md:主使用文档,dtb 对照表(12.1)、USB 启动设置(12.4)、网络配置(12.7)、恢复安卓(12.3)都在这。
  • documents/armbian_software.md:软件中心完整清单与 ID 说明,装服务前先来这里选。
  • compile-kernel/README.cn.md:自定义内核编译指南,要加自己的驱动或补丁时看。
  • documents/led_screen_display_control.md:LED 数码屏显示控制,部分型号装完顺手可以玩一下。

装到这一步,先跑一条free -h确认 zram 已经生效,然后从上表挑一个 ID 把第一个服务装上。

【免费下载链接】amlogic-s9xxx-armbianSupports running Armbian on Amlogic, Allwinner, and Rockchip devices. Support a311d, s922x, s905x3, s905x2, s912, s905d, s905x, s905w, s905, s905l, rk3588, rk3568, rk3399, rk3328, h6, etc.项目地址: https://gitcode.com/GitHub_Trending/am/amlogic-s9xxx-armbian

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 2:32:05

机器学习中向量与标量运算的常见陷阱与避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 2:31:23

用XiaoMusic让小爱音箱免会员播放全网音乐

用XiaoMusic让小爱音箱免会员播放全网音乐 【免费下载链接】xiaomusic 使用小爱音箱播放音乐&#xff0c;音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 你对着客厅的小爱音箱说"播放晴天"&#xff0c;它回答你"…

作者头像 李华
网站建设 2026/10/16 2:30:20

电商订单拆分规则与流程:拆单本质、设计要点与实战踩坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华