อีกหนึ่งฟีเจอร์เด่นของ Android Nougat ที่เราได้ยินเมื่อตอนเปิดตัว คือระบบ Seamless Updates หรือการอัพเดทเวอร์ชั่นของระบบปฎิบัติการแบบไม่ต้องรอ จากเดิมที่ต้องรีสตาร์ทเครื่องแล้วดูน้อง android นอนหงายท้อง แต่ใน Android 7.0 Nougat นั้นจะไม่มีเหตุการณ์แบบนั้นอีกแล้ว ด้วยระบบ Seamless Updates ที่มาช่วยจัดการให้นั่นเอง ว่าแต่ระบบนี้มันทำงานยังไง แล้วทำไมถึงถูกจำกัดให้มีเฉพาะในเครื่องที่เป็น Android 7.0 จากโรงงานเท่านั้น เราลองมาดูกันครับ
Seamless Update มันทำงานอย่างไร?
ระบบนี้ทำงานโดยการสร้าง logical partition บนหน่วยความจำของตัวเครื่องขึ้นมาอีก partition หนึ่ง ซึ่งทุกครั้งที่ android ถูก boot เครื่องขึ้นมาจะมีการเลือกโดยอัตโนมัติว่าจะใช้งาน partition ไหน พูดง่ายๆ ว่าตัวเครื่องที่มาพร้อม android nougat จะมี system partition 2 อันแยกกันและสลับกันทำงาน
เมื่อ android ได้รับไฟล์ OTA หรือไฟล์อัพเดทมาแล้ว ระบบจะสั่งให้มันไปทำการอัพเดท partition ที่ไม่ได้ถูกใช้งานหรือ inactive ในฃณะนั้น และ bootloader ก็จะถูกสั่งให้ทำการ boot เครื่องจาก partition ที่ได้รับการอัพเดทในครั้งถัดไป
แต่ถ้าหากว่าเกิดปัญหาในการ boot จาก partition หลักที่ถูกเรียกใช้งานระบบจะพยายาม boot อีก 2-3 ครั้ง เมื่อไม่สามารถ boot ขึ้นมาได้ก็จะกลับมาเรียก partition รอง
ทำไม android รุ่นเก่าๆ ที่อัพเป็น Android Nougat จึงไม่สามารถใช้งานฟีเจอร์นี้ได้ ?
ด้วยระบบที่เปลี่ยนไปของ Android Nougat ทำให้ระบบ partition เดิมของ Android รุ่นก่อนๆ หายไป ทั้ง cached partition และ recovery partition ที่เคยใช้ในการอัพเดท android นั้นถูกตัดออกไปทั้งหมดเพื่อการมาของ seamless updates ซึ่งระบบ OS ในเวอร์ชั่นนี้สามารถนำไฟล์ OTA มาทำการอัพเดทข้อมูลใน partition ที่ว่างอยู่ได้ทันที ทำให้ cached และ recovery นั้นไม่มีความจำเป็นอีกต่อไป
ซึ่งถ้าเราทำการ format แล้วจัดเรียง partition ใหม่ให้เป็นเหมือน nougat แล้วจะใช้งาน semaless update ได้หรือไม่ อันนี้ก็มีความเป็นไปได้ แต่จะไปติดที่ bootloader ก็ต้องมีการอัพเดทให้รู้จักการทำงานกับ dual slot partition ด้วย ซึ่งไม่ตรงส่วนนี้ไม่เคยมีค่ายไหนเปิดเผยหรือปล่อย open source ออกมา
Recovery partition หายไปแล้ว แบบนี้จะยังมี custom rom ได้หรือไม่ ?
นี่ก็เป็นอีกปัญหานึงที่เหล่านักพัฒนา รวมถึงสายโมทั้งหลายกำลังหาทางกันอยู่ เพราะตอนนี้ไม่มี recovery partition แล้ว แถมยังติดในเรื่องของระบบความปลอดภัยที่ตอนนี้กลายเป็น Full disk encryption หรือการเข้ารหัสที่ตัวไดรฟ์อีกต่างหาก
การที่ Androidf Nougat มี system 2 partition สลับกันทำงานก็ถือว่าน่าสนใจถ้าหากจะทำการโม ROM แล้วเข้าไปเขียนทับ inactive partition ได้เลย แต่ก็ติดปัญหาความยุ่งยากในการเขาไปใช้ข้อมูลที่ใช้ร่วมกันหรือ data partition
ระบบ partition ใหม่ มาพร้อมคำสั่ง FASTBOOT ใหม่
เนื่องจากระบบ partition ที่เปลี่ยนไป ทำให้ command FASTBOOT ของ android เปลี่ยนไปด้วยครับ แต่บางคำสั่งก็ยังทำงานคล้ายๆ เดิมก็มี แต่จะมีเรืองของ slot active และ inactive (secondary) มาเกี่ยวข้อง
update <filename> เป็นคำสั่งในการแฟลช update.zip โดย slot ที่ถูกอัพเดทจะกลายเป็น active
flashall จะเป็นการสั่ง flash หมดทั้ง disk เลยคือ boot, system, vendor
set_active <slot> เลือกสั่งว่าจะบูทเครื่องจาก slot ไหน โดย Google Pixel นั้นจะมีการเรียกชื่อว่า _a และ _b
ตัวอย่างคำสั่งการเลือกเปิด partition ของ Pixel นั้นก็ตามนี้ครับ
fastboot set_active _b คำสั่งนี้จะสั่งให้ bootloader ไปเรียก boot ที่ partition _b ของ Pixel นั่นเอง
สำหรับข้อมูลของ Android Nougat Seamless Updates ผมคงเขียนเอาไว้คร่าวๆ ประมาณนี้ ส่วนรายละเอียดคำสั่งทั้งหมด รวมถึงเนื้อหาที่เป็นด้านเทคนิคลองไปอ่านได้ที่ androidpolice นะครับ
source : androidpolice
ถ้ารูทแล้วยังจะใช้ฟังชั่นนี้ได้รึเปล่าครับ
หรือควรปิดการทำงานของฟังชั่นนี้ไปเลย (ในกรณีที่มีความเสี่ยง)
2 partition ผมนึกถึง mi 3 เลย
ทำไม android รุ่นเก่าๆ ที่อัพเป็น Android Nougat จึงไม่สามารถใช้งานฟีเจอร์นี้ได้ ?
เพราะเค้าอยากให้คุณซื้อใหม่ 555
ก็ถ้าต้องรื้อ Partition ใหม่ข้อมูลก็หายหมดสิครับ End User ไม่ Happy หรอก
ซับซ้อนยิ่งนัก
ตอนนี้ Nexus 6P ผมมี รอมโม 3 สาย สาย 7.0 สาย 7.1 สาย 7.1.1
เคยใช้ System partition 2 ใน Mi4 - Miui 7 เสียดายพออัพเดตเป็น Miui 8 ก็หายไปเลย
ข้อดีตรงที่รอมบางรุ่นมีบั๊กที่รอมกินแบต บูทเครื่องใหม่ย้ายกลับไปรอมก่อนหน้าได้เร็วดี ปัญหารอมกินแบตในรอมใหม่หายในแทบจะทันที
สเปคเครื่องต้องแรงพอที่จะอัพเดทอยู่เบื้องหลังได้โดยที่การใช้งานปกติไม่ติดขัด
แต่ทุกวันนี้ แค่อัพเดทแอพเล็กๆในระหว่างที่ใช้งาน ก็ยังรู้สึกสะดุดนิดๆ
ถ้าการอัพเดทเวอร์ชั่นอยู่เบื้องหลัง ทำให้การใช้งานไม่ลื่นไหลติดๆขัดๆ มันก็ยังคงจำเป็นต้อง "รอ" จนอัพเดทเสร็จก่อนอยู่ดี
ยอมดูหุ่นเขียวนอนตีพุงตอนอัพเดทดีกว่าเยอะ
ทำระบบอัพเดทออกมาดีแค่ไหน ถ้าค่ามือถือ ไม่อัพให้ ก็อดอยู่ดี
อ่านๆ ตอนแรกอย่างดีใจจนเจอวรรคนี้
"ทำไม android รุ่นเก่าๆ ที่อัพเป็น Android Nougat จึงไม่สามารถใช้งานฟีเจอร์นี้ได้"
อ้าว – -"