写点什么

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

2021 年 1 月 14 日

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:312428

评论 2 条评论

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

大企内部软件系统反复故障难以解决,业内人士:唯有彻底更换

Marilyn

敏捷开发 快速开发 开发工具

有一说一,大型信息化企业的软件系统,还是用自研的好

Marilyn

敏捷开发 快速开发 开发工具 软件设计

JVM-技术专题-深入理解内存结构

李浩宇/Alex

Java JVM

Go语言内存管理三部曲(一)内存分配原理

网管

go 内存管理 内存布局

JAVA代码生成器,快速开发平台之魂

Marilyn

Java 敏捷开发 快速开发 开发工具

区块链钱包软件开发费用,区块链多币种钱包

135深圳3055源中瑞8032

合约跟单交易系统开发,一键智能跟单软件

135深圳3055源中瑞8032

一线城市年轻人生活工作录(业务员篇)

Marilyn

敏捷开发 快速开发

一线城市年轻人生活工作实录(程序员篇)

Marilyn

敏捷开发 开发者工具 快速开发

TensorFlow 篇 | TensorFlow 2.x 基于 Keras 的模型保存及重建

Alex

tensorflow keras model save model restore tensorflow hub

阿里面试官纯手打:金九银十跳槽必会Java核心知识点笔记整理

Java架构追梦

Java 数据库 架构 面试 微服务

WSDM Cup 2020大赛金牌参赛方案全解析

华为云开发者社区

大数据 搜索 信息

快速开发平台,高集成易扩展,进入软件疾速开发新世代

Marilyn

敏捷开发 快速开发 开发工具

数字货币交易所开发,币币交易源码

135深圳3055源中瑞8032

Redis Sharding集群跟一致性哈希有什么瓜葛?

Man

一致性哈希 Jedis redis cluster

五年Java开发经验,4面阿里成功拿下offer,分享一下个人面经!

Java架构之路

Java 程序员 面试 算法 编程语言

医院HIS故障,险引发人命关天大危机,竟被程序员轻松解决!

Marilyn

百度人工智能OCR调用调试过程

tuuezzy

spring-boot-route(十三)整合RabbitMQ

Java旅途

Java Spring Boot RabbitMQ

GitHub 上开源了一个很邪恶的项目!女生勿近,18香警告...

程序员生活志

为什么巨头都在布局SaaS生态?

ToB行业头条

SASS

用友政务表格技术应用开发实践:预算一体化产品核心功能搭建

Geek_Willie

SpreadJS 用友

MySQL-技术专题-性能优化—索引篇

李浩宇/Alex

企业开发遇到瓶颈,何不换个新思路?快速开发了解一下

Marilyn

敏捷开发 快速开发

微前端之如何拆解React巨石应用 qiankun

SugarTurboS

项目管理 架构 React 微前端 前端性能优化

快速开发平台,程序员“老师傅”必备

Marilyn

敏捷开发 快速开发 开发工具

标本兼治,程序员用它整体提升公司效率

Marilyn

敏捷开发 快速开发

架构师训练营 1 期第 4 周:系统架构 - 作业

piercebn

极客大学架构师训练营

阿里内部《Java架构进阶宝典》,总结了基础、进阶、架构三个阶段的知识点

Java架构之路

Java 程序员 面试 算法 编程语言

区块链USDT支付系统开发需要多少费用?USDT跨境支付

135深圳3055源中瑞8032

医疗AI系统构建(1)one-hot编码

刘旭东

人工智能 学习 医疗AI one-hot

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

2021年全国大学生计算机系统能力大赛操作系统设计赛 技术报告会

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