วิธี DIY Port TWRP สำหรับ Android

คุณสามารถลองใช้ต้นไม้ขนาดเล็กเช่นนี้ TWRP ที่แสดงน้อยที่สุด . อย่างไรก็ตามอาจมีสถานการณ์ที่คุณต้องการ repos มากกว่าที่รายการนี้อนุญาต



หมายเหตุสำคัญก่อนคอมไพล์: หากคุณเพิ่มหรือเปลี่ยนแฟล็กใด ๆ คุณจะต้องทำความสะอาด (หรือสร้าง clobber) ก่อนที่จะคอมไพล์ใหม่มิฉะนั้นการเปลี่ยนแปลงแฟล็กของคุณจะไม่ถูกรวม!

หลังจากคุณมีซอร์สโค้ด TWRP เราจำเป็นต้องเปลี่ยนแฟล็กบิลด์บางส่วนสำหรับอุปกรณ์เฉพาะของคุณ ค้นหา BoardConfig.mk สำหรับอุปกรณ์ของคุณ - โดยทั่วไปจะอยู่ในไฟล์ อุปกรณ์ / ผู้ผลิต / ชื่อรหัส (ตัวอย่างเช่นอุปกรณ์ / lge / hammerhead / BoardConfig.mk)



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



ควรใส่แฟล็กที่ด้านล่างของ BoardConfig.mk ภายใต้หัวข้อ #twrp



สำหรับ ทั้งหมด คุณต้องสั่ง TWRP ว่าจะใช้ชุดรูปแบบใด แฟล็ก TW_THEME ถูกใช้แทนแฟล็ก DEVICE_RESOLUTION ที่เก่ากว่าซึ่งหมายความว่า TWRP ใช้การสเกลเพื่อยืดธีมใด ๆ

ตัวเลือกของคุณ ได้แก่ portrait_hdpi, portrait_mdpi, landscape_hdpi, landscape_mdpi และ watch_mdpi สำหรับโหมดแนวตั้งคุณมักจะต้องการธีม hdpi ที่ 720 × 1280 ขึ้นไป แต่สำหรับอุปกรณ์แนวนอนจะใช้ 1280 × 720 ขึ้นไป

ดังนั้นส่วนการสร้างแฟล็ก + แฟล็กธีมควรมีลักษณะดังนี้:



#twrp

TW_THEME: = portrait_hdpi

แฟล็กการสร้างเพิ่มเติมบางอย่างที่คุณต้องการรวมไว้ในส่วนนี้ (ให้เครดิตกับฟอรัม XDA):

  • RECOVERY_SDCARD_ON_DATA: = true (สิ่งนี้ช่วยให้สามารถจัดการ / ข้อมูล / สื่อบนอุปกรณ์ที่มีโฟลเดอร์นี้สำหรับจัดเก็บข้อมูลได้อย่างเหมาะสม (Honeycomb ส่วนใหญ่และอุปกรณ์ที่มาพร้อมกับ ICS เช่น Galaxy Nexus) การตั้งค่าสถานะนี้ไม่จำเป็นสำหรับอุปกรณ์ประเภทนี้หากคุณ อย่ากำหนดแฟล็กนี้และยังไม่รวมการอ้างอิงใด ๆ ไปยัง / sdcard, / internal_sd, / internal_sdcard หรือ / emmc ใน fstab ของคุณจากนั้นเราจะถือว่าอุปกรณ์กำลังใช้ที่เก็บข้อมูลจำลองโดยอัตโนมัติ)
  • BOARD_HAS_NO_REAL_SDCARD: = true - ปิดใช้งานสิ่งต่างๆเช่นการแบ่งพาร์ติชันการ์ด SD และอาจช่วยคุณประหยัดพื้นที่ได้หาก TWRP ไม่เหมาะสมกับแพทช์การกู้คืนของคุณ
  • TW_NO_BATT_PERCENT: = true - ปิดใช้งานการแสดงเปอร์เซ็นต์แบตเตอรี่สำหรับอุปกรณ์ที่ไม่รองรับอย่างเหมาะสม
  • TW_CUSTOM_POWER_BUTTON: = 107 - แมปปุ่มเปิด / ปิดสำหรับหน้าจอล็อกแบบกำหนดเอง
  • TW_NO_REBOOT_BOOTLOADER: = true - ลบปุ่มรีบูต bootloader ออกจากเมนูรีบูต
  • TW_NO_REBOOT_RECOVERY: = true - ลบปุ่มกู้คืนการรีบูตจากเมนูรีบูต
  • RECOVERY_TOUCHSCREEN_SWAP_XY: = true - สลับการจับคู่การจับคู่ระหว่างแกน X และ Y
  • RECOVERY_TOUCHSCREEN_FLIP_Y: = true - พลิกค่าหน้าจอสัมผัสแกน y
  • RECOVERY_TOUCHSCREEN_FLIP_X: = true - พลิกค่าหน้าจอสัมผัสของแกน x
  • TWRP_EVENT_LOGGING: = true - เปิดใช้งานการบันทึกเหตุการณ์การสัมผัสเพื่อช่วยแก้ไขปัญหาหน้าจอสัมผัส (อย่าปล่อยไว้ในรุ่น - มันจะเติมไฟล์บันทึกของคุณอย่างรวดเร็ว)
  • BOARD_HAS_FLIPPED_SCREEN: = true - พลิกหน้าจอกลับหัวสำหรับหน้าจอที่ติดตั้งกลับหัว

