กลับไปหน้าบทความ

อ่าน 5 นาที

กระบวนการบูตของอุปกรณ์ Android

กระบวนการ บูต ของ อุปกรณ์ Android เริ่มต้นที่การเปิดเครื่อง SoC ( system on a chip ) และสิ้นสุดที่การแสดง หน้าจอหลัก หรือโหมดพิเศษ เช่น โหมดกู้คืน (recovery) , โหมด fastboot หรือ...

กระบวนการบูตของอุปกรณ์ Android

กระบวนการบูตของ อุปกรณ์ Androidเริ่มต้นที่การเปิดเครื่อง SoC ( system on a chip ) และสิ้นสุดที่การแสดงหน้าจอหลักหรือโหมดพิเศษ เช่นโหมดกู้คืน (recovery) , โหมด fastbootหรือโหมด Odinสำหรับอุปกรณ์ Samsung [ a ]กระบวนการบูตของอุปกรณ์ที่ใช้ Android ได้รับอิทธิพลจากการออกแบบเฟิร์มแวร์ของผู้ผลิต SoC

พื้นหลัง

ณ ปี 2018 ชิปประมวลผล (SoC) ของตลาด Android ร้อยละ 90 มาจากQualcomm , SamsungหรือMediaTek [ 1 ]ผู้จำหน่ายรายอื่น ๆ ได้แก่UNISOC , Rockchip , Marvell , Nvidiaและก่อนหน้านี้คือTexas Instruments

ประวัติศาสตร์

Verified boot ซึ่งเป็นมาตรการรักษาความปลอดภัยในการบูต ได้ถูกนำมาใช้ในAndroid KitKat [ 2 ]

เวที

บูตโหลดเดอร์หลัก

บูตโหลดเดอร์หลัก (PBL) ซึ่งจัดเก็บอยู่ในบูตรอม[ 3 ]เป็นขั้นตอนแรกของกระบวนการบูต โค้ดนี้เขียนโดยผู้ผลิตชิปเซ็ต[ 4 ]

PBL จะตรวจสอบความถูกต้องของขั้นตอนต่อไป

ในสมาร์ทโฟน Samsung นั้น Samsung Secure Boot Key (SSBK) ถูกใช้โดย boot ROM เพื่อตรวจสอบขั้นตอนต่อไป[ 5 ]

บนชิปประมวลผล (SoC) จาก Qualcomm สามารถเข้าสู่โหมดดาวน์โหลดฉุกเฉินของ Qualcomm ได้ จากบูตโหลดเดอร์หลัก

หากการตรวจสอบบูตโหลดเดอร์รองล้มเหลว ระบบจะเข้าสู่ EDL [ 6 ] [ 7 ]

บูตโหลดเดอร์รอง

เนื่องจากพื้นที่ในบูตรอมมีจำกัด จึงใช้ บูตโหลดเดอร์รองบน ​​eMMCหรือeUFS [ 8 ]บูตโหลดเดอร์รองจะเริ่มต้นTrustZone [ 8 ] [ 9 ]

ตัวอย่างเช่น บน Qualcomm MSM8960 บูตโหลดเดอร์รอง 1 จะโหลดบูตโหลดเดอร์รอง 2 บูตโหลดเดอร์รอง 2 จะโหลด TrustZone และบูตโหลดเดอร์รอง 3 [ 10 ]

ปัจจุบัน Qualcomm เรียก SBL ว่า XBL ซึ่งเป็นการ ใช้งาน UEFIและในอุปกรณ์สมาร์ทโฟนและแท็บเล็ต XBL มักจะเป็นการใช้งาน EDK2

Qualcomm เคยใช้ LK (Little Kernel) บวก Aboot หรือปัจจุบันใช้ XBL (eXtensible Bootloader) บวก ABL; Samsung Exynos ใช้ S-Boot; MediaTek SoC รุ่นเก่ามากใช้Das U-Bootและ MediaTek SoC รุ่นใหม่ใช้ UEFI [ 1 ] Little Kernel เป็นไมโครเคอร์เนลสำหรับอุปกรณ์ฝังตัวซึ่งได้รับการดัดแปลงโดย Qualcomm และ MediaTek เพื่อใช้เป็นบูตโหลดเดอร์[ 11 ] Android Bootloader (Aboot หรือ ABL) ใช้ ส่วนต่อประสาน fastboot Android Bootloader ตรวจสอบความถูกต้องของพาร์ติชั่นบูตและกู้คืน[ 4 ]โดยการกดปุ่มผสมเฉพาะ อุปกรณ์ยังสามารถบูตในโหมดกู้คืนได้ จากนั้น Android Bootloader จะถ่ายโอนการควบคุมไปยังเคอร์เนล Linux

