ליבת הלינוקס שעליה מבוססים כל מכשירי האנדרואיד מקבלת עדכון גדול לגרסה 5.0. אנו עוברים על השינויים הרלוונטיים למובייל.
למרות שאנחנו בדרך כלל לא מכסים את מה שקורה בתחום ליבת לינוקס המרכזית, חשוב לנו לעקוב אחר מה שקורה עם כל מהדורת ליבה חדשה מכיוון שגוגל מחייבת מינימום גרסת ליבת לינוקס דרישה עם כל מהדורה חדשה של אנדרואיד. ההחלטה האחרונה ל להאריך את מהדורות LTS משנתיים ל-6 שנים ישחק תפקיד מרכזי בהפחתת פיצול תיקוני האבטחה מכיוון שיצרני המכשירים יצטרכו לעשות פחות עבודה בהעברת תיקוני אבטחה לאחור. בנוסף, הגרעין המרכזי אכן משלבת לעתים קרובות תכונות חדשות הרלוונטיות למכשירים ניידים.
למשל, הראשון שחרור בניית מועמד עבור גרסת ה-LTS הבאה של הליבה שוחררה לאחרונה - ליבת לינוקס 5.0 RC1. נותר עוד חודש או חודשיים לפני השחרור היציב, אבל אנחנו כבר יכולים להציץ במה שמגיע במהדורה הקרובה. אדגיש כמה מהעדכונים הרלוונטיים למכשירים ניידים, אבל אני ממליץ לך לעיין ביומן השינויים המלא אם אתה בכלל מעוניין בפיתוח קוד פתוח ובקרנל של לינוקס.
ARM גדול. תמיכה ב-LITTLE EAS
תזמון מודע לאנרגיה היה שם דבר במכשירי אנדרואיד מאז השקת ה-Pixel המקורי. EAS היא אחת הסיבות לכך שמכשירי גוגל פיקסל בדרך כלל יפים יותר מהמתחרים שלהם. תמיכה כבר הופעלה במהדורת ליבת Snapdragon 845 של קוואלקום, כך שכל מכשיר עם SoC זה (או חדש יותר) יתמוך ב-EAS. למרות שלינוקס לא הייתה תמיכה במעלה הזרם של Energy Aware Scheduling, עד עכשיו. תמיכה במעלה הזרם אמורה תיאורטית להקל על יצרני סיליקון ומכשירים ליישם את הטכנולוגיה במכשירים שלהם. עם זאת, עבור משתמשי הקצה, תמיכה במעלה הזרם לא באמת אומרת הרבה.
תמיכה באדיאנטום
Speck הוא אלגוריתם הצפנה שפותח על ידי NSA (National Security Administration) שעובד היטב על חומרה נמוכה. גוגל התכוון להוסיף תמיכה ב-spek מכיוון שהוא מציע תמיכה בהצפנת נתונים עבור התקני תקציב עם SoCs חסרי הרחבות הצפנה מואצות בחומרה. אימוץ ספק זכה לביקורת רבה בשל קשריו עם ה-NSA. התמיכה ב-spek הוסרה בליבת לינוקס 4.20, והחלפתו, Adiantum, מתפקדת באותה מידה, אם לא טובה יותר, בחומרה נמוכה עם מערכות הקבצים EXT4/F2FS.
תיקוני F2FS ו-EXT4
מערכת קבצים ידידותית לפלאש, או F2FS, היא בשימוש נרחב במכשירי אנדרואיד. ה-Google Pixel 3 ו-Pixel 3 XL באופן רשמי תומך ב-F2FS, לדוגמה. ככל הנראה, Jaegeuk Kim, המפתח המקורי של F2FS שלח בקשת מיזוג להרבה תיקונים עבור מערכת הקבצים למאגר לינוקס. שינויים אלו מטפלים בבעיות הצפנה וניהול זמן סרק, לצד תיקוני איסוף אשפה. אתה יכול לראות את כל הפרטים ב בקשת המשיכה הזו. בסך הכל, תיקון F2FS משפר את היציבות והאמינות בסמארטפונים של אנדרואיד שתומכים בו, או יתמכו בו.
באופן דומה, מערכת הקבצים הפופולרית EXT4 קיבלה קצת יותר מתריסר תיקונים. EXT4 משמש במכשירי אנדרואיד רבים כמו מכשירי OnePlus האחרונים (כולל OnePlus 5T, OnePlus 6 ו-OnePlus 6T).
תמיכת חומרה חדשה של ARM
הפצות GNU/Linux הן ללא ספק מערכות ההפעלה הטובות ביותר להפעלה על חומרה מבוססת ARM. הם מציעים ריבוי משימות אמין המבוסס על מודל הקוד הפתוח. מעבדי ARM תוכננו במיוחד לבצע הרבה משימות בבת אחת. לכן חשוב שמערכת ההפעלה תעמוד בקצב החומרה. כפי שחלקכם יודעים, רוב הסמארטפונים והטאבלטים של אנדרואיד משתמשים בערכות שבבים עם ארכיטקטורת ARM. שבבים מבוססי RISC מושלמים להפעלת משימות יומיומיות (שאותן מבצעים בסמארטפון שלך. ליבת לינוקס 5.0 מוסיפה תמיכה בהרבה חומרת ARM חדשה. הנה כמה מהם:
- טגרה X2
- טגרה אקסבייר
- Allwinner F1C100
- קוואלקום QCS404
- Allwinner T3
- NXP Layerscape LX2160
מלבד תמיכת התאימות האוניברסלית לחומרת ARM ספציפית, ליבת Linux 5.0 יש גם ניהול צריכת חשמל משופר.
תמיכה ב-BinderFS
אנדרואיד משתמשת ב-Binder כדי להחליף טיעונים בין תהליכים שונים במערכת. יישומים, פעילויות ותהליכים משתמשים ב-Binder להפעלה וניהול של תהליכים. אבטחה באנדרואיד מבוססת מאוד על הרשאות UID. Binder בודק את מזהי ה-UID שסופקו על ידי האפליקציות באמצעות שיחות IPC דו-כיווניות כדי לאשר שיש לה גישה לתכונה שבה היא רוצה להשתמש. BinderFS היא גרסה מעודכנת של Binder, אך היא יותר מיוחדת ותואמת למערכת. תמיכה ב-BinderFS לא תשנה הרבה עבור משתמש קצה, אבל היא תפתור כמה בעיות יישום למפתחים בטווח הארוך. הנה ה התחייבות רלוונטית.
מסגרת ניהול מודל אנרגיה
תוספת נוספת היא תמיכה ב-Energy Model Management Framework. השינוי הזה מיועד בעיקר למפתחי ARM ו-kernel. הוא מציע שכבה חדשה של מידע סטנדרטי על שימוש באנרגיה ממקורות שונים, כגון עץ המכשיר או מנהלי ההתקן. צריכת אנרגיה ודיווח מטופלים באופן שונה על ידי החומרה והתוכנה כאחד. Energy Model Management Framework תספק API סטנדרטי שיכול לשמש דרייבר אחר בקרנל כדי לגשת למידע על צריכת אנרגיה. זה יקל באופן תיאורטי על מהנדסי תוכנה ומפתחים לקבל את המידע הרלוונטי מהחומרה. אתה יכול לקרוא עוד על מסגרת זו בהתחייבות הזו.
תמיכת ARM64 Pointer Authentication
כל פתרונות חומרה ותוכנה רלוונטיים, במיוחד בנייד, זקוקים לפרוטוקולי אבטחה חזקים. זה מה שמציעה ליבת לינוקס 5.0 עם תמיכה של ARM64 Pointer Authentication. מכיוון שלרוב הסמארטפונים יש ערכות שבבים המבוססות על ARM64, זה חיוני שתוקפים לא יוכלו לנצל מצביעים, המשמשים בליבת לינוקס לגישה לכתובות זיכרון. פרוטוקול האימות החדש משווה בין מצביעים למפתחות סודיים. אימות מצביע ינסה להימנע מ-Retur Oriented Programming (ROP) וסוגים אחרים של התקפות.
יש עוד הרבה עדכונים לליבת Linux 5.0 שלא כיסינו. רובם לא באמת אומרים הרבה עבור מכשירי אנדרואיד, אז בגלל זה היינו צריכים לבחור את יומן השינויים. אם אתה רוצה לראות את 'לוג השינויים' המלא, בדוק של פורוניקס כיסוי.
תודה למפתח מוכר XDA flar2 על הסיוע במאמר זה.