Surface RT / RT2 安装 Linux 文字版教程
Jony的科技小酒馆
2022年04月25日 14:13

视频讲的不太清晰,应B站朋友的呼声,做一个 Surface RT 安装 Linux 的文字版教程。

免责声明:一旦开始本教程,就要做好没有回头路的准备了。一切因本教程而造成的,包含但不限于Surface无法正常启动、系统故障、过热起火、爆炸等事故,UP概不负责。

准备工具:Surface RT 或 RT2,两只8G或以上的U盘,至少一拖三的USB拓展坞,键盘,一台电脑,稳定的网络连接。

禁用Secure Boot,刷入Yahallo

虽说RT是ARM架构的产品,但是微软还在用着X86的那一套思路来适配Win8。为了不让用户在RT上安装其它系统,微软给RT也整了Secure Boot。所以第一步要先解锁Secure Boot。

https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb

1. 从上面的网站下载Surface_RT_2_Jailbreak_USB_v1.4.zip

2. 准备一只U盘,格式化为FAT32格式,将上一步下载的压缩包解压到U盘根目录下。

3. 准备一个USB HUB,连接好键盘。(RT2用户不一定要用HUB,因为RT2支持键盘盖)

4. 将 Surface 关机,将USB插到HUB上,一只手先按住音量减,另一只手按一下电源键。Surface的LOGO亮起以后,松开音量减。

5. 接下来的界面,用键盘方向键选择“Install Golden Keys”,回车。

6. 选择“Accept and Install”,Secure Boot成功关闭后,设备会重启。(安装失败的朋友请长按电源键关机,移步到专栏结尾)

如果要验证是否安装成功,进入Windows,按下Win+R,输入运行“ms32info.exe”,若“Secure Boot State”为Off,即Secure Boot破解成功。

7. 确认步骤6成功后,重复步骤4,在5的界面中选择“Install Yahallo”,回车。

至此,准备工作完成。

下载所需的文件

为了保证这篇专栏能跟上更新,所有的文件都会给大家原网址。

1. 系统驱动 & 设备树文件(https://files.penguins.win/Linux-Kernel-Download/)

甚至已经有了Yoga11的包,分清设备型号下载

三个文件都要下载

tar.xz文件是设备的一些驱动,需要后期整合进系统。

中间带“zImage”的是内核镜像,下载后改名为“zImage”,不带后缀。

dtb是设备启动时要读取的设备树(Devicetree)文件。

2. 启动盘内容(https://openrt.gitbook.io/open-surfacert/surface-rt/linux/kernel/prebuilt-binaries)

压缩包里有efi文件夹和启动读取的命令。

3. 树莓派系统烧录器(https://www.raspberrypi.com/software/)

按照自己的系统下载

准备安装系统用的U盘

之所以要准备两只U盘,一只装驱动文件,另一只装系统。

Raspberry Pi Imager

1. 将U盘插入电脑,打开刚安装好的“Raspberry Pi Imager”,选择32位系统和U盘,点击“Write”。(这里以最简单的树莓派系统为例,理论上其它ARM 32位系统都能安装)

2. 安装完以后,U盘上会有两个分区,但在Windows上只能读出一个“Boot”分区,不影响后续步骤。

3. 将“usb-linux-boot.zip”解压到boot的根目录,同时拷贝前面下载好的设备树( .dtb )和zImage。

此时boot分区里应该有这些东西

4. 用记事本打开”startup.nsh",将 *.dtb 替换成你文件夹里的dtb名

5. 将驱动文件的压缩包(tar.xz)解压到另一只U盘里。

正式安装系统

  1. 将Surface关机,将键盘和装有树莓派系统的U盘插到拓展坞上,一只手先按住音量减,另一只手按一下电源键。Surface的LOGO亮起以后,松开音量减。

  2.  稍等片刻,Linux系统应该就开始引导了,进入系统后根据提示完成设置。

  3.  设置完成后,插上另一只U盘,打开U盘的 lib>modules 文件夹,在终端中打开(Tools>Open Current Folder in Terminal)

  4. 输入“sudo passwd”并回车,设置root用户密码。然后输入“su root”并回车,输入刚刚设置的密码,回车。

  5. 查看modules文件夹下的文件夹开头,比如“5.16”,输入“cp -r” + 这个开头,然后按Tab自动补齐。再打上“ /lib/modules”(记得两个路径之间要加空格)。

示例

6. 用同样的办法复制好 lib/firmware 文件夹,弹出U盘,输入reboot,回车重启。

7. 打开 SD Card Copier,第一栏选择系统U盘,第二栏选择mmcblk0,勾选“New Partition UUIDs”。(等待时间比较长,过程中会自动熄屏,千万不要按电源键,直接点屏幕就可以,但是不要戳到取消了)

8. 编辑机载存储的boot分区下的"startup.nsh&#​34;,将sda2改成mmcblk0p2.

9. 关机,拔掉U盘,直接按电源键开机。

10. 启动后,在终端输入sudo raspi-config,回车。

11. 选择 Advanced Option > Expand Filesystem。

Troublesmashing!!!

“反越狱更新”

安装了2016年10月和之后的Win8.1更新的机器,需要通过重装原始系统来移除 “反越狱更新”。

下载地址:https://jwa4.gitbook.io/windows/miscellaneous/bare-metal-recovery

  1. 根据机型和地区下载不同的原始恢复镜像

  2. 将U盘格式化为 FAT32 格式,将镜像解压到U盘上。

  3. 用同样的方法从U盘启动,选择键盘布局,选择”故障修复“之类字眼的选项,选择”重置你的PC“,选择你要替换掉的系统(这一步也可能不会出现),选择下一步,选择重新分区,选择擦除参数,选择“重置”。

  4. 重启后按照指引重新设置系统。

  5. 安装失败的话,重新从U盘启动,但是选择“故障修复”以后,选择“高级选项” > “命令工具”,在命令行输入以下命令,每行输入完都要回车:

代码块
JavaScript
自动换行
复制代码
diskpart
select disk 0
clean
convert gpt
exit
复制成功

6. 选择 “关闭你的PC”,从步骤3重新开始。

恭喜你!你现在就拥有了一台 Linux 版的 Surface RT/RT2 !如果遇到了什么问题,欢迎在评论区留言~

在这里要给个超级大感谢给openrt(https://openrt.gitbook.io/open-surfacert/)和jwa4(https://jwa4.gitbook.io/windows/)两个项目组,没有他们的努力,我们的RT可能不会有重见天日的可能了!