สามารถดูแฟล็กการสร้างเพิ่มเติมได้โดยการอ่านผ่านไฟล์ Android.mk ในแหล่งการกู้คืน แต่โดยทั่วไปจะไม่ใช้ดังนั้นจึงไม่มีประเด็นที่จะต้องจัดทำเอกสาร

ใช้ Recovery.Fstab

TWRP 2.5 ขึ้นไปรองรับคุณสมบัติ recovery.fstab ใหม่โดยเฉพาะอย่างยิ่งความสามารถในการขยายฟังก์ชันการสำรอง / กู้คืนข้อมูลของ TWRP คุณไม่จำเป็นต้องเพิ่มแฟล็ก fstab เนื่องจากพาร์ติชันส่วนใหญ่จะถูกจัดการโดยอัตโนมัติ

TWRP รองรับ v2 fstab ในเวอร์ชัน 3.2.0 ขึ้นไปเท่านั้น - ใน TWRP เวอร์ชันเก่าคุณจะต้องใช้ fstab รูปแบบเก่า นี่คือตัวอย่างของ TWRP fstab สำหรับ Galaxy S4:

ในการเพิ่มความเข้ากันได้กับโครงสร้างโครงสร้างเฉพาะของคุณคุณสามารถสร้าง twrp.fstab และใช้ PRODUCT_COPY_FILES เพื่อวางใน> etc> twrp.fstab

เมื่อ TWRP เปิดใช้งานและพบ twrp.fstab ใน ramdisk มันจะเปลี่ยนชื่อเป็น> etc> recovery.fstab.bak - โดยทั่วไปจะแทนที่ fstab จากอุปกรณ์ของคุณด้วย TWRP fstab ซึ่งจะขยายความเข้ากันได้

รหัสตัวอย่าง:

PRODUCT_COPY_FILES + = device / lge / hammerhead / twrp.fstab: recovery> root> etc> twrp.fstab

fstab ใน TWRP สามารถมี 'แฟล็ก' บางส่วนสำหรับแต่ละพาร์ติชันที่อยู่ใน fstab

เพิ่มแฟล็กเหล่านี้ ไปยังจุดสิ้นสุด ของรายชื่อพาร์ติชันใน fstab คั่นด้วยช่องว่าง / ช่องว่าง / แท็บ แฟล็กจะส่งผลต่อพาร์ติชันนั้นเท่านั้น แต่จะไม่มีผลกับพาร์ติชันอื่น ธงถูกคั่นด้วยอัฒภาค นี่คือตัวอย่างโค้ด:

มาตรวจสอบกันทีละนิด ค่าสถานะที่นี่จะให้ชื่อที่แสดงเป็น“ Micro SDcard” แฟล็ก wipeingui จะทำให้พาร์ติชันนี้พร้อมใช้งานสำหรับการลบในเมนู Advanced Wipe แฟล็กที่ถอดออกได้บ่งชี้ว่าไม่มีพาร์ติชันนี้อยู่เสมอซึ่งจะป้องกันไม่ให้แสดงข้อผิดพลาดในการติดตั้ง

