0 Star 1 Fork 0

yg125 / amlogic-s9xxx-armbian

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
GPL-2.0

Armbian / 岸边

查看英文说明 | View English description

Armbian(中文名:岸边)系统是基于 Debian/Ubuntu 而构建的专门用于 ARM 芯片的轻量级 Linux 系统。Armbian 系统精益、干净,并且 100% 兼容并继承了 Debian/Ubuntu 系统的功能和丰富的软件生态,可以安全稳定地运行在 TF/SD/USB 及设备的 eMMC 里。这个项目保留了 Armbian 官方系统的完整性,并进一步拓展了在电视盒子等一些非官方支持设备上的使用,增加了一些便捷操作指令。现在你可以将电视盒子的安卓 TV 系统更换为 Armbian 系统,让他成为一台功能强大的服务器。

本项目依托众多的贡献者,为 AmlogicRockchipAllwinner 盒子构建 Armbian 系统,支持写入 eMMC 中使用,支持更新内核等功能,使用方法详见 Armbian 使用文档。最新的 Armbian 系统可以在 Releases 中下载。欢迎 Fork 并进行个性化定制。如果对你有用,可以点仓库右上角的 Star 表示支持。

Armbian 系统说明

芯片 设备 内核 Armbian
a311d Khadas-VIM3 全部 amlogic_a311d.img
s922x Beelink-GT-King, Beelink-GT-King-Pro, Ugoos-AM6-Plus, ODROID-N2, X88-King, Ali-CT2000 全部 amlogic_s922x.img
s905x3 X96-Max+, HK1-Box, Vontar-X3, H96-Max-X3, Ugoos-X3, TX3(QZ), TX3(BZ), X96-Air, X96-Max+_A100, A95XF3-Air, Tencent-Aurora-3Pro(s905x3-b), X96-Max+Q1, X96-Max+100W, X96-Max+_2101, Infinity-B32, Whale, X88-Pro-X3, X99-Max-Plus, Transpeed-X3-Plus 全部 amlogic_s905x3.img
s905x2 X96Max-4G, X96Max-2G, MECOOL-KM3-4G, Tanix-Tx5-Max, A95X-F2 全部 amlogic_s905x2.img
s912 Tanix-TX8-Max, Tanix-TX9-Pro(3G), Tanix-TX9-Pro(2G), Tanix-TX92, Nexbox-A1, Nexbox-A95X-A2, A95X, H96-Pro-Plus, VORKE-Z6-Plus, Mecool-M8S-PRO-L, Vontar-X92, T95Z-Plus, Octopus-Planet, Phicomm-T1, TX3-Mini, OneCloudPro-V1.1_V1.2 全部 amlogic_s912.img
s905d MECOOL-KI-Pro, Phicomm-N1, SML-5442TW 全部 amlogic_s905d.img
s905x HG680P, B860H, TBee-Box, T95, TX9, XiaoMI-3S, X96 全部 amlogic_s905x.img
s905w X96-Mini, TX3-Mini, W95, X96W/FunTV, MXQ-Pro-4K 全部 amlogic_s905w.img
s905mb S65 全部 amlogic_s905mb.img
s905l UNT402A, M201-S, MiBox-4, MiBox-4C, MG101 全部 amlogic_s905l.img
s905l2 MGV2000, MGV2000-K, MGV3000, Wojia-TV-IPBS9505, M301A, E900v21E, e900v21d, CM201-1 全部 amlogic_s905l2.img
s905l3 CM211-1, CM311-1, HG680-LC, M401A, UNT400G1, UNT402A, ZXV10-BV310, M411A, ZXV10-B860AV3.2-M, ZXV10-B860AV2.1-U, E900V22D-2 全部 amlogic_s905l3.img
s905l3a E900V22C/D, CM311-1a-YST, M401A, M411A, UNT403A, UNT413A, ZTE-B863AV3.2-M, CM311-1a-CH, IP112H 全部 amlogic_s905l3a.img
s905l3b CM201-1, CM211-1, CM311-1, E900V22D, E900V21E, E900V22E, M302A/M304A, Hisense-IP103H, TY1608, TY1608, MGV2000, B860AV-2.1M, UNT403A, RG020ET-CA 全部 amlogic_s905l3b.img
s905lb Q96-mini, BesTV-R3300L, SumaVision-Q7, MG101, s65 全部 amlogic_s905lb.img
s905 Beelink-Mini-MX-2G, Sunvell-T95M, MXQ-Pro+4K, SumaVision-Q5 全部 amlogic_s905.img
rk3588 Radxa-Rock5B, Beelink-IPC-R, HLink-H88K, HLink-H88K-V3 rk3588 rockchip_boxname.img
rk3568 FastRhino-R66S, FastRhino-R68S, Radxa-E25, NanoPi-R5S, NanoPi-R5C, HLink-H66K, HLink-H68K, HLink-H69K, Seewo-sv21, Mrkaio-m68s rk35xx
6.x.y
rockchip_boxname.img
rk3566 Panther-X2, JP-TvBox rk35xx
6.x.y
rockchip_boxname.img
rk3528 HLink-H28K rk35xx rockchip_boxname.img
rk3399 EAIDK-610, King3399, TN3399, Kylin3399, ZCube1-Max, CRRC, SMART-AM40, SW799, ZYSJ, DG-3399, DLFR100, Emb3531, Leez-p710, tvi3315a, xiaobao, Fine3399, Firefly-RK3399, LX-R3S, Hugsun-x99, Tb-ls3399, Hisense-hs530r 6.x.y rockchip_boxname.img
rk3328 BeikeYun, Chainedbox-L1-Pro, Station-M1, Bqeel-MVR9, Renegade/Firefly rockchip_boxname.img
rk3318 RX3318-Box 6.x.y rockchip_boxname.img
h6 Vplus, Tanix-TX6, TQC-A01 5.15.y
h6
allwinner_boxname.img

