Skip to content

开源说明

Violoop OS 构建于**自由与开源软件(FLOSS)**之上。引导加载器(U-Boot)与 Linux 内核以 GNU 通用公共许可证第 2 版(GPL-2.0) 授权,而用户态(Debian 12)中有相当一部分以 GPL-3.0 / LGPL-3.0 及其他许可证授权。

本页面向每一位设备所有者说明两件你有权做的事:

  1. 在哪里获取 GPL-2 引导加载器与内核的源代码。
  2. 如何安装你自己修改版本的 GPL-3 软件(设备上运行的那些)。

版本基线:Violoop OS,Rockchip RK3576 平台,Debian 12(arm64),BSP rk3576-VLA11/v0.1.4,Linux 内核 6.1.99。 设备内还随附一份完整的合规声明(含每个组件的精确构建提交与逐包许可清单):docs/OPEN-SOURCE-NOTICE.md;各组件精确构建 SHA 亦记录于 kernel/prebuilt/manifest.json


Boot 与 Kernel 源代码(GPL-2.0)

引导加载器(U-Boot)与 Linux 内核是系统核心的两个 GPL-2 组件。它们的完整对应源代码——包含我们为 RK3576 平台所做的全部修改——已托管于公开 Git 仓库,并以精确提交锁定至出厂固件的实际构建版本:

组件许可证源码仓库分支构建提交
Linux 内核 6.1.99GPL-2.0https://github.com/BvioTech/kernelbsp/rk3576-VLA11d6d74b512b7fd8534fd8eed3f14d8cb919feb2bf
U-Boot(引导加载器)GPL-2.0+https://github.com/BvioTech/u-bootbsp/rk3576-VLA11c0bec16b14a265e6abccf8244f8095ac17b26e97
AIC8800D40 Wi-Fi/蓝牙驱动GPL-2.0https://github.com/BvioTech/rkwifibtfeat/vla11-aic8800d40aab3ec6245e4e6df23b7aa68ed573eac86f669f5
Rockchip rkbin(blob 源)混合https://github.com/BvioTech/rkbinbsp/rk3576-VLA11d8a9250436dfb90a2d1ff042e1d1b34cf3177816

克隆仓库并检出对应提交,即为本固件所用的完整源码:

sh
git clone https://github.com/BvioTech/kernel
cd kernel && git checkout d6d74b512b7fd8534fd8eed3f14d8cb919feb2bf

我们改了什么: 内核新增了触摸屏驱动 sw42000_touchscreen、若干设备树(DTS)适配,以及内核配置改动(overlayfs / squashfs-zstd / 板级驱动开关);AIC8800D40 无线驱动做了移植适配,以 .ko 形式随产品分发。算力卡的 PCIe 主机侧驱动 pcie-rkepGPL-2.0 OR MIT)已收进内核树drivers/misc/rockchip/pcie-rkep.cCONFIG_PCIE_FUNC_RKEP=m)——检出上表内核那个提交即含其完整对应源码,无需另行获取。U-Boot 按上表版本原样构建、未做源码修改。各仓库内亦随附对应的 COPYING / LICENSE 文件;GPL-2.0 全文见 https://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

算力卡运行时 —— 私有预编二进制

设备上算力卡的用户态运行时与卡上固件(librknn3_api*rknn3_transfer_proxyrknn-smipcie_upgrade_toolrknn3_rk1820.img)是 Rockchip 的私有预编二进制,我们按 vendor 协议再分发,没有源代码,也不受 copyleft 条款约束。列出仅为完整透明;上文那个开源的 pcie-rkep 内核驱动与之不同,其源码已完整公开。

开机 Logo —— 不属于 GPL-2

开机时屏幕上显示的 Logo(U-Boot 启动画面 logo.bmp 与内核启动画面 logo_kernel.bmp)以位图素材的形式存放于 boot 分区内的 resource.img 中——与内核设备树一起打包,并未编译进引导加载器或内核。这些图片是 Violoop 自有的品牌美术素材:属于专有素材,不属于 GPL-2.0 的 U-Boot 或 Linux 源码,不受其条款约束。因此,上述源码开放义务仅覆盖引导加载器与内核的代码,并不延伸至 resource.img 中的 Logo 美术素材。


修改设备上的 GPL-3 软件

用户态基于 Debian 12(bookworm),其中包含大量 GPL-3.0LGPL-3.0 组件(例如 bashcoreutilsgrep/sed/tar 等 GNU 工具,以及 libgmp10libnettle8 等 LGPL-3 库)。GPL-3 赋予你——作为设备所有者——安装并运行你自己修改版本的权利,即许可证第 6 条的「反 Tivo 化(anti-tivoization)」保障。