รายการแฟล็กทั้งหมด (ให้เครดิตกับ TeamWin) :

  • ถอดออกได้ - บ่งชี้ว่าอาจไม่มีพาร์ติชันที่ป้องกันข้อผิดพลาดในการติดตั้งไม่ให้แสดงระหว่างการบู๊ต
  • การจัดเก็บ - ระบุว่าพาร์ติชันสามารถใช้เป็นที่เก็บข้อมูลซึ่งทำให้พาร์ติชันพร้อมใช้งานเป็นที่จัดเก็บข้อมูลสำรองเรียกคืนการติดตั้ง zip ฯลฯ
  • settingsstorage - ควรตั้งค่าพาร์ติชันเดียวเป็นที่เก็บการตั้งค่าพาร์ติชันนี้ใช้เป็นตำแหน่งสำหรับจัดเก็บไฟล์การตั้งค่าของ TWRP
  • canbewiped - ระบุว่าพาร์ติชันสามารถถูกล้างโดยระบบส่วนหลังได้ แต่อาจไม่อยู่ใน GUI สำหรับการล้างข้อมูลโดยผู้ใช้
  • userrmrf - แทนที่รูปแบบปกติของการเช็ดและอนุญาตให้ล้างพาร์ติชันโดยใช้คำสั่ง rm -rf เท่านั้น
  • การสำรองข้อมูล = - ต้องประสบความสำเร็จโดยเครื่องหมายเท่ากับดังนั้นการสำรองข้อมูล = 1 หรือการสำรองข้อมูล = 0, 1 บ่งชี้ว่าพาร์ติชันสามารถแสดงรายการในรายการสำรอง / กู้คืนได้ในขณะที่ 0 ทำให้แน่ใจว่าพาร์ติชันนี้จะไม่ปรากฏในรายการสำรอง
  • เช็ด - ทำให้พาร์ติชันปรากฏใน GUI เพื่อให้ผู้ใช้เลือกสำหรับการล้างข้อมูลในเมนูการล้างขั้นสูง
  • รีเซ็ตโรงงาน - พาร์ติชันจะถูกล้างระหว่างการรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน
  • เพิกเฉย - blkid ใช้เพื่อกำหนดว่า TWRP ใช้ระบบไฟล์ใดแฟล็กนี้จะทำให้ TWRP ข้าม / ละเว้นผลลัพธ์ของ blkid และใช้ระบบไฟล์ที่ระบุใน fstab เท่านั้น
  • คงไว้ - ทำให้ TWRP เก็บไฟล์ .layoutversion ไว้ใน / data บนอุปกรณ์เช่น Sony Xperia S ซึ่งใช้งาน / ข้อมูล / สื่อ แต่ยังมีพาร์ติชัน / sdcard แยกต่างหาก
  • symlink = - ทำให้ TWRP เรียกใช้คำสั่ง mount เพิ่มเติมเมื่อติดตั้งพาร์ติชันโดยทั่วไปจะใช้กับ / data / media เพื่อสร้าง / sdcard
  • แสดง = - ตั้งชื่อที่แสดงสำหรับพาร์ติชันเพื่อแสดงรายการใน GUI
  • ที่เก็บชื่อ = - ตั้งชื่อหน่วยเก็บข้อมูลสำหรับพาร์ติชันเพื่อแสดงรายการในรายการพื้นที่เก็บข้อมูล GUI
  • ชื่อสำรอง = - ตั้งชื่อสำรองสำหรับพาร์ติชันเพื่อแสดงรายการในรายการสำรอง / กู้คืน GUI
    length = - โดยปกติจะใช้เพื่อจองพื้นที่ว่างที่ส่วนท้ายของพาร์ติชัน / data สำหรับจัดเก็บคีย์ถอดรหัสเมื่อมีการเข้ารหัสอุปกรณ์เต็มรูปแบบของ Android การไม่ตั้งค่านี้อาจทำให้ไม่สามารถเข้ารหัสอุปกรณ์ได้
  • canencryptbackup = - 1 หรือ 0 เพื่อเปิด / ปิดทำให้ TWRP เข้ารหัสการสำรองข้อมูลของพาร์ติชันนี้หากผู้ใช้เลือกการเข้ารหัส (ใช้กับการสำรองข้อมูล tar เท่านั้นไม่ใช่รูปภาพ)
  • userdataencryptbackup = - 1 หรือ 0 เพื่อเปิด / ปิดทำให้ TWRP เข้ารหัสเฉพาะส่วนข้อมูลผู้ใช้ของพาร์ติชันนี้ส่วนย่อยบางอย่างเช่น / data / app จะไม่ถูกเข้ารหัสเพื่อประหยัดเวลา
  • พาร์ติชันย่อยของ = - ต้องประสบความสำเร็จโดยเครื่องหมายเท่ากับและเส้นทางของพาร์ติชันซึ่งเป็นพาร์ติชันย่อยของ พาร์ติชันย่อยจะถือว่าเป็น 'ส่วนหนึ่ง' ของพาร์ติชันหลักดังนั้น TWRP จะทำให้ / datadata เป็นพาร์ติชันย่อยของ / data โดยอัตโนมัติ ซึ่งหมายความว่า / datadata จะไม่ปรากฏในรายการ GUI แต่ / datadata จะถูกล้างสำรองคืนค่าติดตั้งและยกเลิกการต่อเชื่อมเมื่อใดก็ตามที่การดำเนินการเหล่านั้นดำเนินการกับ / data