[!TIP] 目前 s905 的盒子只能在 TF/SD/USB 中使用,其他型号的盒子支持写入 EMMC 中使用。更多信息请查阅支持的设备列表说明。可以参考说明文档中 12.15 章节的方法添加新的支持设备。使用前先阅读 Armbian 使用文档,常见问题都有解决方法。

安装及升级 Armbian 的相关说明

选择和你的盒子型号对应的 Armbian 系统,不同设备的使用方法查看对应的说明。

  • 安装 Armbian 到 EMMC

  1. Rockchip 平台的安装方法请查看说明文档中的 第 8 章节

  2. AmlogicAllwinner 平台,使用 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 内核

登录 Armbian 系统 → 输入命令:

# 使用 root 用户运行 (sudo -i)
# 如果不指定参数,将更新为最新版本。
armbian-update
可选参数 默认值 选项 说明
-r ophub/kernel <owner>/<repo> 设置从 github.com 下载内核的仓库
-u 自动化 stable/flippy/dev/beta/rk3588/rk35xx/h6 设置使用的内核的 tags 后缀
-k 最新版 内核版本 设置内核版本
-b yes yes/no 更新内核时自动备份当前系统使用的内核
-m no yes/no 使用主线 u-boot
-s 无/磁盘名称 [SOS] 恢复 eMMC/NVMe/sdX 等磁盘中的系统内核
-h 查看使用帮助

举例: armbian-update -k 5.15.50 -u dev

通过 -k 参数指定内核版本号时,可以准确指定具体版本号,例如:armbian-update -k 5.15.50,也可以模糊指定到内核系列,例如:armbian-update -k 5.15,当模糊指定时将自动使用指定系列的最新版本。

更新内核时会自动备份当前系统使用的内核,存储路径在 /ddbr/backup 目录里,保留最近使用过的 3 个版本的内核,如果新安装的内核不稳定,可以随时恢复回备份的内核。如果更新内核失败导致系统无法启动,可以通过 armbian-update -s 来恢复系统内核。更多说明详见 帮助文档

  • 更换 Armbian 源

登录 Armbian 系统 → 输入命令:

armbian-apt

根据你所在的国家或地区选择合适的软件源,可以提高软件的下载速度。更多说明详见 帮助文档

  • 安装常用软件

登录 Armbian 系统 → 输入命令:

armbian-software

使用 armbian-software -u 命令可以更新本地的软件中心列表。根据用户在 Issue 中的需求反馈,逐步整合常用软件,实现一键安装/更新/卸载等快捷操作。包括 docker 镜像桌面软件应用服务 等。详见更多说明

  • 修改 Armbian 配置

登录 Armbian 系统 → 输入命令:

armbian-config
  • 为 Armbian 创建 swap

如果你在使用 docker 等内存占用较大的应用时,觉得当前盒子的内存不够使用,可以创建 swap 虚拟内存分区,将磁盘空间的一定容量虚拟成内存来使用。下面命令输入参数的单位是 GB,默认为 1

登录 Armbian 系统 → 输入命令:

armbian-swap 1
  • 控制 LED 显示

登录 Armbian 系统 → 输入命令:

armbian-openvfd

根据 LED 屏显示控制说明 进行调试。

  • 备份/还原 EMMC 原系统

支持在 TF/SD/USB 中对盒子的 EMMC 分区进行备份/恢复。建议您在全新的盒子里安装 Armbian 系统前,先对当前盒子自带的安卓 TV 系统进行备份,以便日后在恢复电视系统等情况下使用。

