16 岁高中生成功将 Linux 移植到 iPhone,并贴出详细指南[通俗易懂]

16 岁高中生成功将 Linux 移植到 iPhone,并贴出详细指南[通俗易懂]本文转载自InfoQ,作者李俊辰如果你的旧iPhone已经无法支持你日常使用了,你会怎么处理这部iPhone呢?卖掉还是留起来收藏呢?近日,国外一名16岁的小开发者在YouTube上发布了一则视频,展示了自己是如何将Linux移植到一部无法使用的iPhone7。2020年3月,Corellium提出了ProjectSandcastle,通过使用checkra1n越狱程序在iPhone上成功运行Android,激发了开发者对那些旧型号的iPhone.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

本文转载自 InfoQ,作者 李俊辰

如果你的旧 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:

SUCCESS: iPhone 7 with dead NAND netbooting unmodified Ubuntu 20.04 arm64 over usb gadget ethernet
byu/newhacker1746 inlinux

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 上组装了这些前辈们留下的拼图。”

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189673.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 帧中继_帧中继交换机

    帧中继_帧中继交换机NBMA实验实验准备:1、 四台路由器,R2配置成帧中继交换机。2、 R1,R3,R4运行OSPF。实验配置:R1:interfaceLoopback0 ipad

    2022年8月3日
    2
  • accept函数的用法_requestscope用法

    accept函数的用法_requestscope用法这是在学《Windows网络编程(第二版)》第六章时制作的一个例子由于书中没有给出简洁的例子,本人在学这里时就费了很多时间。现在把完成的代码贴出来,供大家参考。下面包括了主程序部分,工作线程在(2)中贴出,由于代码太长。本程序在VS2003编译器编译运行。在6.0下可能需要稍加修改。#include#include#include#include    //微软扩展的类库

    2022年9月29日
    0
  • java读取csv存入list_Java读取CSV文件为List

    java读取csv存入list_Java读取CSV文件为List1packagetest;23importlombok.extern.slf4j.Slf4j;45importjava.io.BufferedReader;6importjava.io.FileInputStream;7importjava.io.IOException;8importjava.io.InputStreamReader;9importjava.util.ArrayLi…

    2025年7月4日
    0
  • rpm 卸载软件_linux删除rpm卸载密码

    rpm 卸载软件_linux删除rpm卸载密码查看所有的java安装包rpm-qa|grepjava卸载安装包,忽略依赖rpm-e–nodepsopenjdkxxx

    2022年9月22日
    0
  • Spring c3p0连接池配置以及出错原因

    Spring c3p0连接池配置以及出错原因 用的jar包com.springsource.com.mchange.v2.c3p0-0.9.1.2.jar配置:注意:如果出错原因(1)很有可能c3p0-config.xml中的配置文件出现问题,比如我是因为把“driverClass”不小心写成了“driver”,             所以在书写c3p0-config.xml要特别小心,可能多一个空格或者格式稍有问题,都…

    2022年5月22日
    40
  • JS中字符串的长度计算、字符串截取

    JS中字符串的长度计算、字符串截取对于字符串str,和在java中一样使用str.length即可:functionSubstrDemo(){ vars;//声明变量。 vars=”TheraininSpainfallsmainlyintheplain.”;  return(s.length); } 字符串的截取,实例:substr(start,length)中的sta

    2022年5月10日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号