ตัวอย่างที่ดีของการใช้พาร์ติชันย่อยคือพาร์ติชัน 3x efs บน LG Optimus G:

สิ่งนี้จะรวมพาร์ติชั่นทั้ง 3 พาร์ติชั่นไว้ในรายการ“ EFS” เดียวใน TWRP GUI ทำให้ทั้งสามสามารถสำรองและกู้คืนร่วมกันได้ภายใต้รายการเดียว

ด้วย TWRP 3.2.0 ขึ้นไปซึ่งใช้ V2 Fstab คุณ ไม่จำเป็นต้องเพิ่มแฟล็กการสร้างใด ๆ . การสนับสนุน V2 Fstab เป็นไปโดยอัตโนมัติ V2 Fstab ยังรองรับสัญลักษณ์แทน (สัญลักษณ์ *) ซึ่งมีประโยชน์สำหรับ USB OTG และการ์ด micro-SD ที่มีหลายพาร์ติชัน คุณยังสามารถใช้รูปแบบ V1 Fstab ต่อไปได้และเป็นไปได้ทั้งหมดที่จะใช้ทั้ง V1 และ V2 ใน Fstab เดียวกัน

ตัวอย่างเช่นนี่คือบรรทัด V1 Fstab ที่มีสัญลักษณ์แทนสำหรับ USB OTG:

นี่คือบรรทัด V2 Fstab สำหรับอุปกรณ์เดียวกันซึ่งได้ผลลัพธ์เดียวกัน:

นอกจากนี้คุณอาจรวม twrp.flags อื่น ๆ ที่ใช้รูปแบบ V1 Fstab และสามารถใช้เพื่อเสริม V2 Fstab ด้วยแฟล็ก TWRP พาร์ติชันเพิ่มเติมที่ไม่รวมอยู่ใน V2 Fstab หรือแทนที่การตั้งค่าใน V2 Fstab

ตัวอย่างเช่นอุปกรณ์ Huawei อาจมี V2 fstab นี้ใน etc recovery.fstab:

มันอาจมีแฟล็กเหล่านี้รวมอยู่ด้วย:

ดังนั้นที่นี่สองบรรทัดแรกใน TWRP ธงจะเพิ่มพาร์ติชัน Boot และ Recovery ซึ่ง ไม่อยู่ ใน V2 Fstab จากนั้นบรรทัด / cust ใน TWRP.flags จะสั่งให้ TWRP อนุญาตให้ผู้ใช้ปลายทางสำรองพาร์ติชัน (cust) และตั้งชื่อที่แสดง

พาร์ติชัน / misc มีอยู่ใน twrp.flags และพาร์ติชัน / oeminfo สั่งให้ TWRP อนุญาตให้สำรองข้อมูลและตั้งชื่อที่แสดง

เราต้องการสายข้อมูล / เนื่องจากอุปกรณ์ Huawei จำนวนมากเข้ารหัส แต่ใช้ไบนารีพิเศษของ Huawei ดังนั้นเราจึงใช้ไบนารีของ Huawei เพื่อถอดรหัสอุปกรณ์โดยอัตโนมัติในโหมดการกู้คืน ดังนั้นที่นี่ / data line จะสั่งให้ TWRP ใช้ / dev / block / dm -0 และไม่ใช่ / dev / block / bootdevice / by-name / userdata ซึ่งโดยทั่วไปจะใช้สำหรับ 'การติดตั้งที่เหมาะสม'

