EFIDroid: Bootloader ขั้นที่สองที่ใช้เฟิร์มแวร์ UEFI เพื่อมัลติบูต [XDA Spotlight]

การมัลติบูตเป็นเรื่องที่ซับซ้อน และเพื่อเปิดใช้งานมักต้องใช้แพตช์ในเคอร์เนลหรือการกู้คืน EFIDroid เป็นเครื่องมือที่ใช้งานได้

การใช้งานการบูทคู่และการใช้งานหลาย ROM ถือเป็นความท้าทายที่สำคัญสำหรับนักพัฒนา Android เป็นระยะเวลาหนึ่ง. โดยทั่วไปแล้วโซลูชันก่อนหน้านี้จำเป็นต้องมีจำนวนมาก การพัฒนาเฉพาะอุปกรณ์ และการสนับสนุนเพิ่มเติมจากนักพัฒนา ROM ถึงอย่างนั้น พวกมันก็มักจะซับซ้อนกว่าที่ควรจะเป็นสำหรับผู้ใช้ ROM ทั่วไป EFIDroid พยายามที่จะแก้ไขทั้งหมดนี้

เดิมชื่อ GRUB4Android EFIDroid ถูกสร้างขึ้นโดย XDA Recognized Developer and Contributor ม11กะ เป็นวิธีหนึ่งในการอนุญาตอย่างมีประสิทธิผล ROM เกือบทุกตัวที่จะมัลติบูตโดยไม่ต้องแก้ไข ROM ที่ต้องการหรือการกู้คืนปัจจุบัน นั่นหมายความว่าไม่มีเคอร์เนลแพตช์ไม่ใช่ เค็กเซกไม่มีปัญหาความไม่เข้ากันของ ROM และไม่ปวดหัวสำหรับผู้ใช้ ROM หรือนักพัฒนา


EFIDroid คืออะไร?

เครดิตรูปภาพ: EFIDroid

EFIDroid คือ bootloader ขั้นที่สอง ออกแบบมาเพื่ออนุญาตให้โค้ดบูตโหลดเดอร์ดั้งเดิมของอุปกรณ์จัดการกับอินเทอร์เฟซฮาร์ดแวร์ได้ ดังนั้นจึงทำให้งานที่ต้องทำเพื่อพอร์ตแอปพลิเคชันนี้ไปยังอุปกรณ์ต่างๆ ง่ายขึ้น สิ่งนี้มีพื้นฐานมาจาก Intel

อีดีเค II โครงการซึ่งมีฐานรหัสที่ได้รับการยอมรับอย่างดีและมีความสามารถในการขยายได้อย่างมาก การใช้งานนี้ใช้โปรแกรมโหลดบูตโอเพ่นซอร์สของ Qualcomm เคอร์เนลน้อย (LK)และด้วยเหตุนี้การสนับสนุนก็คือ ปัจจุบันจำกัดเฉพาะอุปกรณ์ Snapdragon.

การติดตั้งทำได้ง่ายเพียงแค่ดาวน์โหลด แอปพลิเคชัน EFIDroidManager จาก Google Play Store บนอุปกรณ์ที่รูทแล้ว หากอุปกรณ์ของคุณรองรับการผสานเข้ากับโปรเจ็กต์ พื้นที่เก็บข้อมูล GitHub. หากอุปกรณ์ของคุณได้รับการสนับสนุน แอปพลิเคชันจะดาวน์โหลดโค้ดที่เกี่ยวข้องและให้คุณติดตั้ง ถอนการติดตั้ง ติดตั้งใหม่ และซ่อมแซม EFIDroid รวมถึงอนุญาตให้คุณจัดการ ROM ของคุณในมัลติบูต การกำหนดค่า เมื่อติดตั้ง EFIDroid แล้ว คุณจะสามารถติดตั้ง ROM ในตำแหน่งที่คุณเลือกได้ (โดยปกติจะอยู่ที่ใดที่หนึ่ง เช่น /data/media/0/multiboot/NAME).

