iOS บน Raspberry Pi


13

ตอนนี้ฉันเข้าใจว่ามันอาจเป็นไปไม่ได้ที่จะทำเช่นนั้น แต่สำหรับ "เพราะฉันทำได้" เหตุผลที่ฉันต้องการลองติดตั้ง iOS บน Raspberry Pi ของฉัน (เมื่อในที่สุดมันก็มา .. )

ฉันได้ดูรอบ ๆ การโพสต์ในเรื่องนี้และพวกเขาดูเหมือนจะแนะนำว่าการใช้ iOS 3 อาจเป็นไปได้เนื่องจากข้อ จำกัด ของฮาร์ดแวร์ แต่สิ่งนี้ยากมากแค่ไหน? หลายปีที่ผ่านมาฉันตั้งค่าเครื่อง OS X86 สองถึงสามเครื่องและถึงแม้ว่าความเจ็บปวดจะสิ้นสุดลงก็ตาม (ชัด)

ดังนั้นคำถามโดยรวมของฉันคือฉันควรทำอย่างไรในการเรียนรู้ที่จะลองติดตั้ง iOS บน Raspberry Pi?


ฉันกำลังจะตอบคำถามปกติของ "ไม่, เป็นครั้งสุดท้ายที่คุณไม่สามารถติดตั้ง windows หรือ linux อื่น ๆ เพราะพวกเขา x86 เท่านั้น" แต่แล้วฉันชอบ… iOS … ARM …ความคิดที่ดี: P
Alexander - Reinstate Monica

1
ฉันคิดว่าฮาร์ดแวร์ idevice นั้นพิเศษเกินกว่าที่จะมีความหวังสำหรับ iOS ที่ทำงานบน RPI ... ส่วนต่อประสานกราฟิก, การสนับสนุน USB, อีเธอร์เน็ตผ่าน usbm เป็นต้น
Alexander - Reinstate Monica

@XAleXOwnZX ดูสิตอนนี้ฉันไม่แน่ใจ แม้ว่าบางครั้งมันอาจเป็นเรื่องยาก แต่คุณสามารถเขียนไดรเวอร์ได้เสมอ! สิ่งที่ฉันคาดหวังว่าจะเป็นปัญหามากที่สุดคือจุดจบของ UI
มิก MacCallum

คุณจะติดต่อกับมันอย่างไร? การสนับสนุนคีย์บอร์ดและเมาส์ไม่ได้ถูกนำมาใช้กับ iOS ตั้งแต่ iOS 5 บนไอแพด ฉันหมายความว่าจะไม่มีการสนับสนุนเคอร์เซอร์ของเมาส์เหมือนบน iPad ปัจจุบันโดยใช้เมาส์บลูทู ธ
Alexander - Reinstate Monica

1
@XAleXOwnZX ฉันค่อนข้างแน่ใจว่าการแจกแจงลินุกซ์เกือบทั้งหมดที่มีอยู่ช่วยให้คุณสามารถรวบรวมเคอร์เนลของคุณเองและได้รับแพ็คเกจที่คอมไพล์แล้วสำหรับ ARM ดังนั้นฉันคิดว่าการบอกคนว่า "คุณไม่สามารถติดตั้ง windows หรือการกระจายลินุกซ์อื่น"
Petr

คำตอบ:


19

แม้ว่า iOS ของ Apple นั้นน่าดึงดูดสำหรับผู้ใช้ แต่ถ้าคุณเป็นคนที่กระตือรือร้น (เพราะคุณต้องมี Raspberry Pi) หรือผู้พัฒนา แต่ iOS นั้นเป็นมิตรกับคุณน้อยที่สุด

iOS ได้รวบรวมเฉพาะสำหรับ iPad หรือ iPhone ของ Apple แต่ละรุ่นโดยมีการรวมฮาร์ดแวร์และซอฟต์แวร์เฉพาะสำหรับแพลตฟอร์ม โดยพื้นฐานแล้วซอฟต์แวร์ทั้งหมดนั้นเป็นหนึ่งในไบนาบิตยักษ์ มีคนพูดถึงในความคิดเห็นว่ามีความคล้ายคลึงกันของฮาร์ดแวร์ระหว่าง Raspberry Pi และ iPhone บางรุ่น ความหวังที่ยิ่งใหญ่ที่สุดของคุณสำหรับการให้ iOS ทำงานบน Raspberry Pi นั้นคือการค้นหาอิมเมจเฟิร์มแวร์สำหรับโทรศัพท์ที่มีฮาร์ดแวร์คล้ายกับ Raspberry Pi มากที่สุดแล้วลองเรียกใช้งาน เช่นเดียวกับอิมเมจที่คอมไพล์เฉพาะแพลตฟอร์มส่วนใหญ่มีความเป็นไปได้ว่าแม้ความเบี่ยงเบนเล็กน้อยในสภาพแวดล้อมการทำงานจากสภาพแวดล้อมที่คาดไว้จะสร้างระบบที่ไม่สามารถบูตได้ หากเป็นกรณี จากนั้นส่วนใหญ่คุณจะต้องหันกลับวิศวกรรมและแฮ็คไบนารีไบนารีกับไดรเวอร์ฮาร์ดแวร์หรือการกำหนดค่าที่แตกต่างกัน สิ่งเหล่านี้อาจไม่ไร้สาระและจะพิสูจน์ความท้าทายแม้กระทั่งทีมวิศวกรที่มีความสามารถและมีประสบการณ์

