查看英文说明 | View English description
Armbian(中文名:岸边)是基于 Debian/Ubuntu 构建的专为 ARM 芯片设计的轻量级 Linux 发行版。Armbian 系统精简、清洁,100% 兼容并继承了 Debian/Ubuntu 的功能与丰富的软件生态,可以安全稳定地运行在 TF/SD/USB 及设备的 eMMC 存储中。本项目保留了 Armbian 官方系统的完整性,并进一步拓展了对电视盒子等非官方支持设备的适配,同时增加了一系列便捷操作指令。现在你可以将电视盒子的安卓 TV 系统替换为 Armbian,使其成为一台功能强大的服务器。
本项目依托众多贡献者的力量,为 Amlogic、Rockchip 和 Allwinner 平台的设备构建 Armbian 系统,支持写入 eMMC 使用、更新内核等功能。详细使用方法请参见 Armbian 使用文档。最新的 Armbian 系统可在 Releases 中下载。欢迎 Fork 并进行个性化定制。如果对你有帮助,请点击仓库右上角的 Star 表示支持。
| 系统名称 | 默认账号 | 默认密码 | SSH 端口 | IP 地址 |
|---|---|---|---|---|
| 🐧 Armbian.OS | root | 1234 | 22 | 从路由器获取 |
| 🐋 Armbian.Docker | root | 1234 | 22 | 静态 MacVLAN IP |
⬆️ 各平台(晶晨/瑞芯微/全志)型号均按 SoC 性能由高至低排列。
Tip
目前 s905 的盒子仅支持在 TF/SD/USB 中使用,其他型号的盒子均支持写入 EMMC。更多信息请查阅 ✅支持的设备列表说明。添加新设备支持可参考说明文档 12.15 章节的方法:添加新的支持设备。使用前请先阅读 Armbian 使用文档,常见问题均已提供解决方案。
请选择与你的设备型号对应的 Armbian 系统,不同设备的使用方法请参考对应的说明文档。
-
Rockchip平台的安装方法请查看说明文档中的 第 8 章节。 -
Amlogic和Allwinner平台,使用 Rufus 或者 balenaEtcher 等工具将系统写入 USB 里,然后把写好系统的 USB 插入盒子。登录 Armbian 系统 (默认用户: root, 默认密码: 1234) → 输入命令:
armbian-install| 可选参数 | 默认值 | 选项 | 说明 |
|---|---|---|---|
| -m | no | yes/no | 使用主线 u-boot |
| -a | yes | yes/no | 使用 ampart 分区表调整工具 |
| -l | no | yes/no | 显示全部设备列表 |
示例:armbian-install -m yes -a no
登录 Armbian 系统 → 输入命令:
# 使用 root 用户运行 (sudo -i)
# 如果不指定参数,将更新为最新版本。
armbian-update| 可选参数 | 默认值 | 选项 | 说明 |
|---|---|---|---|
| -r | ophub/kernel | <owner>/<repo> |
设置从 github.com 下载内核的仓库 |
| -u | 自动识别 | stable/flippy/beta/rk3588/rk35xx/h6 | 设置使用的内核的 tags 后缀 |
| -k | 最新版 | 内核版本 | 设置内核版本 |
| -b | yes | yes/no | 更新内核时自动备份当前使用的内核 |
| -d | deb | tar/deb | 设置首选的内核包格式。若指定格式不存在,脚本将自动尝试另一种格式。如需编译自定义驱动,推荐使用 deb 格式。 |
| -m | no | yes/no | 使用主线 u-boot |
| -s | 无 | 无/磁盘名称 | [SOS] 恢复 eMMC/NVMe/sdX 等磁盘中的系统内核 |
| -h | 无 | 无 | 查看帮助信息 |
示例:armbian-update -k 5.15 -u stable -d deb
通过 -k 参数指定内核版本时,可以精确指定具体版本号,例如:armbian-update -k 5.15.50;也可以模糊指定内核系列,例如:armbian-update -k 5.15。模糊指定时将自动使用该系列的最新版本。
更新内核时会自动备份当前使用的内核,备份存储在 /ddbr/backup 目录中,保留最近 3 个版本。若新安装的内核不稳定,可随时恢复到备份版本。若更新内核后系统无法启动,可通过 armbian-update -s 恢复系统内核。更多详情请参见帮助文档。
登录 Armbian 系统 → 输入命令:
armbian-apt根据你所在的国家或地区选择合适的软件源,可以显著提升软件下载速度。更多说明详见帮助文档。
登录 Armbian 系统 → 输入命令:
armbian-software使用 armbian-software -u 命令可更新本地软件中心列表。根据用户在 Issue 中的反馈需求,已逐步整合常用软件,实现一键安装/更新/卸载等快捷操作。包括 Docker 镜像、桌面软件、应用服务等。详见更多说明。
登录 Armbian 系统 → 输入命令:
armbian-config如果你在使用 Docker 等内存占用较大的应用时,感觉当前设备内存不足,可以创建 swap 虚拟内存分区,将磁盘空间的一定容量虚拟为内存使用。以下命令的参数单位为 GB,默认值为 1。
登录 Armbian 系统 → 输入命令:
armbian-swap 1登录 Armbian 系统 → 输入命令:
armbian-openvfd根据 LED 屏显示控制说明 进行调试。
支持在 TF/SD/USB 中对设备 EMMC 分区进行备份和恢复。建议在全新设备上安装 Armbian 系统之前,先对原始的安卓 TV 系统进行备份,以便日后需要恢复时使用。
请从 TF/SD/USB 启动 Armbian 系统 → 输入命令:
armbian-ddbr根据提示输入 b 进行系统备份,输入 r 进行系统恢复。
Important
除此之外,也可以通过线刷方式将安卓系统写入 eMMC。安卓系统的下载镜像可在 Tools 中查找。
在 Armbian 中编译内核的用法详见编译内核说明文档。登录 Armbian 系统后,输入以下命令:
armbian-kernel -u
armbian-kernel -k 6.6.12将本地系统中的全部服务脚本更新至最新版本,可登录 Armbian 系统后输入以下命令:
armbian-sync在 Armbian 的使用过程中,常见问题的解决方法详见 documents。
-
克隆仓库到本地
git clone --depth 1 https://github.com/ophub/amlogic-s9xxx-armbian.git -
安装必要的软件包(以 Ubuntu 24.04 为例)
进入 ~/amlogic-s9xxx-armbian 根目录,然后执行安装命令:
sudo apt-get update -y
sudo apt-get full-upgrade -y
# For Ubuntu-24.04
sudo apt-get install -y $(cat compile-kernel/tools/script/ubuntu2404-build-armbian-depends)-
进入
~/amlogic-s9xxx-armbian根目录,在该目录下创建build/output/images文件夹,并将 Armbian 镜像文件(如Armbian_21.11.0-trunk_Odroidn2_current_5.15.50.img)上传至~/amlogic-s9xxx-armbian/build/output/images目录。请保留原版 Armbian 镜像文件名中的发行版本号(如21.11.0)和内核版本号(如5.15.50),它们将在重构后用作 Armbian 系统的命名依据。 -
进入
~/amlogic-s9xxx-armbian根目录,执行sudo ./rebuild -b s905x3 -k 6.6.12命令即可生成指定 board 的 Armbian 镜像文件。生成的文件保存在build/output/images目录中。
| 参数 | 含义 | 说明 |
|---|---|---|
| -b | Board | 指定需要编译的设备代号。例如 -b s905x3 表示编译代号为 s905x3 的设备,多个设备可用下划线连接,如 -b s905x3_s905d。特殊值:all 表示编译全部设备,first50 表示设备库中的前 50 个,range50_100 表示第 51 至第 100 个,range100_150 表示第 101 至第 150 个,last20 表示最后 20 个。设备代号列表详见 model_database.conf 中的 BOARD 配置项。默认值:all |
| -r | KernelRepo | 指定 github.com 内核仓库的 <owner>/<repo>。默认值:ophub/kernel |
| -u | kernelUsage | 设置使用的内核的 tags 后缀,如 stable, flippy, beta。默认值:stable |
| -k | Kernel | 指定 kernel 名称,如 -k 6.6.12 。多个内核使用 _ 进行连接,如 -k 6.6.12_5.15.50 。通过 -k 参数自由指定的内核版本只对使用 stable/flippy/beta 的内核有效。其他内核系列例如 rk3588 / rk35xx / h6 等只能使用特定内核。 |
| -a | AutoKernel | 设置是否自动采用同系列最新版本内核。当为 true 时,将自动在内核库中查找 -k 指定内核(如 6.6.12)的同系列是否有更新版本,若存在更新版本则自动替换。设置为 false 时将使用指定版本编译。默认值:true |
| -t | RootfsType | 设置系统 ROOTFS 分区的文件系统类型,可选 ext4 或 btrfs。例如:-t btrfs。默认值:ext4 |
| -s | Size | 设置系统镜像分区大小。仅设置 ROOTFS 分区大小时可只指定一个数值,例如:-s 2560;需同时设置 BOOTFS 和 ROOTFS 分区大小时,用 / 连接两个数值,例如:-s 512/2560。默认值:512/2560 |
| -n | BuilderName | 设置 Armbian 系统构建者签名。签名中请勿包含空格。默认值:无 |
sudo ./rebuild: 使用默认配置,对全部型号的设备进行打包。sudo ./rebuild -b s905x3 -k 6.6.12: 推荐用法。使用默认配置编译指定内核。sudo ./rebuild -b s905x3 -k 6.1.y: 使用默认配置编译,内核使用 6.1.y 系列的最新版。sudo ./rebuild -b s905x3_s905d -k 6.6.12_5.15.50: 使用默认配置,同时打包多个内核。多个内核用_连接。sudo ./rebuild -b s905x3 -k 6.6.12 -s 2560: 使用默认配置,指定单个内核和单个型号进行打包,ROOTFS 分区大小设为 2560 MiB。sudo ./rebuild -b s905x3_s905d使用默认配置,对多个型号进行全部内核打包,多个型号用_连接。sudo ./rebuild -k 6.6.12_5.15.50: 使用默认配置,指定多个内核,对全部型号进行打包。多个内核用_连接。sudo ./rebuild -k 6.6.12_5.15.50 -a true: 使用默认配置,指定多个内核,对全部型号进行打包,并自动升级到同系列最新内核。sudo ./rebuild -t btrfs -s 2560 -k 6.6.12: 使用默认配置,文件系统设为 btrfs,ROOTFS 分区大小为 2560 MiB,指定内核为 6.6.12,对全部型号进行打包。
-
关于 Workflows 文件的配置详见 .github/workflows/ 目录。
-
全新编译:在 Actions 页面中选择
Build Armbian server image,即可通过 build-armbian-arm64-server-image.yml 进行编译。可选择 Ubuntu 系列(如jammy)或 Debian 系列(如bullseye)等。点击Run workflow按钮即可开始编译。 -
二次编译:如果 Releases 中已有编译好的
Armbian_.*-trunk_.*.img.gz文件,只需为其他 board 重新打包,可跳过源文件编译步骤,直接使用 build-armbian-using-releases-files.yml 进行二次制作。 -
使用其他 Armbian 系统(如 Armbian 官方下载站 armbian.tnahosting.net 提供的 odroidn2 系统),只需在工作流配置文件 build-armbian-using-official-image.yml 中引入本仓库的脚本进行 Armbian 重构,即可适配其他设备。示例代码如下:
- name: Build Armbian
uses: ophub/amlogic-s9xxx-armbian@main
with:
build_target: armbian
armbian_path: build/output/images/*.img
armbian_board: s905d_s905x3_s922x_s905x
armbian_kernel: 6.12.y_6.18.y相关参数与本地打包命令一一对应,详情请参考上述说明。
| 参数 | 默认值 | 说明 |
|---|---|---|
| armbian_path | 无 | 设置原版 Armbian 文件的路径。支持当前工作流中的文件路径(如 build/output/images/*.img),也支持网络下载地址(如 https://dl.armbian.com/*/Armbian_*.img.xz) |
| armbian_board | all | 设置打包盒子的 board ,功能参考 -b |
| kernel_repo | ophub/kernel | 指定 github.com 内核仓库的 <owner>/<repo>,功能参考 -r |
| kernel_usage | stable | 设置使用的内核的 tags 后缀。功能参考 -u |
| armbian_kernel | 6.12.y_6.18.y | 设置内核 版本,功能参考 -k |
| auto_kernel | true | 设置是否自动采用同系列最新版本内核,功能参考 -a |
| armbian_fstype | ext4 | 设置系统 ROOTFS 分区的文件系统类型,功能参考 -t |
| armbian_size | 512/2560 | 设置系统 BOOTFS 和 ROOTFS 分区的大小,功能参考 -s |
| armbian_files | false | 添加自定义 Armbian 文件。设置后,该目录下的所有文件将被复制到 common-files 中。目录结构必须与 Armbian 根目录保持一致,以确保文件正确覆盖到固件中(例如:默认配置文件应存放于 etc/default/ 子目录下)。 |
| builder_name | 无 | 设置 Armbian 系统构建者签名,功能参考 -n |
上传到 Releases 需要为仓库设置 Workflow 读写权限,详见使用说明。
| 参数 | 默认值 | 说明 |
|---|---|---|
| ${{ env.PACKAGED_OUTPUTPATH }} | out | Armbian 系统文件输出路径 |
| ${{ env.PACKAGED_OUTPUTDATE }} | 04.13.1058 | 打包日期(月.日.时分) |
| ${{ env.PACKAGED_STATUS }} | success | 打包状态:success / failure |
Armbian 系统 Docker 镜像的制作方法可参考 armbian_docker 制作脚本。
内核的编译方法详见编译内核。
- name: Compile the kernel
uses: ophub/amlogic-s9xxx-armbian@main
with:
build_target: kernel
kernel_version: 6.12.y_6.18.y
kernel_auto: true
kernel_sign: -yourname首先感谢 150balbes 为在 Amlogic 电视盒子上运行 Armbian 所做出的杰出贡献和奠定的坑实基础。本项目编译的 Armbian 系统直接使用官方当前的最新源码进行实时编译。程序的开发思路来源于 ebkso 等作者的教程。感谢各位的奉献与分享,让我们得以在更多设备上使用 Armbian 系统。
本系统所使用的 u-boot、kernel 等资源主要来源于 unifreq/openwrt_packit 项目,部分文件由用户在 amlogic-s9xxx-openwrt / amlogic-s9xxx-armbian / luci-app-amlogic / kernel / u-boot 等项目的 Pull 和 Issues 中贡献分享。为感谢这些开拓者和分享者,自本仓库创建之日起(2021-09-19),已统一在 CONTRIBUTORS.md 中进行记录。再次感谢大家为设备赋予新的生命与价值。
- amlogic-s9xxx-openwrt 项目提供了适用于盒子的
OpenWrt系统,在支持 Armbian 的相关设备上同样适用。 - fnnas 项目提供了适用于盒子的
FnNAS系统,在支持 Armbian 的相关设备上同样适用。 - unifreq 为晶晨、瑞芯微和全志等平台的更多设备制作了
OpenWrt系统,是盒子生态的标杆项目,推荐使用。 - Scirese 在安卓电视盒子上测试了
Arch Linux ARM/Manjaro系统的制作、安装和使用,详情请参见其仓库说明。 - 7Ji 在其博客中发表了多篇关于 Amlogic 平台逆向工程与开发的文章,涵盖以 ArchLinux 方式安装 ArchLinux ARM 系统、Amlogic 平台启动机制解析等内容。其 ampart 项目提供了一款分区工具,可读取并编辑 Amlogic eMMC 分区表和 DTB 内分区,实现 eMMC 空间 100% 利用。amlogic-s9xxx-archlinuxarm 项目提供了
Arch Linux ARM系统的制作和使用方法。YAopenvfD 项目提供了另一个 openvfd 守护进程实现。 - 13584452567 是本仓库
Rockchip系列设备的开拓者。凭借其分享,本项目拓展了对 EAIDK-610、King3399、TN3399、Kylin3399、ZCube1-Max、tvi3315a、xiaobao 等众多Rockchip设备的支持。他还是 TQC-A01 等Allwinner设备专用内核的维护者,并在论坛和问答区中提供了大量技术支持和解决方案,为盒子生态的发展做出了巨大贡献。 - cooip-jm 在其 wiki 中分享了许多关于 Armbian、LXC、Docker、AdGuard 等应用的使用方法,推荐参考学习。
The amlogic-s9xxx-armbian © OPHUB is licensed under GPL-2.0
