Boot Flow

ขั้นตอนการบู๊ตที่แนะนำสำหรับอุปกรณ์มีดังนี้:

ยืนยันขั้นตอนการบูต
รูปที่ 1 . ยืนยันขั้นตอนการบูต

ขั้นตอนสำหรับอุปกรณ์ A/B

หากอุปกรณ์ใช้ A/B ขั้นตอนการบู๊ตจะแตกต่างกันเล็กน้อย ช่องที่จะบู๊ตต้องทำเครื่องหมายเป็น SUCCESSFUL ก่อนโดยใช้ Boot Control HAL ก่อนที่ จะอัปเดตข้อมูลเมตาของ Rollback Protection

หากมีการอัปเดตแพลตฟอร์มที่ล้มเหลว (ไม่ได้ทำเครื่องหมายว่า SUCCESSFUL ) สแต็ก A/B จะถอยกลับไปที่ช่องอื่น ซึ่งยังมี Android เวอร์ชันก่อนหน้าอยู่ในนั้น อย่างไรก็ตาม หากมีการตั้งค่าข้อมูลเมตาของ Rollback Protection ไว้ เวอร์ชันก่อนหน้าจะไม่สามารถบู๊ตได้เนื่องจากมีการป้องกันการย้อนกลับ

การสื่อสารสถานะการบูตที่ยืนยันกับผู้ใช้

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

  • สีเหลือง: หน้าจอคำเตือนสำหรับอุปกรณ์ที่ถูกล็อคด้วยชุด root ของ trust ที่กำหนดเอง
  • สีส้ม: หน้าจอคำเตือนสำหรับอุปกรณ์ที่ไม่ได้ล็อก
  • สีแดง (eio): หน้าจอคำเตือนสำหรับความเสียหายของ dm-verity
  • RED (ไม่พบระบบปฏิบัติการ): ไม่พบระบบปฏิบัติการที่ถูกต้อง

ล็อคอุปกรณ์ด้วย root of trust ที่กำหนดเอง

ตัวอย่างหน้าจอสีเหลือง:

หน้าจอเตือนอุปกรณ์สีเหลือง

แสดงหน้าจอสีเหลืองในการบู๊ตทุกครั้งหากอุปกรณ์ถูกล็อค มีการตั้งค่า root of trust แบบกำหนดเอง และอิมเมจได้รับการเซ็นชื่อด้วย root of trust แบบกำหนดเองนี้ หน้าจอสีเหลืองจะถูกปิดหลังจากสิบวินาทีและอุปกรณ์ยังคงบูตต่อไป หากผู้ใช้กดปุ่มเปิด/ปิด ข้อความ "กดปุ่มเปิด/ปิดเพื่อหยุดชั่วคราว" จะเปลี่ยนเป็น "กดปุ่มเปิด/ปิดเพื่อดำเนินการต่อ" และหน้าจอจะไม่ถูกปิด แม้ว่าอุปกรณ์อาจหรี่แสงหรือปิดหน้าจอเพื่อป้องกันอาการเบิร์นอิน) หากกดอีกครั้ง หน้าจอจะปิดและโทรศัพท์จะบู๊ตต่อไป

สำหรับ hex-number ให้ใช้ 8 หลักแรกของ sha256 ของการแสดง libavb ของคีย์สาธารณะที่ใช้สำหรับการตรวจสอบ เช่น d14a028c

ข้อความแนะนำ:

อุปกรณ์ของคุณโหลดระบบปฏิบัติการอื่น

ไปที่ลิงก์นี้บนอุปกรณ์อื่นเพื่อเรียนรู้เพิ่มเติม:

g.co/ABH

ID: hex-number

กดปุ่มเปิดปิดเพื่อหยุดชั่วคราว

ปลดล็อคอุปกรณ์

ตัวอย่างหน้าจอสีส้ม:

หน้าจอเตือนอุปกรณ์สีส้ม

แสดงหน้าจอสีส้มทุกครั้งที่บูตหากอุปกรณ์ไม่ได้ล็อก หน้าจอ ORANGE จะหายไปหลังจากผ่านไปสิบวินาที และอุปกรณ์ยังคงบู๊ตต่อไป หากผู้ใช้กดปุ่มเปิด/ปิด ข้อความ "Press power button to pause" จะเปลี่ยนเป็น "Press power button to continue" และหน้าจอจะไม่ถูกปิด (อุปกรณ์อาจหรี่แสงและ/หรือปิดหน้าจอหากจำเป็นเพื่อป้องกันการเผาไหม้- ในหรือใกล้เคียงกัน). หากกดอีกครั้ง หน้าจอจะปิดและโทรศัพท์จะบู๊ตต่อไป

สำหรับ hex-number ให้ใช้ 8 หลักแรกของ sha256 ของการแสดง libavb ของคีย์สาธารณะที่ใช้สำหรับการตรวจสอบ เช่น d14a028c

ข้อความแนะนำ:

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

ไปที่ลิงก์นี้บนอุปกรณ์อื่นเพื่อเรียนรู้เพิ่มเติม:

g.co/ABH

ID: hex-number

กดปุ่มเปิดปิดเพื่อหยุดชั่วคราว

dm-verity ความเสียหาย

ตัวอย่างหน้าจอ RED eio:

หน้าจอเตือนอุปกรณ์ eio สีแดง

