你的 5G 随身 Wi-Fi 就是一台 Linux 电脑

在 ZTE F50 / MU300 和 ZTE U30 Air 上,与 Android 并存安装 Ubuntu 或 OpenWrt。SSH、Wi-Fi、蓝牙和 5G 基带都能用。Android 会保留;如果哪天 Linux 启动不了,设备会自动回到 Android。

A 5G pocket hotspot running Linux A drawing of a small 5G hotspot with three status LEDs. Its face shows two rooms: a green one for Android and an amber one for Linux.

这是什么?

ZTE F50 是一个插 SIM 卡、通过 Wi-Fi 分享 5G 网络的小盒子。它里面是一台运行 Android 的小电脑。本项目在 Android 旁边装上一个真正的 Linux 系统。

可以把它想成一台已经内置 5G 基带、Wi-Fi 热点和 32 GB 存储的树莓派。ZTE U30 Air 是同一块主板和芯片再加一块电池,也同样支持。

为什么要这样做?

哪些功能可用

支持的设备

ZTE F50 / MU300ZTE U30 Air
芯片紫光展锐 T760(UMS9620)相同
供电仅 USB电池(4050 mAh)、充电芯片和电量计
USB 网络地址192.168.77.1192.168.78.1
SD 卡Linux 可以放在卡上,代替内部存储没有卡槽
其他状态指示灯状态指示灯、电池读数、NFC 标签、通过 OTG 转接头的 USB 主机模式(主线内核)

安装程序会从 Android 读出是哪一台,你不需要手动选择。U30 Pro 是另一颗芯片(UMS9632), 不受支持。大多数设备有 64 GB 内部存储;如果是 32 GB 版本,请先阅读检查步骤。

它是怎么工作的:讲个故事

四张小图就能讲清楚所有重点。

1. 一栋房子,两个房间

你的设备就像一栋房子。Android 已经带着它所有的东西住在一个房间里。在常见的 64 GB 设备上,还有第二个没人用的空房间: Android 分区之后大约 32 GiB 的存储空间。Linux 搬进这个空房间。Android 房间里的东西一样都不会被挪动或改变。

这栋房子还有两扇前门,叫做启动槽位 A 和 B。Android 用其中一扇。安装程序把 Linux 的门,也就是它的启动镜像,装在另一扇上。

一台设备上的 Android 和 Linux 内部存储:Android 的分区保持原样,Linux 安装在它们后面的空闲空间里。设备有两个启动槽位;Android 保留自己的槽位,Linux 的启动镜像写入另一个。 内部存储(常见的 64 GB 设备) Android 的分区 系统、应用、你的数据 空闲空间,约 32 GiB Ubuntu 和/或 OpenWrt 保持原样 Linux 住在这里 两个启动槽位:同一栋房子的两扇前门 Android 的槽位 从不写入 另一个槽位 Linux 的启动镜像 F50:Linux 也可以 放在 SD 卡上

2. 每次启动都是一次试用

设备每次启动 Linux,都把它当作一次试用,并用掉一次机会。Linux 启动好以后(USB 网络和 SSH 可用),它会告诉设备“这次启动没问题”,所有机会就都恢复了。如果 Linux 没能起来,这次机会就算用掉了。连续 5 次启动失败后(你可以选 1 到 6),设备就直接启动 Android。你不会因为意外把自己锁在外面。

设备启动时发生什么 设备以试用方式启动 Linux。Linux 启动成功后,这次启动被确认,尝试次数重新补满。如果没有成功,就用掉一次;次数用完时,设备会自动启动 Android。 开机 引导程序启动 Linux, 并用掉一次尝试 Linux 大约一分钟内 启动成功了吗? USB 网络和 SSH 是 启动已确认: 尝试次数全部恢复 你在使用 Linux 否 未确认: 少一次尝试 还有次数吗? 是 下次启动 否 自动启动 Android 尝试次数:1 到 6(默认 5)。 锁定的 Linux 不会自动回到 Android。

3. 回到 Android 只需一条命令

在 Linux 中,要求下次启动进入 Android,然后重启:

sudo mu300-next-boot android
sudo reboot

在 Android 中,用 su -c mu300-linux,或者安装程序添加的“MU300 Linux” Magisk 模块的 Action 按钮,就能回到 Linux。要永久移除 Linux,在电脑上运行卸载程序。这些都在更新与安全页面上。

4. 桌上的私人网络

手机和笔记本连接设备的 Wi-Fi 热点,或者插在它的 USB 口上。设备通过你的 SIM 卡用 5G 或 LTE,或者通过它加入的另一个 Wi-Fi 网络,把它们带到互联网。通过 USB,你的电脑可以在 192.168.77.1(F50)或 192.168.78.1(U30 Air)访问设备本身。