ในที่สุดก็มี / system_image ดังนั้น TWRP จะรวมตัวเลือกในการสร้างอิมเมจระบบในเมนู Backup and Restore

github TeamWin อย่างเป็นทางการควรมีโครงสร้างอุปกรณ์ตัวอย่างล่าสุดสำหรับอุปกรณ์ที่มีพอร์ต TWRP อย่างเป็นทางการ TeamWin github สามารถพบได้ ที่นี่ .

หลังจากซิงค์ Omni หรือ CM และคุณได้ตั้งค่าแฟล็ก TWRP แล้วคุณควรสร้างซอร์ส. /build/envsetup.sh

และคุณจะต้อง 'รับประทานอาหารกลางวัน' บนเครื่องดังนั้นคุณสามารถทำบางอย่างเช่น 'lunch omni_hammerhead.eng'

หลังจากรับประทานอาหารกลางวันเรียบร้อยแล้วอุปกรณ์ส่วนใหญ่จะใช้คำสั่งนี้:

คุณต้องแทนที่ # ใน –j # ด้วยจำนวนแกน +1 ดังนั้นหากคุณมีดูอัลคอร์ก็คือ –j3 ควอดคอร์จะเป็น –j5 เป็นต้นแทนที่ # ด้วยจำนวนคอร์ +1 ดังนั้นหากคุณมีดูอัลคอร์มันคือ -j3 และควอดคอร์กลายเป็น -j5 เป็นต้น

นอกจากนี้อุปกรณ์ Samsung ทั่วไปจะต้องการสิ่งนี้:

เนื่องจากอุปกรณ์ Samsung ส่วนใหญ่มีการกู้คืน เป็น ramdisk พิเศษในการบูต แทนที่จะอยู่บนพาร์ติชันการกู้คืนแยกต่างหาก (ซึ่งอุปกรณ์อื่น ๆ ส่วนใหญ่ใช้)

ตอนนี้คุณควรรวบรวม TWRP สำหรับอุปกรณ์ของคุณแล้วและหวังว่าจะทำงานในสภาพแวดล้อมจำลอง คุณควรทดสอบพอร์ต TWRP ของคุณในสภาพแวดล้อมโปรแกรมจำลองก่อนเสมอดังนั้นคุณจึงไม่เสี่ยงที่จะทำให้อุปกรณ์ของคุณเสียหาย
ดาวน์โหลดไฟล์การกำหนดค่าอุปกรณ์ชุดนี้

รวบรวมภาพการกู้คืนโดยใช้ไฟล์อุปกรณ์เหล่านั้น ใน Android SDK คลิกที่ Tools -> Manage AVDs คลิกใหม่ ตั้งค่าดังต่อไปนี้:

จากนั้นคลิกตกลง

เมื่อคุณมี AVD และภาพการกู้คืนของคุณคุณสามารถบูต TWRP ในโปรแกรมจำลองได้โดยเรียกดูโฟลเดอร์ android-sdk / tools ของคุณและเรียกใช้คำสั่งนี้:

โปรดทราบว่า ADB ไม่ทำงานในทันที ประมาณ 10 ถึง 15 วินาทีหลังจาก TWRP เสร็จสิ้นการบูต ADB จะออนไลน์ เราเริ่ม ADB ผ่าน init.rc ดังนั้นแม้ว่า TWRP จะไม่สามารถบูตได้เนื่องจากข้อผิดพลาดของรหัสบางอย่างที่คุณอาจทำขึ้น ADB ก็ยังคงทำงานได้ สนุก!

TWRP และอุปกรณ์ A / B (ให้เครดิตกับ TeamWin):

จากมุมมองของ TWRP อุปกรณ์ A / B ไม่ได้แตกต่างจากอุปกรณ์ทั่วไปมากนัก แต่ดูเหมือนว่านักพัฒนาจะไม่สนใจที่จะทำงานกับอุปกรณ์เหล่านี้ ฉันจะพยายามให้ความกระจ่างเกี่ยวกับเรื่องนี้และหวังว่านี่จะเป็นแนวทางในการย้าย TWRP ไปยังอุปกรณ์ A / B

