当前位置: 首页 > news >正文

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

相关文章:

Surface RT 安装 Linux

零:起因 在家无事找出来一台老旧设备 Surface RT 一代的,系统最新是 Windows 8.1 arm版,应用商店都已经打不开了 虽说有破解方法,能运行些软件,但怎么说也不是任意安装,所以局限性还是相当的大&#xff0…...

C++中的函数重载:多功能而强大的特性

引言 函数重载是C编程语言中的一项强大特性,它允许在同一个作用域内定义多个同名函数,但这些函数在参数类型、个数或顺序上有所不同。本文将深入探讨函数重载的用法,以及它的优势和应用场景。 正文 在C中,函数重载是一项非常有…...

数据分析实战 | K-means算法——蛋白质消费特征分析

目录 一、数据及分析对象 二、目的及分析任务 三、方法及工具 四、数据读入 五、数据理解 六、数据准备 七、模型训练 ​编辑 八、模型评价 九、模型调参与预测 一、数据及分析对象 txt文件——“protein.txt”,主要记录了25个国家的9个属性,主…...

HTTP协议详解-下(Tomcat)

如何构造 HTTP 请求 对于 GET 请求 地址栏直接输入点击收藏夹html 里的 link script img a…form 标签 通过 form 标签构造GET请求 <body><!-- 表单标签, 允许用户和服务器之间交互数据 --><!-- 提交的数据报以键值对的结果来组织 --><form action&quo…...

acwing算法基础之搜索与图论--prim算法

目录 1 基础知识2 模板3 工程化 1 基础知识 朴素版prim算法的关键步骤&#xff1a; 初始化距离数组dist&#xff0c;将其内的所有元素都设为正无穷大。定义集合S&#xff0c;表示生成树。循环n次&#xff1a;找到不在集合S中且距离集合S最近的结点t&#xff0c;用它去更新剩余…...

Amazon EC2 Serial Console 现已在其他亚马逊云科技区域推出

即日起&#xff0c;交互式 EC2 Serial Console 现也在以下区域推出&#xff1a;中东&#xff08;巴林&#xff09;、亚太地区&#xff08;雅加达&#xff09;、非洲&#xff08;开普敦&#xff09;、中东&#xff08;阿联酋&#xff09;、亚太地区&#xff08;香港&#xff09;…...

hdlbits系列verilog解答(100输入逻辑门)-39

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 构建一个具有 100 个输入in[99:0]的组合电路。 有 3 个输出: out_and: output of a 100-input AND gate. out_or: output of a 100-input OR gate. out_xor: output of a 100-input XOR gate. 二、verilog源…...

Python 中 Selenium 的屏幕截图

文章目录 使用 save_screenshot() 函数在 Python 中使用 selenium 捕获屏幕截图使用 get_screenshot_as_file() 函数在 Python 中使用 selenium 捕获屏幕截图使用 Screenshot-Selenium 包在 Python 中使用 selenium 捕获屏幕截图总结我们可以使用 Selenium 在自动化 Web 浏览器…...

scrapy发json的post请求

一 、scrapy发json的post请求&#xff1a; def start_requests(self):self.headers {Content-Type: application/json}json_data {"productName": "", "currentPage": "1", "recordNumber": "10", "langua…...

一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?

目录 1解题思路&#xff1a; 2代码如下&#xff1a; 3运行结果&#xff1a; 4总结&#xff1a; 5介绍&#xff1a; 1解题思路&#xff1a; 利用循环&#xff08;穷举法&#xff09;来 对 所 需要的数 进行确定 2代码如下&#xff1a; #include <stdio.h>int main() …...

自主开发刷题应用网站H5源码(无需后端无需数据库)

该应用使用JSON作为题库的存储方式&#xff0c;层次清晰、结构简单易懂。 配套的word模板和模板到JSON转换工具可供使用&#xff0c;方便将题库从word格式转换为JSON格式。 四种刷题模式包括顺序刷题、乱序刷题、错题模式和背题模式&#xff0c;可以根据自己的需求选择适合的模…...

java 读取excel/word存入mysql

引入依赖 <!--poi--><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.0.1</version></dependency><dependency><groupId>org.apache.poi</groupId><artif…...

11.(vue3.x+vite)组件间通信方式之ref与$parent、$children

前端技术社区总目录(订阅之前请先查看该博客) 示例效果 注: (1)ref 加在标签(div等)上,是拿到dom 对象 (2)ref加上组件上,拿到的是组件的引用 (3)让父组件获取子组件的数据或者方法需要通过defineExpose对外暴露,另外让父组件获取子组件的数据或者方法需要通过d…...

[工业自动化-12]:西门子S7-15xxx编程 - PLC从站 - ET200 SP系列详解

目录 一、概述 1.1 概述 二、系统组成 2.1 概述 2.2 与主站的通信接口模块 2.3 总线适配器 2.4 基座单元 2.5 电子模块 2.6 服务器模块 一、概述 1.1 概述 PLC ET200 SP 是西门子&#xff08;Siemens&#xff09;公司生产的一款模块化可编程逻辑控制器&#xff08;PL…...

消息队列简介

消息队列 在认识rabbitMQ之前&#xff0c;我们需要先认识下消息队列。 消息队列&#xff0c;一般简称为MQ&#xff08;Message Queue&#xff09;。先不管消息(Message)这个词&#xff0c;先看看队列(Queue)。 队列就是一种先进先出的数据结构。 所以消息队列可以简单理解为&a…...

SQL中实现汉字的拼音首字母查询

由于汉语拼音首字母也就23个&#xff0c;该方法利用汉字字符按拼音字母排序的特点来生成对应的拼单首字母&#xff0c;只需找到这23个汉语拼音首字母中分别排序在第一的汉字生成23条临时表数据用于参照&#xff0c;即可简单实现汉字匹配拼音首字母 CREATE FUNCTION f_GetPyAcr…...

今天知道LiveData的ktx是真的香

主要还是认知问题&#xff0c;Android 官网从一开始就在推ktx&#xff0c;现在都已经2. 版本了&#xff0c;但是呢&#xff0c;因为之前没有从0开始写过一个Kotlin的APP&#xff0c;就陷入了一个JAVA 思维&#xff0c;在JAVA 中我们知道要做到像协程这么处理不是不能&#xff0…...

SpringBoot中的桥接模式

桥接模式是一种结构型设计模式&#xff0c;它的主要目的是通过将抽象部分与实现部分分离&#xff0c;提高系统的灵活性和可扩展性。在桥接模式中&#xff0c;有四个主要参与者&#xff1a;抽象类、具体抽象类、桥接类和具体类。 抽象类是定义了抽象方法的基类&#xff0c;这些…...

AI爆文变现脚本:易用且免费的自动写作脚本更新了

之前给大家分享的AI爆文变现写作脚本 由于时间仓促&#xff0c;加上我对很多东西不熟悉 免费版本对新手小白来说&#xff0c;安装部署起来是非常的困难 于是这几天我加班加点把整个软件的部署简化 现在无需复杂的环境配置安装&#xff0c;下载配置下就可以使用了。 免费版…...

代码随想录算法训练营Day 49 || 123.买卖股票的最佳时机III 、188.买卖股票的最佳时机IV

123.买卖股票的最佳时机III 力扣题目链接(opens new window) 给定一个数组&#xff0c;它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意&#xff1a;你不能同时参与多笔交易&#xff08;你必须…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...