Violoop OS 履行这项义务的方式,是把设备的 root 能力交还给所有者:你在应用里放通 SSH,用 admin 账号登录设备,再以 sudo 直接替换任意 GPL-3 / LGPL-3 组件。这条途径不受路径白名单限制——一个 root shell 能改的范围,涵盖设备上全部受该条款保护的组件。

第一步 —— 构建你的修改版本

在你自己的电脑上获取要修改的软件包源码,改动它,并构建出面向设备架构(arm64)的二进制。在任意 arm64 的 Debian 12 机器上(或通过交叉编译 arm64),都可用 apt-get source 取到精确源码——也可通过下文的书面要约索取:

sh
# 以 coreutils(GPL-3.0)为例
apt-get source coreutils

# …… 在解包后的源码树中做你的修改 ……

cd coreutils-*/
dpkg-buildpackage -us -uc -b        # 构建修改后的二进制(arm64)

这会产出你修改后的二进制(例如从 bash 源码得到 bash)或 .deb 包。

第二步 —— 放通 SSH 并登录设备

  1. 放通 SSH:在设备的应用界面开启**「远程访问」**,设备随即放通入站的 22 端口(该设置持久保存,重启后自动重放)。

  2. 登录

    sh
    ssh admin@<设备IP>

    口令由你本人在首次登录时设定:出厂占位口令处于「已过期」状态,首次登录会强制改密——我们并不掌握你的口令,也无法代你登录。

  3. 取得 rootadmin 属于 sudo 组,直接

    sh
    sudo -i

无论设备处于哪一档安全加固配置,admin 的口令登录都始终保留——这是专为本条款保留的通道,不会被任何加固档位关掉。

第三步 —— 装上你修改后的组件

把二进制或 .deb 传到设备,覆盖目标路径即可:

sh
# 在你的电脑上
scp bash admin@<设备IP>:/tmp/bash

# 在设备上(已 sudo -i)
install -m 0755 /tmp/bash /bin/bash
# 或者直接装你自己编的包
dpkg -i /tmp/bash_5.2-15_arm64.deb

改动立即生效,且重启后依然保留

为什么改得动

  • 根文件系统刻意不做签名校验。 引导链(boot.img)是签名的,但根文件系统(squashfs)没有 dm-verity / roothash——验证链止于 initramfs。这是有意为之:修改过的用户态必须能照常运行。
  • 写入落在 overlay 可写层data 分区的 upper),覆盖只读基底中的同路径文件,因此重启后依然生效。
  • 不因「已被修改」而降级或拒绝服务:系统不检测用户态二进制是否被替换,也没有任何据此改变行为的逻辑。

两点须知

  • 恢复出厂会清除你的修改。 出厂化的实现就是擦掉 overlay 可写层,你自行安装的组件随之消失,基底回到出厂状态。这是由你主动触发的动作,不构成对修改的阻止。
  • 这条途径不依赖我方授权。 放通 SSH 的开关是设备本地可完成的操作,不以我方服务端的许可、订阅状态或任何可撤销的凭据为前提。

关于内核: 内核与引导加载器为 GPL-2,不含反 Tivo 化要求,且生产设备采用验证(安全)启动链。若要运行修改后的内核,请从上文的内核仓库重新构建;在安全启动设备上,修改后的内核镜像需重新签名方可启动。GPL-3 的反 Tivo 化保障作用于用户态——如上所示,你可以按上述方式安装并运行它。


Debian 用户态源码

所含 Debian 软件包未经修改。其源代码可依各包许可证从 Debian 官方归档获取:


许可证文本

各组件仓库及 Debian 软件包内亦随附对应的 COPYING / LICENSE / /usr/share/doc/<包名>/copyright 文件。


书面要约(Written Offer)

除上述公开仓库外,自您收到本产品之日起 三(3)年内,您亦可来函索取所含 GPL/LGPL 组件的完整对应源代码。我们将以不超过介质与邮寄成本的费用,通过物理介质或下载链接向您提供。

  • 邮箱:[email protected]
  • 主题请注明:Violoop OS 源代码索取 — 版本 rk3576-VLA11/v0.1.4

本要约向任何持有本产品副本的第三方开放,符合 GPL-2.0 第 3(b) 条及 GPL-3.0 第 6(b)/(c) 条。