Surface RT 安装 Linux

零:起因

在家无事找出来一台老旧设备 Surface RT 一代的,系统最新是 Windows 8.1 arm版,应用商店都已经打不开了

虽说有破解方法,能运行些软件,但怎么说也不是任意安装,所以局限性还是相当的大,基本上就是个泡面盖子了

之前刷过 Linux,但实用性并不是很强,非常之卡,但现在实测已经可以使用了,还是比较流畅的,而且软件都可以随便安装了,所以就安装在 EMMC 硬盘中,直接替换掉原系统了

现在状态就是开机就是直接进 Linux 了,一下子就有了相当可观的使用性,并不比一些老平板差,虽然说明中说没有二级缓存啥的,但实际使用中感觉不出来差多少,最少现在使用绝对够用了,也许有了会性能更好

该方法的官方网站:Welcome - Windows RT Devices GitBook,网站都是英文的,可以用浏览器的翻译直接翻译,基本都能看懂

下面是基本步聚,其实真是非常简单

  1. 先破解安全启动:就是用 Yahallo 工具,说明及工具下载地址:Tegra Jailbreak USB - Windows RT Devices GitBook

  2. 然后按说明安装 Linux 即可,官方用的是 树莓派的 Linux 也是非常好用的,说明及工具下载位置地址:Raspberry Pi OS - Open Surface RT

  3. 主要操作:

    从USB引导:RT 关机状态『按住音量减不松,再按一下开机键,直到显示了U盘系统的引导,就可以松开音量减了』

    分区名说明:

    mmcplk0p2:mmcplk0(emmc硬盘)p2(第二个分区)

    mmcplk1p2:mmcplk1(RT自带读卡器)p2(第二个分区)

    sda2:sda(USB接的U盘或TF卡)2(第二个分区)

壹:破解安全启动

先找一台可以正常操作的电脑

一、先下载破解工具

工具名:Tegra_Jailbreak_USB.zip 网页上面有

二、解压工具

将压缩包内容直接解压到一个被格式化为 FAT32 的U盘中(TF卡也行)

注意:一定是要压缩包中的内容,应该是包含有 efi 等多个文件夹及文件,都要放在U盘的根目录下,新手有可能会把解压时生的同压缩包名的目录放里,那样是不行的

三、破解安全引导 - 安装 Golden Keys

官方方法很多,但咱选个最简单的就行,RT 关机,最好弄个USB HUB,接上键盘,再接上 U盘

  1. 按住 音量减 不松手,再按住开机键,等看到 Surface 的开机画面就可以松开机键,但音量减还要按住,直到开机的 Surface 字样没了,此时应该就是进入了U盘的引导页面,此时就可以松开音量减了,以后只要说从USB启动就是这么操作,如果还是进入了正常的系统就说明失败了,再重新操作或是按官方说明从 Windows 下安装也可以

  2. 上下键选 Install Golden Keys 后按回车,再选 Accept and Install 后按回车(没有键盘的话可能用音量加减键做为上下,屏幕下面的 Win 田字标可以做回车)

  3. 有可能会重启,不过无所谓,继续安装,反正就是从开机时就按住音量减就可以从U盘启动,接着安装下一步

四、破解安全引导 - 安装 Yahallo

  1. 重新从U引导后 选择 Install Yahallo 按回车就可以了

  2. 可以按说明到 Windows 中检查一下破解情况

五、破解失败的几个情况

一般破解都没问题,但之前查资料时发现有同学破解就会失败,说是因为最后微信有个两个更新锁住了破解还是引导还着,一般这种情况就是将系统恢复一下或重新安装一下,不用更新,一般都可以正常破解

破解完成了以后以后也不用管了,反正正常也看不出来,这 RT 也不存在安不安全的问题了,能用就不错了,嘿嘿

下一步就是安装Linux了,就更简单了

贰:安装 Linux

官方说明网站:Raspberry Pi OS - Open Surface RT

注意:官方说明需要两个U盘,其实一个也能搞定,主要目的是为了后面往系统里拷贝模块

一、先下载准备文件

usb-linux-boot.zip:UEFI boot - Open Surface RT

zImage、tegra30-microsoft-surface-rt-efi.dtb:Prebuilt binaries - Open Surface RT (下载 surface-rt-5.17.0-rc7-kernel-inc-modules.zip 文件就可以,解压出来里面就有这些文件,-efi.dtb是为了使用efi方式引导使用的)

二、下载并制作树莓派的启动U盘

树莓派官网:Raspberry Pi OS -- Raspberry Pi

现在最新版本是用的 debian12 为基础的

接上U盘,注意会将U盘重分区并清除原数据,所以要用一个空U盘

打开『树莓派镜像烧录器』后,直接点『选择操作系统』即可(前面的选择设备不用管)

选择一个32位的系统(因为 RT 的处理器就是32位的,唉~)

写入前有可能会提示你先配置什么,不过实测并不会自动配置在系统中,所以如果必须设置就瞎一通保存就可以了

然后就安心等待U盘写完就可以了,只要网速好,还是挺快的

三、放入文件到U盘

之前下载的两个压缩文件都解压出来,从中找出需要拷贝以下几个文件到U盘的引导分区中

efi 目录、startup.nsh、zImage、tegra30-microsoft-surface-rt-efi.dtb

