|
一鍵注冊,加入手機(jī)圈
您需要 登錄 才可以下載或查看,沒有帳號(hào)?立即注冊
x
看你對(duì)「裝安卓系統(tǒng)」的定義是什么了,目前,Corelium的Sandcastle項(xiàng)目已經(jīng)實(shí)現(xiàn)了在搭載A10芯片的iPhone7/iPhone7 Plus引導(dǎo)啟動(dòng)Android10并啟動(dòng)到桌面,但iPhone的攝像頭、指紋識(shí)別、聲音、GPU等都無法驅(qū)動(dòng),所以拿來當(dāng)日常用機(jī)肯定是不行的。
理論上說蘋果手機(jī)能不能裝安卓系統(tǒng)?-1.jpg (244.19 KB, 下載次數(shù): 20)
下載附件
2021-12-15 12:53 上傳
Sandcastle的Android設(shè)備驅(qū)動(dòng)表,iPhone7/7p由于兼容大部分硬件才可以啟動(dòng)
理論上說蘋果手機(jī)能不能裝安卓系統(tǒng)?-2.jpg (135.51 KB, 下載次數(shù): 19)
下載附件
2021-12-15 12:53 上傳
圖源:arstechnica.com
有意思的是這個(gè)項(xiàng)目的開發(fā)人員David Wang和Chris Wade在十年前就啟動(dòng)了一個(gè)將Linux/Android移植到iPhone的項(xiàng)目,并在當(dāng)時(shí)成功在第一代iPhone上啟動(dòng)了Android:
理論上說蘋果手機(jī)能不能裝安卓系統(tǒng)?-3.jpg (56.23 KB, 下載次數(shù): 18)
下載附件
2021-12-15 12:53 上傳
圖源: projectsandcastle.org
下面是個(gè)人的一些結(jié)論,僅供參考:
如果你想快速閱讀:
- Sandcastle項(xiàng)目基于checkm8漏洞,至于如何實(shí)現(xiàn)在iPhone引導(dǎo)第三方操作系統(tǒng)的可以參考這篇文章:Gh0u1L5:iPhone史詩級(jí)漏洞checkm8攻擊原理淺析
- 雖然說A11以下設(shè)備擁有checkm8漏洞,但引導(dǎo)啟動(dòng)并進(jìn)入另一個(gè)操作系統(tǒng)要涉及到很多方面,例如設(shè)備驅(qū)動(dòng),特別是引導(dǎo)進(jìn)入一個(gè)復(fù)雜的、要調(diào)用許多東西的OS。
- iPhone里的絕大多數(shù)硬件實(shí)現(xiàn)都是閉源的,因此研究它們/為它們開發(fā)驅(qū)動(dòng)程序需要付出不少時(shí)間和精力。
- 就目前情況來看,要在iPhone7/7plus或更多iOS設(shè)備上「完美運(yùn)行」Android(這里的完美定義是指能正常重啟,且手機(jī)所有硬件功能正常運(yùn)作)是一件遙不可及的事情,因此對(duì)此項(xiàng)目的期望請不要太高。
這是個(gè)人的部分總結(jié):
- Sandcastle項(xiàng)目實(shí)現(xiàn)的第一個(gè)驅(qū)動(dòng)程序是UART(Universal Asynchronous Receiver/Transmitter,通用異步收發(fā)傳輸器)在Android里簡稱serial ports[1]。像手機(jī)里的一些「外圍設(shè)備」,例如GPS、顯示屏、XBee等通常依賴它。iPhone的UART和三星S3C系列SOC的部分傳統(tǒng)設(shè)計(jì)類似。[2]
- iPhone的SPI控制器(SPI controller)也和UART一樣,是從三星「啟發(fā)(inspired)」的,但Linux Kernel Tree里的驅(qū)動(dòng)不支持中斷驅(qū)動(dòng)傳輸(interrupt driven transfers),于是Sandcastle團(tuán)隊(duì)自己實(shí)現(xiàn)了驅(qū)動(dòng)。
- 一般的aarch64芯片的中斷控制器(Interrupt controller)一般都遵守ARM GIC標(biāo)準(zhǔn),但A系列SOC是一個(gè)稱為AIC(Apple Interrupt Controller)的自研的非標(biāo)準(zhǔn)中斷控制器(non-standard interrupt controller)
- ..........
可以參考Sandcastle的The Making Of 頁面:The Making Of — Project Sandcastle,開發(fā)人員基本都對(duì)Sandcastle開發(fā)過程中的技術(shù)問題做了總結(jié)。
參考
- ^https://developer.android.com/things/sdk/pio/uart
- ^原文:Of course, the first thing you need to do is print, so our first driver was for the uniquely modified UART. It shares some heritage with UARTs in the Samsung S3C series SoCs
----------------------------- |
|