写点什么

16 岁高中生成功将 Linux 移植到 iPhone,并贴出详细指南

  • 2021 年 1 月 14 日
  • 本文字数:1154 字

    阅读完需:约 4 分钟

16 岁高中生成功将 Linux 移植到 iPhone,并贴出详细指南

如果你的旧 iPhone 已经无法支持你日常使用了,你会怎么处理这部 iPhone 呢?卖掉还是留起来收藏呢?近日,国外一名 16 岁的小开发者在 YouTube 上发布了一则视频,展示了自己是如何将 Linux 移植到一部无法使用的 iPhone 7。


2020 年 3 月,Corellium 提出了 Project Sandcastle,通过使用 checkra1n 越狱程序在 iPhone 上成功运行 Android,激发了开发者对那些旧型号的 iPhone 进行“改造”的热情。此后,很多开发者尝试对自己的旧设备进行“改造”,试图将 Linux 发行版移植到那些旧型号的 iPhone 上,为这些本该“吃灰”的设备延长寿命。


近日,国外一名 16 岁的小开发者 Daniel Rodriguez 成功地将 Linux Ubuntu 20.04 移植到了 iPhone 上。


图片来源于 xda-developers


据 Daniel 介绍,他使用的 iPhone 7 是他外婆的,这部设备已经完全无法访问 NVMe NAND,这意味着这部设备已经无法再运行 iOS 系统,就是大家常说的“变砖”,不过这部 iPhone 7 的硬件设备没有任何故障和损坏,于是 Daniel 拿来了这部手机,准备将它改造一番。


Daniel 参考并使用了 checkra1n,linux-sandcastle,projectsandcastle 等开源项目,同时自己编写了网桥设置 script/udev 规则来实现这一复杂的工作。最终成功地在这部 iPhone7 上运行了 Ubuntu 20.04。


Daniel 还在 Reddit 上分享了一份十分详细的指南,说明自己是如何成功制造出这部「iPhone 7 Ubuntu Edition」,有经验的开发者甚至可以直接按照该教程进行操作。而对于没有经验的用户,过程就会相对繁琐了不少,因为需要开发者事先手动编译内核并使用 checkra1n 访问 pongoOS 引导前执行环境。有兴趣的小伙伴可以移步 Reddit:


https://www.reddit.com/r/linux/comments/kux9xx/success_iphone_7_with_dead_nand_netbooting/


Daniel 表示,他自己在家里搭建了一组服务器,用于运行自己的俱乐部网站和游戏服务器。现在,他把改造后的 iPhone 7 当作一台服务器用来分担他的服务器的负载。而 iPhone 7 的 A10 芯片也发挥出了超乎 Daniel 想象的性能。


尝试将 Ubuntu 移植到 iPhone 7 上并不奇怪,因为该 Ubuntu 系统对于 Linux 内核并不陌生。此前的 postmarketOS 项目就是将 Linux 引入 iPhone 7 和 iPhone 7 Plus。虽然在 iPhone 上安装像 Ubuntu 这样的 GNU / Linux 发行版不会给用户带来与 iOS 相同的使用体验,但将旧设备改造并成功运行 Linux 无疑是一件很酷的事情。


他将改造成功的经历和指南发布到 Reddit 上后,迅速引发了广大开发者和用户的关注,很多用户称他为「天才」,不过 Daniel 却很谦虚,他表示,“这些都应该归功于 Corellium、checkra1n 项目的开发人员、Linus Torvalds 以及 Linux 内核的所有贡献者、Ubuntu 和 Debian 维护者等等。他们是为这个项目制作所有作品的真正英雄,而我只是恰好在 iPhone 上组装了这些前辈们留下的拼图。”

2021 年 1 月 14 日 09:313127

评论 2 条评论

发布
用户头像
16岁就这么厉害了
2021 年 01 月 18 日 15:05
回复
用户头像
牛人 , 真正的大师,永远怀着一颗学徒的心!
2021 年 01 月 16 日 16:34
回复
没有更多了
发现更多内容

让工具成为双手的延伸

Zilliz

数据库 书籍推荐 程序 书籍

Linux运维,Linux系统学习

侠盗安全

Linux linux运维 运维工程师 云计算架构师

10年经验总结,华为fellow教你如何成为一名优秀的架构师?

华为云开发者联盟

架构设计 架构师 华为fellow 云服务运维

大厂面试算法题之数组

程序员学长

数据结构 算法 大厂面试

一文读懂 Apache Pulsar

晓双

云原生 Apache Pulsar 消息系统 数据流 Apache Pulsar 社区

进程崩溃/应用卡死,故障频频怎么办?|HDC2021技术分论坛

HarmonyOS开发者社区

HarmonyOS

前端性能优化 24 条建议

编程江湖

大前端

DataPipeline与TiDB推出异构数据实时同步解决方案,共筑安全可信基础设施

DataPipeline数见科技

数据库 大数据 中间件 数据融合 数据管理

Android C++系列:Linux网络(三)协议格式

轻口味

c++ android 28天写作 12月日更

浅谈服务网关和联邦云

星环科技

联邦云 服务网关

Go语言学习查缺补漏ing Day7

恒生LIGHT云社区

golang Go 语言 编程语言‘

安全办公 |企业级IM即时通讯私有云解决方案

WorkPlus Lite

为啥你写的代码老有大串的if/else?

华为云开发者联盟

代码 if for循环 else

这套神奇的个人信息管理系统,带我一步步进入互联网大厂

博文视点Broadview

前端开发:npm run serve和npm run dev的区别

三掌柜

28天写作 21天挑战 12月日更

科创人·StreamNative翟佳:开源模式价值为王,基础软件的未来在国内社区

科创人

CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩!

华为云开发者联盟

高并发 图像预处理 CANN 昇腾 异构计算

双 11 大促会场开发提效解析:前端智能化落地实践

凹凸实验室

机器学习 大前端 智能代码

高并发多方案秒杀架构

MetaThoughts

Python enumerate():使用计数器简化循环

华为云开发者联盟

Python 变量 计数器 循环 enumerate

数据库事务的三个元问题

Zilliz

数据库 数据库设计

如期而至-用户购买时间预测(下)

索信达控股

模型 购买预测 购买行为 精准营销

MySQL性能测试之select&update【FunTester框架】

FunTester

MySQL 性能测试 测试框架 FunTester FunTester框架

【干货分享】研效优化实践:AI算法助力深层BUG挖掘

WeTest

恒拓高科WorkPlus助力南兴装备移动数字化升级

WorkPlus Lite

Flutter 自定义 ACEFoldTextView 折叠文本

阿策小和尚

28天写作 0 基础学习 Flutter 内容合集 签约计划第二季 12月日更

全链路数据血缘在满帮的实践

华为云开发者联盟

sql 图数据库 图计算 全链路数据血缘 数据血缘

Java 程序员必须掌握的 10 款开源工具

编程江湖

java编程 java开发工具

从0到1教你如何使用 p5.js 绘制简单的动画

海拥(haiyong.site)

大前端 动画 28天写作 签约计划第二季 12月日更

从 0-15 套存储集群,YRCloudFile 助力 AI 训练效率“超线性增长”

焱融科技

人工智能 云计算 分布式 高性能 文件存储

Java开发之环境搭建基础教程

@零度

Java 开发环境搭建

16 岁高中生成功将 Linux 移植到 iPhone,并贴出详细指南_语言 & 开发_李俊辰_InfoQ精选文章