Linux kernel 5.0 RC1 สามารถใช้ได้กับ ARM ขนาดใหญ่ รองรับ LITTLE EAS, การแก้ไข F2FS และอื่นๆ อีกมากมาย

click fraud protection

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

แม้ว่าโดยทั่วไปแล้วเราจะไม่กล่าวถึงสิ่งที่เกิดขึ้นในขอบเขตเคอร์เนลหลักของ Linux แต่สิ่งสำคัญสำหรับเราในการติดตามสิ่งที่เกิดขึ้นกับเคอร์เนลใหม่แต่ละรุ่นเนื่องจาก Google กำหนดให้ เวอร์ชันเคอร์เนล Linux ขั้นต่ำ ข้อกำหนดสำหรับ Android รุ่นใหม่แต่ละรุ่น การตัดสินใจล่าสุดที่จะ ขยายเวลาการออก LTS จาก 2 ปีเป็น 6 ปี จะมีบทบาทสำคัญในการลดการกระจายตัวของแพตช์รักษาความปลอดภัย เนื่องจากผู้ผลิตอุปกรณ์จะต้องทำงานน้อยลงในการแบ็คพอร์ตแพตช์รักษาความปลอดภัย นอกจากนี้ เคอร์เนล mainline มักจะรวมคุณสมบัติใหม่ๆ ที่เกี่ยวข้องกับอุปกรณ์มือถือเข้าด้วยกัน

ยกตัวอย่างอันแรก ปล่อยรุ่น Candidate สำหรับเคอร์เนล LTS เวอร์ชันถัดไปที่เพิ่งเปิดตัว—เคอร์เนล Linux 5.0 RC1 เหลือเวลาอีกหนึ่งหรือสองเดือนก่อนการเปิดตัวอย่างเสถียร แต่เราสามารถดูได้แล้วว่ามีอะไรใหม่ในการเปิดตัวที่กำลังจะมาถึงนี้ ฉันจะเน้นการอัปเดตบางส่วนที่เกี่ยวข้องกับอุปกรณ์มือถือ แต่ฉันขอแนะนำให้คุณดูบันทึกการเปลี่ยนแปลงทั้งหมด หากคุณสนใจในการพัฒนาโอเพ่นซอร์สและเคอร์เนล Linux

แขนใหญ่. การสนับสนุน EAS เล็กน้อย

กำหนดการตระหนักถึงพลังงาน เป็นสิ่งหนึ่งบนอุปกรณ์ Android นับตั้งแต่เปิดตัว Pixel ดั้งเดิม EAS เป็นหนึ่งในเหตุผลที่อุปกรณ์ Google Pixel โดยทั่วไปมีความเร็วมากกว่าคู่แข่ง การสนับสนุนได้เปิดใช้งานเคอร์เนล Snapdragon 845 ของ Qualcomm แล้ว ดังนั้นอุปกรณ์ใดๆ ที่มี SoC นี้ (หรือใหม่กว่า) จะรองรับ EAS แม้ว่า Linux จะยังไม่รองรับ Energy Aware Scheduling จนกระทั่งบัดนี้ การสนับสนุนขั้นต้นควรช่วยให้ผู้ผลิตซิลิคอนและอุปกรณ์สามารถนำเทคโนโลยีไปใช้กับอุปกรณ์ของตนได้ง่ายขึ้น สำหรับผู้ใช้ปลายทาง การสนับสนุนต้นทางไม่ได้มีความหมายมากนัก

การสนับสนุน Adiantum

Speck เป็นอัลกอริธึมการเข้ารหัสที่พัฒนาโดย NSA (National Security Administration) ซึ่งทำงานได้ดีกับฮาร์ดแวร์ระดับล่าง Google ตั้งใจ เพื่อเพิ่มการรองรับ spec เนื่องจากให้การสนับสนุนการเข้ารหัสข้อมูลสำหรับอุปกรณ์ราคาประหยัดที่มี SoC ขาดส่วนขยายการเข้ารหัสที่เร่งด้วยฮาร์ดแวร์ การยอมรับ Speck ได้รับการวิพากษ์วิจารณ์อย่างกว้างขวางเนื่องจากมีความเกี่ยวข้องกับ NSA การรองรับ speck ถูกลบออกในเคอร์เนล Linux 4.20 และ Adiantum ที่มาแทนที่นั้นก็ทำงานได้ดีเช่นกัน หากไม่ดีกว่านั้น บนฮาร์ดแวร์ระดับล่างที่มีระบบไฟล์ EXT4/F2FS

แก้ไข F2FS และ EXT4

Flash-Friendly File-System หรือ F2FS คือ ใช้กันอย่างแพร่หลาย ในอุปกรณ์ Android Google Pixel 3 และ Pixel 3 XL อย่างเป็นทางการ รองรับ F2FS, ตัวอย่างเช่น. เห็นได้ชัดว่า Jaegeuk Kim ผู้พัฒนาดั้งเดิมของ F2FS ได้ส่งคำขอรวมเพื่อแก้ไขระบบไฟล์จำนวนมากไปยังที่เก็บ Linux การเปลี่ยนแปลงเหล่านี้จะดูแลปัญหาการเข้ารหัสและการจัดการเวลาว่าง ควบคู่ไปกับการแก้ไขการรวบรวมขยะ สามารถดูรายละเอียดทั้งหมดได้ใน คำขอดึงนี้. โดยรวมแล้ว การแก้ไข F2FS จะปรับปรุงความเสถียรและความน่าเชื่อถือบนสมาร์ทโฟน Android ที่รองรับหรือจะรองรับ