请从 TF/SD/USB 启动 Armbian 系统 → 输入命令:

armbian-ddbr

根据提示输入 b 进行系统备份,输入 r 进行系统恢复。

[!IMPORTANT] 除此之外也可以通过线刷的方法,将安卓系统刷入 eMMC 中,安卓系统的下载镜像可在 Tools 中查找。

  • 在 Armbian 中编译内核

在 Armbian 中编译内核的用法详见 编译内核 说明文档。登录 Armbian 系统 → 输入命令:

armbian-kernel -u
armbian-kernel -k 6.6.12
  • 更多使用说明

将本地系统中的全部服务脚本更新到最新版本,可以登录 Armbian 系统 → 输入命令:

armbian-sync

在 Armbian 的使用中,一些可能遇到的常见问题详见 documents

本地化打包

  1. 克隆仓库到本地 git clone --depth 1 https://github.com/ophub/amlogic-s9xxx-armbian.git

  2. 安装必要的软件包(脚本仅在 x86_64 Ubuntu-20.04/22.04 下做过测试)

sudo apt-get update -y
sudo apt-get full-upgrade -y
# For Ubuntu-22.04
sudo apt-get install -y $(cat compile-kernel/tools/script/ubuntu2204-build-armbian-depends)
  1. 进入 ~/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 系统的名称。

  2. 进入 ~/amlogic-s9xxx-armbian 根目录,然后运行 sudo ./rebuild -b s905x3 -k 6.6.12 命令即可生成指定 board 的 Armbian 镜像文件。生成的文件保存在 build/output/images 目录里。

  • 本地化打包参数说明

参数 含义 说明
-b Board 指定电视盒子型号,如 -b s905x3 . 多个型号使用 _ 进行连接,如 -b s905x3_s905d . 使用 all 表示全部型号。型号代码详见 model_database.conf 中的 BOARD 设置。默认值:all
-r KernelRepo 指定 github.com 内核仓库的 <owner>/<repo>。默认值:ophub/kernel
-u kernelUsage 设置使用的内核的 tags 后缀,如 stable, flippy, dev, beta。默认值:stable
-k Kernel 指定 kernel 名称,如 -k 6.6.12 . 多个内核使用 _ 进行连接,如 -k 6.6.12_5.15.50 。通过 -k 参数自由指定的内核版本只对使用 stable/flippy/dev/beta 的内核有效。其他内核系列例如 rk3588 / rk35xx / h6 等只能使用特定内核。
-a AutoKernel 设置是否自动采用同系列最新版本内核。当为 true 时,将自动在内核库中查找在 -k 中指定的内核如 6.6.12 的同系列是否有更新的版本,如有 6.6.12 之后的最新版本时,将自动更换为最新版。设置为 false 时将编译指定版本内核。默认值:true
-t RootfsType 对系统的 ROOTFS 分区的文件系统类型进行设置,可选项为 ext4btrfs 类型。例如: -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 : 使用默认配置,指定一个内核,一个型号进行打包,系统大小设定为2560MiB。
  • 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 格式,分区大小为 2560MiB, 并指定内核为 6.6.12 ,对全部型号电视盒子进行打包。

使用 GitHub Actions 进行编译

  1. 关于 Workflows 文件的配置在 build-armbian.yml 文件里。

  2. 全新编译:在 Actions 页面里选择 Build armbian ,根据 Armbian 官方支持的 OS 版本,可以选择 Ubuntu 系列:jammy,或者 Debian 系列:bullseye 等。点击 Run workflow 按钮即可编译。更多参数的设置方法可以在 Armbian 官方文档 里查阅。

  3. 再次编译:如果 Releases 中有已经编译好的 Armbian_.*-trunk_.*.img.gz 文件,你只是想再次制作其他不同 board 的盒子,可以跳过 Armbian 源文件的编译,直接进行二次制作。在 Actions 页面中选择 Use Releases file to build armbian ,点击 Run workflow 按钮即可二次编译。

  4. 使用其他 Armbian 系统,如 Armbian 官方系统下载网站 armbian.tnahosting.net 提供的 odroidn2 系统,仅在流程控制文件 rebuild-armbian.yml 中引入本仓库的脚本进行 Armbian 重构,即可适配其他盒子的使用。在 Actions 页面里选择 Rebuild armbian ,输入 Armbian 的网络下载地址如 https://dl.armbian.com/*/Armbian_*.img.xz ,或者在流程控制文件 rebuild-armbian.yml 中通过 armbian_path 参数设定重构文件的加载路径。代码如下:

- name: Rebuild 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.1.y_5.15.y
  • GitHub Actions 输入参数说明