设备如何把一切连起来 手机和笔记本连接设备的 Wi-Fi 热点,或插在它的 USB 口上。设备通过 SIM 卡的 5G 或 LTE,或者另一个 Wi-Fi 网络,把它们带到互联网。 手机 笔记本 Wi-Fi 热点 USB 数据线 F50 / U30 Air 192.168.77.1(F50) 192.168.78.1(U30 Air) 5G / LTE 使用你的 SIM 卡 或者另一个 Wi-Fi 网络 互联网

快速开始

在 Windows、macOS 或 Linux 上,设备已 root 并用 USB 连接,大约 15 分钟。安装指南 会逐一讲解每个问题。

  1. 检查

    ./install.sh --check 只读取设备,告诉你 Linux 能不能装下、装在哪里。

  2. 安装

    ./install.sh 会问几个问题,显示将要写入的内容,并等你输入 INSTALL。

  3. 登录

    大约一分钟后:ssh ubuntu@192.168.77.1,OpenWrt 则打开 http://192.168.77.1。

git clone https://github.com/dikeckaan/mu300-linux
cd mu300-linux
MU300_LANG=zh ./install.sh --check   # 只读取,不写入任何东西
MU300_LANG=zh ./install.sh           # Windows: .\install.ps1 -Lang zh

MU300_LANG=zh(Windows 上为 -Lang zh)会让安装程序直接以中文启动;不加的话,它会在开始时询问语言。

你会失去什么?(剧透:什么都不会)

这些设备上的 Android 本来就没有屏幕、扬声器和 HDMI,所以 Linux 拿不走任何原本就有的东西。它唯一拿走的,是你口袋里还没有一台 5G Linux 服务器的最后一个借口。装了不吃亏,不装才吃亏——亏掉的是一台服务器。

业余项目,风险自负

这是一个利用业余时间做的实验性项目。它不是产品,没有客服,也不提供任何担保。向手机级设备写入数据可能让它无法使用; root、解锁和救砖工具都不属于本项目。请做好备份,不要装在你承受不起损失的设备上。修改设备发出的内容(TTL、频段锁定、VPN)可能违反运营商条款或当地法律。完整说明见 README。

常见问题

安装 Linux 会删除 Android 或我的数据吗?

在常见的 64 GB 设备上不会。Linux 安装在不属于任何分区的约 32 GiB 空间里,Android 的分区、数据和分区表都不会被写入。安装程序只写入一个启动分区(Android 没有在用的那个槽位)以及 misc 的 32 个字节。

例外是 32 GB 版本:它完全没有空闲空间。这时可以用 SD 卡(F50),或者让安装程序缩小 userdata,这会清除 Android 里的全部内容。这条路是实验性的,会先要求你输入 ERASE。

需要先给设备 root 吗?

需要。设备必须已经 root 并解锁:它已经能启动修改过的 Android 启动镜像,并且打开了 USB 调试。做到这一步不属于本项目,你要按照那些工具自己的说明进行,风险自负。

如果 Linux 启动不了怎么办?

设备会自动回到 Android。每次启动 Linux 都是一次试用;如果连续失败 5 次(安装时可在 1 到 6 之间选择),下一次启动就是 Android。详见安全网。

怎样回到 Android?

在 Linux 中:sudo mu300-next-boot android,然后 sudo reboot。要彻底移除 Linux,请在设备处于 Android 时运行 ./uninstall.sh(Windows:.\uninstall.ps1)。在 Android 中,su -c mu300-linux 可以再次启动 Linux。

Ubuntu 还是 OpenWrt,该选哪个?

如果主要想要一个带网页界面的路由器,选 OpenWrt;如果想要一台用 apt 的小服务器,选 Ubuntu。也可以两个都装,用 mu300-os 切换。选择系统页面连同三个内核一起做了说明。

支持 ZTE U30 Pro 吗?

不支持。U30 Pro 用的是另一颗芯片(UMS9632)。支持的是 ZTE F50 / MU300 和 ZTE U30 Air,两者使用同一块主板和芯片;安装程序会自己识别是哪一台。

可以不用电脑安装吗?

可以,前提是设备已经运行装有 Magisk 26 或更新版本的 root 过的 Android:每个发布版本都有 Magisk zip,每个系统和内核各一个(共 11 个,包括带控制面板的 OpenWrt),在 Magisk 应用里安装。参见用 Magisk zip 安装。

可以把 Linux 装在 SD 卡上吗?

F50 可以:卡槽里有一张至少 700 MiB 的卡时,安装程序会问 Linux 是否装到卡上。U30 Air 没有卡槽。

有屏幕或声音吗?

没有。USB-C 转 HDMI 不工作,主板上也没有扬声器和麦克风。你通过 SSH、网页界面或串口控制台使用设备。

要花钱吗?

不要。脚本和文档采用 MIT 许可,内核采用 GPL-2.0。发布的镜像里不含专有文件:安装程序会从你自己的设备上复制 Wi-Fi 和基带文件。

接下来去哪里