แสดงหน้าจอ RED eio หากพบ Android เวอร์ชันที่ถูกต้อง และอุปกรณ์อยู่ในโหมด eio dm-verity ผู้ใช้ต้องคลิกปุ่มเปิดปิดเพื่อดำเนินการต่อ หากผู้ใช้ไม่ยอมรับหน้าจอคำเตือนภายใน 30 วินาที อุปกรณ์จะปิด (เพื่อป้องกันหน้าจอจากการเบิร์นอินและประหยัดพลังงาน)

ข้อความแนะนำ:

อุปกรณ์ของคุณเสียหาย ไม่สามารถเชื่อถือได้และอาจทำงานไม่ถูกต้อง

ไปที่ลิงก์นี้บนอุปกรณ์อื่นเพื่อเรียนรู้เพิ่มเติม:

g.co/ABH

กดปุ่มเปิดปิดเพื่อดำเนินการต่อ

ไม่พบระบบปฏิบัติการที่ถูกต้อง

ตัวอย่างหน้าจอสีแดง:

หน้าจอเตือนอุปกรณ์เสียหายสีแดง

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

สำหรับ hex-number ให้ใช้ 8 หลักแรกของ sha256 ของการแสดง libavb ของคีย์สาธารณะที่ใช้สำหรับการตรวจสอบ เช่น d14a028c

ข้อความแนะนำ:

ไม่พบระบบปฏิบัติการที่ถูกต้อง เครื่องจะไม่บู๊ต

ไปที่ลิงก์นี้บนอุปกรณ์อื่นเพื่อเรียนรู้เพิ่มเติม:

g.co/ABH

ID: hex-number

กดปุ่มเปิดปิดเพื่อปิดเครื่อง

ปลดล็อคการยืนยัน

หน้าจอตัวอย่าง:

ปลดล็อคหน้าจอคำเตือนอุปกรณ์

แสดงหน้าจอยืนยันการปลดล็อคเพื่อตอบสนองต่อคำสั่ง fastboot flashing unlock ที่ดำเนินการผ่านอินเทอร์เฟซ fastboot เริ่มแรกโฟกัสไปที่ อย่าปลดล็อก หากผู้ใช้ไม่ได้โต้ตอบกับหน้าจอคำเตือนภายใน 30 วินาที หน้าจอจะหายไปและคำสั่งจะล้มเหลว

ข้อความแนะนำ:

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

เพื่อป้องกันการเข้าถึงข้อมูลส่วนบุคคลของคุณโดยไม่ได้รับอนุญาต การปลดล็อกโปรแกรมโหลดบูตจะเป็นการลบข้อมูลส่วนบุคคลทั้งหมดในโทรศัพท์ของคุณด้วย

กดปุ่มเพิ่มระดับเสียง/ลดระดับเสียงเพื่อเลือกว่าจะปลดล็อก bootloader หรือไม่ จากนั้นกดปุ่มเปิดปิดเพื่อดำเนินการต่อ

ปลดล็อค

ปลดล็อกโปรแกรมโหลดบูต

อย่าปลดล็อค

อย่าปลดล็อก bootloader และรีสตาร์ทโทรศัพท์

การยืนยันการล็อก

แสดงหน้าจอยืนยันการล็อกเพื่อตอบสนองต่อคำสั่ง fastboot flashing lock ที่กำลังดำเนินการผ่านอินเทอร์เฟซ fastboot โฟกัสอยู่ที่ Don't lock ในตอนแรก หากผู้ใช้ไม่ได้โต้ตอบกับหน้าจอคำเตือนภายใน 30 วินาที หน้าจอจะหายไปและคำสั่งจะล้มเหลว

ข้อความ:

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

กดปุ่มเพิ่มระดับเสียง/ลดระดับเสียงเพื่อเลือกว่าจะล็อค bootloader หรือไม่ จากนั้นกดปุ่มเปิดปิดเพื่อดำเนินการต่อ

ล็อค

ล็อค bootloader

อย่าล็อค

อย่าล็อค bootloader และรีสตาร์ทโทรศัพท์

การสื่อสารสถานะการบูตที่ยืนยันแล้วไปยัง Android

หน้าจอตัวอย่าง:

ล็อคหน้าจอคำเตือนอุปกรณ์ยืนยัน

bootloader สื่อสารสถานะการบูตที่ได้รับการยืนยันไปยัง Android ผ่านพารามิเตอร์คำสั่งเคอร์เนล หรือผ่าน bootconfig ที่เริ่มต้นด้วย Android 12 โดยจะตั้งค่าตัวเลือก androidboot.verifiedstate เป็นค่าใดค่าหนึ่งต่อไปนี้:

  • green : หากอุปกรณ์ LOCKED และไม่ได้ใช้ root of trust ที่ผู้ใช้ตั้งค่าได้
  • yellow : หากอุปกรณ์ LOCKED และใช้ root of trust ที่ผู้ใช้ตั้งค่าได้
  • orange : หากอุปกรณ์ UNLOCKED

ตัวเลือก androidboot.veritymode ถูกตั้งค่าเป็น eio หรือ restart อยู่กับสถานะของ boot loader ที่เกี่ยวข้องกับการจัดการข้อผิดพลาด dm-verity สำหรับรายละเอียดเพิ่มเติม โปรดดู การจัดการข้อผิดพลาดในการยืนยัน