เช่นความรู้ที่กว้างขวางเกี่ยวกับฮาร์ดแวร์เฉพาะของรุ่นต่าง ๆ ของ iPhone รวมถึงความรู้ที่ดีมากเกี่ยวกับกระบวนการบูทระดับต่ำซึ่งทั้ง Raspberry Pi และ iOS ใช้จะมีความจำเป็น นอกจากนี้ให้มองไปที่สถาปัตยกรรมของ iOS ซึ่งตามที่ฉันเข้าใจนั้นมีพื้นฐานมาจากระบบดาร์วิน สำหรับสิ่งนี้คุณสามารถดูวิธีการแหกคุกที่แตกต่างกันและวิธีการทำงาน

นอกจากนี้ยังมีข้อสังเกตว่าการกระทำดังกล่าวถูกต้องตามกฎหมายเป็นที่น่าสงสัยเนื่องจากมีการละเมิดหลายครั้งของ EULA ซึ่งชัดเจนที่สุดคือข้อตกลงที่ระบบปฏิบัติการของ Apple ทำงานบนฮาร์ดแวร์ของ Apple เท่านั้น Jailbreaking ถูกกฎหมายในทางเทคนิค แต่บางครั้งวิศวกรรมย้อนกลับได้รับการคุ้มครองภายใต้กฎหมายและบางครั้งก็ไม่เคยถูกนำมาใช้อย่างสม่ำเสมอ โปรเจ็กต์ Cydia และแอพจำนวนมากที่อยู่ในนั้นสามารถทำการปรับแต่งปรับแต่งสำหรับ iOS ได้ ความรู้เกี่ยวกับวิธีการทำที่อาจทับซ้อนกับความรู้ในการทำให้มันทำงานบนราสเบอร์รี่ Pi

ที่กล่าวว่าฉันได้เห็นบางโครงการที่น่าตื่นตาตื่นใจและยากที่มาเกี่ยวกับเพราะชุมชนนักพัฒนาที่ทุ่มเทและแฮกเกอร์มาร่วมกันในเป้าหมายร่วมกันเช่นโครงการ Xbox ลินุกซ์หรือเป็นคุณชี้ออกโครงการ OSX86 แน่นอนว่ามันเป็นไปไม่ได้เลยที่จะรัน iOS บน Raspberry Pi แต่สิ่งที่เป็นไปได้นั้นไม่ได้ใช้งานได้จริงเสมอไป คุณอาจมีความสนุกและไม่ยุ่งยากกับ Android มากขึ้นเพราะมันเป็นโอเพ่นซอร์ส ที่กล่าวว่าจะมีวิธีที่แข็งแกร่ง


0

ฉันจะบอกว่าทางออกที่ดีที่สุดของคุณคือ decompile อิมเมจสำหรับบูตทั้งหมดจากนั้นสร้างขึ้นใหม่จากล่างขึ้นบนปรับให้เหมาะกับสเปคของ pi ปัญหาของเรื่องนี้คือคุณจะต้องมีความรู้อย่างกว้างขวางเกี่ยวกับการเขียนโค้ดในหลายภาษา (ผู้ที่ออกแบบสิ่งนี้มีหลายปีในงานพร้อมกับการฝึกอบรมเฉพาะ) มันเกือบจะเป็นไปไม่ได้ แต่มีโอกาส ....


0

ฉันไม่แน่ใจ แต่ iOS เวอร์ชันแรกบางตัวถูกสร้างขึ้นมาเพื่อเป็น Armv6 ดังนั้นฮาร์ดแวร์อาจจะคล้ายกันและคุณจะต้องสร้างกราฟิก kexts สำหรับระบบ (ฉันไม่รู้ว่าคุณ ' จะสามารถพอร์ตการเน้นกราฟิกซึ่งมีความซับซ้อนในการทำ) และฮาร์ดแวร์ทั้งหมดเช่นพอร์ตตัวควบคุมและหน่วยความจำ ฉันพบสิ่งนี้ แต่อยู่ในสถานะเริ่มต้นที่ค่อนข้างสวย http://winocm.com/projects/research/2013/11/22/milestone-one/ ดังนั้นลองใช้ Mach / xnu kernel แบบกำหนดเองสำหรับ RPi แล้วบูตจากนั้นดูว่าเกิดอะไรขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.