ในขณะนี้ มีอุปกรณ์เพียงไม่กี่เครื่องเท่านั้นที่ได้รับการสนับสนุน รวมถึง โมโต อี (แร้ง), Moto G 4G (เพเรกริน), โนเกีย X2, วันพลัสวัน, Vega Iron 2 และ แฟร์โฟน 2. อย่างไรก็ตาม m11kkaa คือ กำลังมองหานักพัฒนาเพื่อช่วยในการย้าย EFIDroid ไปยังอุปกรณ์อื่นๆ – บางคนได้รับ "การสนับสนุนอย่างไม่เป็นทางการ" แล้ว หากคุณสามารถให้ EFIDroid ทำงานบนอุปกรณ์อื่นได้ ขั้นตอนในการรวมเข้ากับแอปพลิเคชันนั้นต้องการเพียงแค่ ส่งคำขอดึงไปยังคอมไพล์ EFIDroid พื้นที่เก็บข้อมูล M11kkaa แจ้งให้เราทราบด้วยว่าเขามีแผนในอนาคตที่จะขยายแอปเพื่อรองรับปลั๊กอินสำหรับบูตและแอป UEFI (แม้ว่านี่เป็นเพียงแผนในตอนนี้)


มันทำงานอย่างไร

EFIDroid ใช้ประโยชน์จาก LK เป็นเลเยอร์นามธรรมเพื่อโต้ตอบกับฮาร์ดแวร์ของอุปกรณ์ แอปช่วยให้ส่วนประกอบเหล่านี้ได้รับประโยชน์อย่างเต็มที่จากความสามารถที่หลากหลายของ UEFI ซึ่งรวมถึงความสามารถในการโหลดเคอร์เนล Linux ที่

จุดต่อมา

EFIDroid ใช้ Linux Kernel Library เพื่อรวบรวม Linux Kernel เป็นไลบรารีซอฟต์แวร์ ซึ่งช่วยให้ UEFI สามารถใช้ไดรเวอร์ระบบไฟล์สำหรับการอ่านและเขียนไปยังและจากพาร์ติชั่นสำหรับบู๊ตหลายตัว รวมถึงให้ความสามารถในการบู๊ตไปยัง ROM หลายตัวหรือสภาพแวดล้อมการกู้คืน EFIDroid ยังสามารถแสดงข้อความแสดงข้อผิดพลาดจากการบูตที่ล้มเหลวก่อนหน้านี้ ผู้สร้างยังกล่าวถึงการใช้ Linux Kernel Library เพื่อเพิ่มการรองรับหน้าจอสัมผัสในอนาคต

แน่นอนว่าทั้งหมดนี้ต้องมีการเข้าถึงรูทและบูตโหลดเดอร์ที่ปลดล็อคบนอุปกรณ์ของคุณ แต่ไม่จำเป็นต้องมีเคอร์เนลแบบกำหนดเอง.

เครดิตรูปภาพ: EFIDroid


เป็นมากกว่ามัลติบูต 

การใช้งาน UEFI bootloader จะเปิดอุปกรณ์ Android ให้มีความเป็นไปได้มากมาย ปลั๊กอินต่างๆ รวมถึงการวินิจฉัย เช่น Memtest86 การเปิดบรรทัดคำสั่ง และแม้แต่เกมก็สามารถทำได้ภายในสภาพแวดล้อม UEFI แม้ว่าจำเป็นต้องมีการสนับสนุนเพื่อให้ความเป็นไปได้เหล่านี้บรรลุผลมากขึ้น แต่ปัจจุบัน EFIDroid ยังคงมีฟีเจอร์สำคัญบางประการสำหรับอุปกรณ์ที่รองรับ ไม่ว่าจะใช้เป็นทางเลือกในการบูตโหลดเดอร์สำหรับอุปกรณ์ที่อาจไม่มีตัวเลือกการกู้คืนหรือเป็นเครื่องมือในการจัดการและ การแก้ไขปัญหา ROM หลายตัวหรือสภาพแวดล้อมการกู้คืน เครื่องมือนี้นำเสนอทั้งหมดที่กล่าวมาข้างต้นและดำเนินการดังกล่าวด้วยความเป็นมิตรต่อผู้ใช้และ UI ตรงไปตรงมา เพื่อบูต.

หากต้องการพูดคุยเพิ่มเติม โปรดไปที่ กระทู้ฟอรั่ม หรือติดตามโครงการได้ที่ลิงค์ด้านล่างนี้!

EFIDroid บน Github

เว็บไซต์อย่างเป็นทางการของ EFIDroid

ชุมชน Slack ของ EFIDroid


คุณเคยลองใช้ EFIDroid มาก่อนหรือไม่? คุณต้องการดูการสนับสนุนสำหรับอุปกรณ์ของคุณหรือไม่? แจ้งให้เราทราบในความคิดเห็นด้านล่าง!