ก่อนอื่นมาทำความเข้าใจว่าอุปกรณ์ A / B คืออะไรและแตกต่างกันอย่างไร อุปกรณ์ A / B มีพาร์ติชั่นที่ซ้ำกันบนอุปกรณ์ อุปกรณ์ A / B มีพาร์ติชันระบบ 2x, พาร์ติชันสำหรับบูต 2x, พาร์ติชันของผู้ขาย 2x, พาร์ติชันโมเด็ม / เฟิร์มแวร์ 2x ฯลฯ มีการใช้งานเพียงหนึ่งช่องต่อครั้ง ในระหว่างการบูตขั้นต้นขั้นตอนแรกของ bootloader จะอ่านข้อมูลจำนวนเล็กน้อยที่เรียกว่า BCB หรือ Bootloader Control Block และตัดสินใจว่าจะบูตพาร์ติชัน A หรือพาร์ติชัน B เมื่อมีการอัปเดต OTA ข้อมูลจากสล็อตที่ใช้งานอยู่จะถูกคัดลอกจากสล็อตที่ไม่ได้ใช้งานและแก้ไข / อัปเดต ตัวอย่างเช่นหากคุณอยู่ในสล็อต A อุปกรณ์ของคุณจะดาวน์โหลดการอัปเดตและคัดลอกพาร์ติชันระบบที่มีอยู่จากสล็อต A และแก้ไข / อัปเดตด้วยการอัปเดตใหม่ลงในช่อง B เมื่อการคัดลอกและอัปเดตเสร็จสมบูรณ์ BCB ได้รับการอัปเดตและอุปกรณ์จะรีบูตโดยใช้สล็อต B ในครั้งต่อไปที่มีการอัปเดตพาร์ติชันระบบในสล็อต B จะถูกคัดลอกไปยังสล็อต A และอัปเดต BCB จะได้รับการอัปเดตและเราจะรีบูตเป็นสล็อต A เมื่อดูพาร์ติชันบนอุปกรณ์ คุณจะเห็นสิ่งนี้:

สังเกตดูอัลบูตพาร์ติชันระบบและผู้จำหน่ายในรายการด้านบน แต่มีพาร์ติชัน userdata เพียงพาร์ติชันเดียว

แม้ว่าจะไม่มีข้อกำหนดทางเทคนิคที่ฉันทราบ แต่อุปกรณ์ A / B ทั้งหมดที่จัดส่งมาในตอนนี้ไม่มีพาร์ติชันการกู้คืนแยกต่างหาก อิมเมจสำหรับเริ่มระบบจะมีการกู้คืนใน ramdisk แทน สิ่งสำคัญคือรู้ว่าตอนนี้อิมเมจสำหรับบูตยังมีการกู้คืน เพื่อความสมบูรณ์พาร์ติชันระบบคือระบบไฟล์รูทแบบเต็ม ในระหว่างการบูตหากเคอร์เนลถูกบอกให้บูตเพื่อกู้คืนระบบจะแยก ramdisk ในพาร์ติชันสำหรับเริ่มระบบ หาก bootloader ไม่ได้บอกเคอร์เนลให้บูตเพื่อกู้คืนเคอร์เนลจะติดตั้งพาร์ติชันระบบที่เหมาะสม (A หรือ B) เนื่องจากพาร์ติชันระบบเป็นระบบไฟล์รูทแบบเต็ม ซึ่งหมายความว่าพาร์ติชันระบบบนอุปกรณ์เหล่านี้ถูกเมาท์เข้ากับ / แทนที่จะเป็น / system และพาร์ติชันระบบมีไฟล์ทั้งหมดที่ปกติจะอยู่ใน ramdisk อิมเมจสำหรับบูตและโฟลเดอร์ย่อยของ / system

จากมุมมองของ TWRP มี 3 สิ่งที่คุณต้องทำสำหรับอุปกรณ์ A / B ขั้นแรกคุณต้องตั้งค่า

รหัส:

สุดท้ายนี้เมื่อคุณเข้าสู่ TWRP คุณอาจต้องการตรวจสอบให้แน่ใจว่าข้อมูล hal-bootctl ตอบสนองอย่างถูกต้องโดยไม่มีข้อผิดพลาด โดยปกติไบนารี bootctl ต้องการไลบรารีที่เป็นกรรมสิทธิ์หรือแม้แต่บริการสองสามอย่างเพื่อให้ทำงานได้อย่างถูกต้อง หาก bootctl ทำงานไม่ถูกต้องคุณจะไม่สามารถสลับสล็อตภายใน TWRP ได้อย่างถูกต้องเช่นกัน