เคอร์เนลและ initramfs

initramfs เป็น ไฟล์เก็บถาวร cpio ที่บีบอัดด้วย gzip ซึ่งมีระบบไฟล์รูทขนาดเล็กอยู่ ภายในประกอบด้วยinitซึ่งจะถูกเรียกใช้งาน เคอร์เนล Android เป็นเวอร์ชันที่แก้ไขแล้วของเคอร์เนล Linux จากนั้น init จะทำการเมานต์พาร์ติชันdm-verityจะตรวจสอบความสมบูรณ์ของพาร์ติชันที่ระบุไว้ใน ไฟล์ fstab dm-verity เป็นโมดูลเคอร์เนล Linux ที่ Google นำมาใช้ใน Android ตั้งแต่เวอร์ชัน 4.4 การใช้งานแบบดั้งเดิมรองรับเฉพาะการตรวจสอบแบบบล็อก แต่ Samsung ได้เพิ่มการรองรับไฟล์[ 9 ]

ไซโกต

Zygote ถูกสร้างขึ้นโดยกระบวนการ init ซึ่งมีหน้าที่ในการเริ่มต้นแอปพลิเคชันและกระบวนการบริการของ Android มันจะโหลดและเริ่มต้นคลาสที่ควรใช้งานบ่อยๆ ลงในฮีป ตัวอย่างเช่น โครงสร้างข้อมูล dex ของไลบรารีต่างๆ หลังจากที่ Zygote เริ่มทำงานแล้ว มันจะรอรับคำสั่งบนซ็อกเก็ต เมื่อต้องการเริ่มต้นแอปพลิเคชันใหม่ คำสั่งจะถูกส่งไปยัง Zygote ซึ่งจะเรียกใช้ระบบ fork()

การจัดวางพาร์ทิชัน

ระบบ Android แบ่งออกเป็นพาร์ติชัน ต่างๆ [ 12 ]

แพลตฟอร์ม Qualcomm ใช้ตารางพาร์ติชั่น GUIDข้อกำหนดนี้เป็นส่วนหนึ่งของ ข้อกำหนด UEFIแต่ไม่ขึ้นอยู่กับเฟิร์มแวร์ UEFI [ 13 ]

ดูเพิ่มเติม

หมายเหตุอธิบาย

  1. โหมดเหล่านี้ มักรองรับฟังก์ชันในการกลับสู่การบูตตามปกติ
  • Android.com - ขั้นตอนการบูต
  • การจัดการเวลาในการบูตเครื่อง
  • บูตโหลดเดอร์ของ Qualcomm
  • ห่วงโซ่ความน่าเชื่อถือของ Qualcomm
  • การบูตที่ปลอดภัยและการตรวจสอบความถูกต้องของอิมเมจ
  • ระบบบูตที่ปลอดภัยบน Snapdragon 410
  • การวิเคราะห์ระบบ Secure Boot Chain ของ Qualcomm
  • msm8916-mainline/qhypstub
  • การวิเคราะห์อย่างละเอียดเกี่ยวกับการเริ่มต้นกระบวนการ init ของระบบ Android และไฟล์ init.rc
  • ภาษาเริ่มต้น Android
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Booting_process_of_Android_devices&oldid=1354431102 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ กระบวนการบูตของอุปกรณ์ Android

กระบวนการ บูต ของ อุปกรณ์ Android เริ่มต้นที่การเปิดเครื่อง SoC ( system on a chip ) และสิ้นสุดที่การแสดง หน้าจอหลัก หรือโหมดพิเศษ เช่น โหมดกู้คืน (recovery) , โหมด fastboot หรือ...

พื้นหลัง

ณ ปี 2018 ชิปประมวลผล (SoC) ของตลาด Android ร้อยละ 90 มาจาก Qualcomm , Samsung หรือ MediaTek [ 1 ] ผู้จำหน่ายรายอื่น ๆ ได้แก่ UNISOC , Rockchip , Marvell , Nvidia และก่อนหน้านี้คือ Texas Instruments

ประวัติศาสตร์

Verified boot ซึ่งเป็น มาตรการรักษาความปลอดภัยในการบูต ได้ ถูกนำมาใช้ใน Android KitKat [ 2 ]

บูตโหลดเดอร์หลัก

บูตโหลดเดอร์หลัก (PBL) ซึ่งจัดเก็บอยู่ใน บูตรอม [ 3 ] เป็นขั้นตอนแรกของกระบวนการบูต โค้ดนี้เขียนโดยผู้ผลิตชิปเซ็ต [ 4 ]