ในทำนองเดียวกัน ระบบไฟล์ EXT4 ยอดนิยมได้รับแพตช์มากกว่าหนึ่งโหล EXT4 ใช้กับอุปกรณ์ Android จำนวนมาก เช่น อุปกรณ์ OnePlus รุ่นล่าสุด (รวมถึง โอเปิ้ล 5T, OnePlus 6 และ OnePlus 6T)

รองรับฮาร์ดแวร์ ARM ใหม่

การกระจาย GNU/Linux ถือเป็นระบบปฏิบัติการที่ดีที่สุดในการทำงานบนฮาร์ดแวร์ที่ใช้ ARM มีการทำงานหลายอย่างพร้อมกันที่เชื่อถือได้ตามโมเดลโอเพ่นซอร์ส โปรเซสเซอร์ ARM ได้รับการออกแบบมาเป็นพิเศษเพื่อทำงานหลายอย่างพร้อมกัน นั่นเป็นสาเหตุว่าทำไมระบบปฏิบัติการจึงต้องตามให้ทันฮาร์ดแวร์ ดังที่บางท่านทราบ สมาร์ทโฟนและแท็บเล็ต Android ส่วนใหญ่ใช้ชิปเซ็ตที่มีสถาปัตยกรรม ARM ชิปที่ใช้ RISC นั้นสมบูรณ์แบบสำหรับการใช้งานในแต่ละวัน (แบบที่คุณทำบนสมาร์ทโฟนของคุณ Linux kernel 5.0 กำลังเพิ่มการรองรับฮาร์ดแวร์ ARM ใหม่จำนวนมาก นี่คือบางส่วนของพวกเขา:

  • เทกรา X2
  • เตกรา ซาเวียร์
  • ออลวินเนอร์ F1C100
  • ควอลคอมม์ QCS404
  • ออลวินเนอร์ T3
  • NXP เลเยอร์สเคป LX2160

นอกเหนือจากการสนับสนุนความเข้ากันได้สากลสำหรับฮาร์ดแวร์ ARM เฉพาะแล้ว Linux kernel 5.0 ยังมีการจัดการพลังงานที่ได้รับการปรับปรุงอีกด้วย

การสนับสนุน BinderFS

Android ใช้ Binder เพื่อแลกเปลี่ยนข้อโต้แย้งระหว่างกระบวนการต่างๆ ในระบบ แอปพลิเคชัน กิจกรรม และกระบวนการใช้ Binder เพื่อเรียกใช้และจัดการกระบวนการ การรักษาความปลอดภัยบน Android ขึ้นอยู่กับการอนุญาต UID ในระดับสูง Binder ตรวจสอบ UID ที่ได้รับจากแอปพลิเคชันโดยใช้การเรียก IPC แบบสองทางเพื่อยืนยันว่ามีสิทธิ์เข้าถึงคุณสมบัติที่ต้องการใช้ BinderFS เป็นเวอร์ชันอัปเดตของ Binder แต่มีความเชี่ยวชาญมากกว่าและเข้ากันได้กับระบบ การสนับสนุน BinderFS จะไม่เปลี่ยนแปลงมากนักสำหรับผู้ใช้ปลายทาง แต่จะช่วยแก้ปัญหาการใช้งานบางประการสำหรับนักพัฒนาในระยะยาว ที่นี่คือ การกระทำที่เกี่ยวข้อง.

กรอบการจัดการแบบจำลองพลังงาน

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

รองรับการรับรองความถูกต้องของตัวชี้ ARM64

โซลูชันฮาร์ดแวร์และซอฟต์แวร์ที่เกี่ยวข้องทั้งหมด โดยเฉพาะอย่างยิ่งบนมือถือ จำเป็นต้องมีโปรโตคอลความปลอดภัยที่แข็งแกร่ง นั่นคือสิ่งที่เคอร์เนล Linux 5.0 นำเสนอพร้อมการรองรับ ARM64 Pointer Authentication เนื่องจากสมาร์ทโฟนส่วนใหญ่มีชิปเซ็ตที่ใช้ ARM64 จึงจำเป็นอย่างยิ่งที่ผู้โจมตีจะต้องไม่ใช้ประโยชน์จากพอยน์เตอร์ที่ใช้ในเคอร์เนล Linux เพื่อเข้าถึงที่อยู่หน่วยความจำ โปรโตคอลการตรวจสอบสิทธิ์ใหม่จะเปรียบเทียบพอยน์เตอร์กับคีย์ลับ การตรวจสอบความถูกต้องของตัวชี้จะพยายามหลีกเลี่ยง Return Oriented Programming (ROP) และการโจมตีประเภทอื่นๆ


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

ขอบคุณนักพัฒนาที่ได้รับการยอมรับจาก XDA flar2 สำหรับการช่วยเหลือบทความนี้