นอกจากการตั้งค่า

รหัส:

AB_OTA_UPDATER: = จริง

คุณอาจต้องการตั้งค่า:

รหัส:

BOARD_USES_RECOVERY_AS_BOOT: = จริง

BOARD_BUILD_SYSTEM_ROOT_IMAGE: = จริง

หากคุณตั้งค่า

รหัส:

BOARD_USES_RECOVERY_AS_BOOT: = จริง

จากนั้นให้ recoveryimage ใช้งานไม่ได้อีกต่อไปและคุณจะต้องสร้าง bootimage แทน ฉันไม่แนะนำให้ตั้งค่าสถานะอย่างใดอย่างหนึ่งเหล่านี้สำหรับต้นไม้สร้าง TWRP เท่านั้น แฟล็กเหล่านี้อาจจำเป็นสำหรับนักพัฒนาที่สร้าง ROM แบบเต็มสำหรับอุปกรณ์ A / B

การติดตั้ง / กระพริบ TWRP บนอุปกรณ์ A / B:

เนื่องจากอุปกรณ์ A / B ที่รู้จักทั้งหมดไม่มีพาร์ติชันการกู้คืนแยกต่างหากในที่สุดคุณจะต้องแฟลช TWRP ไปที่พาร์ติชันสำหรับเริ่มระบบ ใน Pixel 1 และ 2 เราใช้ fastboot boot เพื่อบูต TWRP ชั่วคราวโดยไม่กะพริบ TWRP จากนั้นเราจะจัดหาซิปเพื่อให้ผู้ใช้สามารถแฟลช TWRP ไปยังช่องทั้งสองได้ คุณสามารถดาวน์โหลดหนึ่งในซิปเหล่านี้จากเว็บไซต์ของเราและอัปเดตซิปได้ตามต้องการเพื่อรองรับอุปกรณ์ของคุณ ในที่สุดเราจะเพิ่มเครื่องมือให้กับ TWRP เพื่อให้ผู้ใช้สามารถกู้คืนแฟลชบนอุปกรณ์เหล่านี้ได้โดยไม่จำเป็นต้องใช้ซิป

เมื่อเร็ว ๆ นี้ฉันทำงานกับ Razer Phone Razer Phone ไม่รองรับการบูตแบบ fastboot แต่ผู้ใช้ต้องกำหนดช่องบูตที่ใช้งานอยู่ในปัจจุบันโดยใช้ไฟล์

รหัส:

เพื่อเข้าสู่ TWRP เมื่ออยู่ใน TWRP แล้วพวกเขาสามารถไปที่หน้ารีบูตและเปลี่ยนกลับเป็นสล็อตที่ใช้งานเดิมทำการสำรองข้อมูลจากนั้นติดตั้ง TWRP การใช้สล็อตที่ไม่ใช้งานช่วยให้ผู้ใช้ได้รับข้อมูลสำรองที่ดีและไม่มีการแก้ไขของอุปกรณ์ก่อนที่จะติดตั้ง TWRP

หมายเหตุเพิ่มเติม:

หากคุณต้องการรับ TWRP รองรับอย่างเป็นทางการสำหรับอุปกรณ์ของคุณ เพื่อให้สามารถติดตั้งแอป TWRP ได้โดยอัตโนมัติและคุณต้องการทำเช่นนี้เพื่อให้เจ้าของรายอื่นของอุปกรณ์เดียวกันได้รับการสนับสนุน TWRP อย่างเป็นทางการและเป็นสิ่งที่ดีที่จะทำคุณจะต้องส่งข้อมูลต่อไปนี้ไปที่ TeamWin:

  1. ไฟล์การกำหนดค่าอุปกรณ์เพื่อรวบรวม TWRP จากแหล่งที่มา สำหรับอุปกรณ์ของคุณ - อย่าบรรจุ recovery.img ใหม่ด้วยมือ พวกเขาจำเป็นต้องรวบรวมจากแหล่งที่มา
  2. หลังจาก TeamWin สร้างสำเนา TWRP แล้วพวกเขาจะส่งให้คุณตรวจสอบความถูกต้อง - เมื่อคุณตรวจสอบแล้ว TeamWin จะสร้างอิมเมจที่ใช้งานได้สำหรับอุปกรณ์ของคุณและเพิ่มลงในแอป TWRP อย่างเป็นทางการ
อ่าน 13 นาที