手上这台 Q20(SQC100-2,系统 10.3.3.3216)还是高一高二那会买的,当作主力机用了半年多。
2022 年 BlackBerry 把开发者站点和签名服务关了,BB10 的商店更早就没了。装不了新东西,只剩下当时装过的一些勉强增加可用性的低版本安卓软件(电子书阅读器之类),还有就是系统自带的那几个没什么用的。
在 AI 的帮助下,现在可以写一些原生软件或者安卓软件,让这台有物理键盘的老家伙多点把玩的乐趣。但原生软件需要 BlackBerry 的官方签名证书,现在拿不到了,那就只剩刷机 root 这一条路。
社区的做法是把官方 autoloader 拆开改掉再刷回去:加 root,预装工具,删掉设置向导,一次到位。这篇记我刷它的过程,以及几次失败的原因。最后一段写刷完之后顺手改的 Term49 终端。
开始刷机之前
要准备的有:Q20 对应的 10.3.3.3216 MOD 包,社区移植的 bb10mt(我用的是 macOS ARM64 版),以及配套的 bb10mt.ini 和 loaders.dat。
MOD 包拆成两个镜像:
| 镜像 | 内容 | 大小 |
|---|---|---|
.0.unsigned |
系统(含 root 与预装工具) | 约 2.5 GB |
.1.signed |
基带 | 约 54 MB |
两个都得刷,先系统后基带。
开始刷机
刷机命令起来之后,工具要等手机上电启动那几秒的 BootROM 窗口,线插早了就错过了。
Windows 上也能刷:把包转成 autoloader(系统
2.6 GB,基带 64 MB 两个 exe),装好 BlackBerry Link 带的 USB 驱动,双击就行。
电脑连上手机之后刷系统镜像,顺序是:先跑命令 → 关机 → 插线 → 输密码。
./bb10mt_aarch64_darwin flash -r loaders \ -i ../Q30_Z30-Classic-Leap_10.3.3.3216-MOD.0.unsigned进度条里出现 Making QCFM stream,块计数和百分比,说明开始写了。中间不要拔线或者按键。写完工具会让手机自己重启。
结尾可能会蹦一句
LIBUSB_ERROR_OTHER。那是手机重启导致 USB 掉线,不是失败。
系统刷完再刷基带,一到三分钟。
如果开机不再出现设置向导,直接进桌面,就是刷进去了。桌面上有预装的 Term49,通知栏也会有 root 提示。
如果开机还是向导,说明没刷进去,要重新走一遍上一步。
卡在设置向导的 Wi-Fi 页
刷了原版固件,或者包没刷进去,开机会停在设置向导,而且卡在 Wi-Fi 那一页:既没有“下一步”也没有“跳过”。因为 BlackBerry 的服务器已经关了,连不上就不让你继续。
绕过办法:先连上 Wi-Fi,进到“热点登录(Hotspot Login)”那一页,然后长按 BlackBerry 的图片,同时按挂断键(End call)。屏幕会直接回到主屏幕。
注意是 BlackBerry 的图片,不是 BlackBerry 键。我这里卡了好久,就是理解成了 BlackBerry 键。
这个方法只是跳过向导,手机重启后依旧会进入向导的。
Term49 终端改造
| fastfetch | ssh + herdr |
|---|---|
![]() |
![]() |
Term49 是刷机包里预装的终端,我先换成了 Term49C(在 Term49 基础上加了快捷键和触控板支持的 fork)。它是 SDL 1.2 + QNX Screen 的原生应用,只能收到键盘事件,用不了系统的中文输入法,一个窗口也只能开一个会话。
重写后的 Term49X 还是同一套 SDL 1.2 + QNX Screen,在 Term49C 的源码上加了几样东西:多会话标签和切换器,内置的小鹤双拼和全拼,滚动回看搜索,还有 Nerd 字体图标。
系统输入法那条路也试过,接口是私有的,尝试逆向出来的版本输入法一个回调都不给,最后只能自己做输入条,在软件里内置输入法了。
中文还有一层坑在 shell 里:QNX 没有 UTF-8 locale 数据,BerryCore 带的 zsh 5.0.2 又是编译时没开多字节,在提示符后面打中文会变成一堆方框。后来交叉编译了 zsh 5.9,补上 QNX 缺的 wcwidth/iswprint,才算能正常输入和退格。
如果有需要可以查看 Term49X 仓库详情。
参考
- 可可知秋:黑莓BlackBerry 10系统Q10/Q20/Q30手机root简单教程
- BlackBerry 10 root and more:Pre-rooted autoloaders v3
- Term49 / Term49C