相关参数与本地打包命令相对应,请参考上面的说明。

参数 默认值 说明
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.1.y_5.15.y 设置内核 版本,功能参考 -k
auto_kernel true 设置是否自动采用同系列最新版本内核,功能参考 -a
armbian_fstype ext4 设置系统 ROOTFS 分区的文件系统类型,功能参考 -t
armbian_size 512/2560 设置系统 BOOTFS 和 ROOTFS 分区的大小,功能参考 -s
builder_name 设置 Armbian 系统构建者签名,功能参考 -n
  • GitHub Actions 输出变量说明

上传到 Releases 需要给仓库设置 Workflow 读写权限,详见使用说明

参数 默认值 说明
${{ env.PACKAGED_OUTPUTPATH }} out Armbian 系统文件输出路径
${{ env.PACKAGED_OUTPUTDATE }} 04.13.1058 打包日期(月.日.时分)
${{ env.PACKAGED_STATUS }} success 打包状态:success / failure

Armbian 系统默认信息

名称
默认 IP 从路由器获取 IP
默认账号 root
默认密码 1234

使用 GitHub Actions 编译内核

内核的编译方法详见 compile-kernel

- name: Compile the kernel
  uses: ophub/amlogic-s9xxx-armbian@main
  with:
    build_target: kernel
    kernel_version: 6.1.y_5.15.y
    kernel_auto: true
    kernel_sign: -yourname

Armbian 贡献者

首先感谢 150balbes 为在 Amlogic 电视盒子中使用 Armbian 所做出的杰出贡献和奠定的良好基础。这里编译的 Armbian 系统直接使用了官方当前的最新源码进行实时编译。程序的开发思路来自 ebkso 等作者的教程。感谢各位的奉献和分享,让我们可以在更多盒子里使用 Armbian 系统。

本系统所使用的 u-boot, kernel 等资源主要从 unifreq/openwrt_packit 的项目中复制而来,部分文件由用户在 amlogic-s9xxx-openwrt / amlogic-s9xxx-armbian / luci-app-amlogic / kernel / u-boot 等项目的 PullIssues 中提供分享。为感谢这些开拓者和分享者,从现在开始(本源代码库创建于2021-09-19),我统一在 CONTRIBUTORS.md 中进行了记录。再次感谢大家为盒子赋予了新的生命和意义。

其他发行版

  • amlogic-s9xxx-openwrt 项目提供了在盒子中使用的 OpenWrt 系统,在支持 Armbian 的相关设备中同样适用。
  • unifreq 为晶晨、瑞芯微和全志等更多盒子制作了 OpenWrt 系统,属于盒子圈的标杆,推荐使用。
  • Scirese 在安卓电视盒子里测试了 Arch Linux ARM / Manjaro 系统的制作、安装和使用,具体详见他仓库中的相关说明。
  • 7Ji 在他的博客中发表了一些在 Amlogic 平台上的逆向工程和开发的文章,比如以 ArchLinux 的方式安装 ArchLinux ARM 系统,对 Amlogic 平台的启动机制的介绍等。在他的 ampart 项目中,提供了一款分区工具,能够读取并编辑 Amlogic 的 eMMC 分区表和 DTB 内分区,可以 100% 利用 eMMC 空间。在 amlogic-s9xxx-archlinuxarm 项目中提供了 Arch Linux ARM 系统的制作和使用方法。在 YAopenvfD 项目中提供了另一个 openvfd 守护进程。
  • 13584452567 是本仓库 Rockchip 系列设备的开拓者,因为他的分享而拓展了对 EAIDK-610, King3399, TN3399, Kylin3399, ZCube1-Max, tvi3315a, xiaobao 等众多 Rockchip 设备的支持,他也是 TQC-A01Allwinner 设备 专用内核 的维护者。他在 论坛问答区 里提供了大量的技术支持和解决方案,为盒子圈的发展做出了巨大的贡献。
  • cooip-jm 在他的 wiki 里分享了很多 Armbian,lxc,docker,AdGuard 等应用的使用方法,推荐学习。

链接

License

The amlogic-s9xxx-armbian © OPHUB is licensed under GPL-2.0

GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. <one line to give the program's name and a brief idea of what it does.> Copyright (C) <year> <name of author> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. <signature of Ty Coon>, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License.

简介

https://github.com/ophub/amlogic-s9xxx-armbian 展开 收起
Roff 等 5 种语言
GPL-2.0
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/yg125/amlogic-s9xxx-armbian.git
git@gitee.com:yg125/amlogic-s9xxx-armbian.git
yg125
amlogic-s9xxx-armbian
amlogic-s9xxx-armbian
main

搜索帮助