注意1:startup.nsh 中路径要改:原root=/dev/mmcblk1p2(意思是从RT的TF卡读卡器引导),改成root=/dev/sda2(如果实际是从RT的TF卡读卡器引导就不用改了)

注意2:官方说明中的引导分区 『boot/fat32』,并不是 Linux 中的 /boot 目录,而且一个分区,分区的类型是 fat32格式的,如果Windows、macOS应该都只会显示这一个U盘分区,另一个U盘分区因为是LINUX格式的,所以无法显示,但如果使用的Linux系统,那应该就会显示两个分区

四、U盘插入 RT

是插入到RT的哪里要看 startup.nsh 中的设置

mmcblk1p2 就是 TF卡插入RT的读卡器中,sda2 就是接在RT的 USB口中

然后关机状态,使用USB引导即可(上面写过,长按音量减+按一下开机键,直到Linux 开始引导)

注意:最好先接个键鼠,因为新系统需要先设置,新系统是没有虚拟键盘的

安装系统模块:

复制代码
# 将下载的 surface-rt-5.17.0-rc7-kernel-inc-modules.zip 压缩文件中 lib/modules/5.17.0-rc7-next-20220310-g526f003fca07 目录,拷贝到 linux 系统中,要不然很多功能可能都不好用
​
# 我是直接将5.17。。。这个目录直接复制到了 Linux 系统 U盘的引导目录中拷贝过去的,也可以使用另一个U盘拷贝也行,无所谓,只能能放在系统的 /lib/modules 目录中就可以,下面的是我的操作
sudo mount /dev/sda1 /mnt
cd /mnt
sudo cp -r /mnt/5.17.0-rc7-next-20220310-g526f003fca07 /lib/modules/
cd
sudo umount /mnt

完成后就可以重新启动系统使用了(此时还是从U盘启动)

如果只是想体验下,到这就结束了,原系统还能保留不影响,想用LINUX就接入U盘从USB引导即可

五、安装到硬盘

注意:安装到硬盘后原系统都没有了,硬盘分区会都会被重新分区

在U盘引导完 Linux 并设置完成,此时系统已经算是可以正常使用了

选左上角菜单 -> 附件 -> SD Card Copier

第一行是选择U盘驱动器做为来源

第二行是选择emmc做为目的驱动器

必须选中『新分区UUID』的复选框,最后点开始,等待即可,最好没事儿动动鼠标,别让它黑屏,以免出问题

写入完成后的重点操作:

修改引导分区中的 startup.nsh (可能还会有好几个带后缀的 startup.nsh 最好都改下)

此时是要在 RT 中进行修改,而系统中默认是看不到引导分区的,所以可以使用以下命令

复制代码
# 将硬盘的引导分区加载到 /mnt 目录中
sudo mount /dev/mmcblk0p1 /mnt
cd /mnt
ls -lh startup.nsh* #可以查看到要改的这些文件
sudo nano startup.nsh #修改root=/dev/sda2 不管原内容是什么,最终应为root=/dev/mmcblk0p2
# 用nano 用vi 都可以,习惯哪个用哪个,改完保存后就可以了

Linux系统此时已经完整的安装在了 RT 的硬盘中了

此时就可以关机,拨到所有U盘,并直接正常开机(就是平常按一下开关的那种)

别忘记可以从硬盘中正常开机后需要扩展一下硬盘,要不然太浪费空间

打开终端 -> 输入 sudo raspi-config -> 选择 Advanced Options -> 选择 Expand Filesystem 此时硬盘所有的空间就都是可以使用的了

叁:后续

触摸屏的键盘

复制代码
sudo apt install onboard
sudo apt install at-spi2-core

设置可能会是乱码

一些问题

触摸屏该怎么点出鼠标右键

一些软件中文是乱码

开关机键没法熄屏,但自动熄屏后可以通过开关机键点亮

其它问题慢慢再发现

可以干点啥呢

反正32位LINUX能干的它都能干,但不建议在上面跑数据库,根据以前用开发板的经验发现,这种固态硬盘跑数据库特别容易坏,注意是特别容易坏,别的都没问题,所以数据库文件一定要放在外置的硬盘上,最好是机械盘,准成些

相关推荐
什么半岛铁盒43 分钟前
【Linux系统】Linux环境变量:系统配置的隐形指挥官
linux
Lw老王要学习1 小时前
Linux容器篇、第一章_02Rocky9.5 系统下 Docker 的持久化操作与 Dockerfile 指令详解
linux·运维·docker·容器·云计算
橙子小哥的代码世界2 小时前
【大模型RAG】Docker 一键部署 Milvus 完整攻略
linux·docker·大模型·milvus·向量数据库·rag
倔强的石头1062 小时前
【Linux指南】用户与系统基础操作
linux·运维·服务器
云上艺旅3 小时前
centos升级内核
linux·运维·centos
kaikaile19953 小时前
centos开启samba服务
linux·运维·centos
云上艺旅3 小时前
centos部署k8s v1.33版本
linux·云原生·kubernetes·centos
好多知识都想学3 小时前
Centos 7 服务器部署多网站
linux·服务器·centos
好多知识都想学3 小时前
centos 7 部署awstats 网站访问检测
linux·运维·centos
Li-Yongjun3 小时前
深度解析 Linux 内核参数 net.ipv4.tcp_rmem:优化网络性能的关键
linux·网络·tcp/ip