גוגל עובדת על שימוש בקרנל לינוקס רגיל באנדרואיד

בכנס האחרון של Linux Plumbers 2019, גוגל סיפר לגבי הפיתוח יוזמות על העברת שינויים שפותחו בקרנל הלינוקס לליבת הלינוקס הראשית גרסת הקרנל עבור פלטפורמת אנדרואיד. המטרה הסופית היא לאפשר לאנדרואיד להשתמש בליבה אחת משותפת, במקום להכין לבנות נפרדות לכל מכשיר המבוססות על ענף ספציפי לאנדרואיד אנדרואיד גרעין משותף. מטרה זו כבר הושגה חלקית, ובכנס הודגם סמארטפון ה-Xiaomi Poco F1 עם קושחה המבוססת על ליבת לינוקס הרגילה ללא שינוי.

לאחר שהפרויקט יהיה מוכן, הספקים יתבקשו לספק ליבת בסיס המבוססת על ליבת לינוקס הראשית. רכיבים לתמיכה בחומרה יסופקו על ידי ספקים רק בצורה של מודולי קרנל נוספים, ללא החלת תיקונים על הקרנל. מודולים יצטרכו להיות תואמים לליבה הראשית ברמת מרחב השמות של סמל הליבה. כל השינויים המשפיעים על הליבה הראשית יקודמו למעלה הזרם. כדי לשמור על תאימות עם מודולים קנייניים בתוך ענפי LTS, מוצע לשמור על ה-API של הליבה וה-ABI בצורה יציבה, שתשמור על תאימות מודולים עם עדכונים עבור כל ענף ליבה משותף.

גוגל עובדת על שימוש בקרנל לינוקס רגיל באנדרואיד

במהלך שנה, תכונות כגון תת-מערכת PSI (Pressure Stall Information) לניתוח מידע על זמן ההמתנה להשגת משאבים שונים (CPU, זיכרון, I/O), ומערכת ה-Pseudo-BinderFS לתקשורת בין תהליכים. מנגנון הועברו לגרעין הלינוקס הראשי ממהדורת הקרנל של אנדרואיד. קלסר ומתזמן משימות חסכוני באנרגיה EAS (Energy Aware Scheduling). בעתיד מתוכננת העברה של אנדרואיד מהמתזמן הספציפי של SchedTune לתת-מערכת UtilClamp החדשה שפותחה ב-ARM, המבוססת על cgroups2 ומנגנוני ליבה סטנדרטיים.

גוגל עובדת על שימוש בקרנל לינוקס רגיל באנדרואיד

נזכיר שעד כה הליבה של פלטפורמת אנדרואיד עברה מספר שלבי הכנה:

  • בהתבסס על ליבות ה-LTS הראשיות (3.18, 4.4, 4.9 ו-4.14), נוצר סניף של "Android Common Kernel", שאליו הועברו תיקונים ספציפיים לאנדרואיד (בעבר גודל השינויים הגיע לכמה מיליוני שורות, אך לאחרונה השינויים צומצמו לכמה אלפי שורות קוד).
  • בהתבסס על "Android Common Kernel", יצרני שבבים כגון Qualcomm יצרו את "SoC Kernel" שכללו תוספות לתמיכה בחומרה.
  • בהתבסס על ה-SoC Kernel, יצרני המכשירים יצרו את Device Kernel, שכלל שינויים הקשורים לתמיכה בציוד נוסף, מסכים, מצלמות, מערכות סאונד וכו'.

גוגל עובדת על שימוש בקרנל לינוקס רגיל באנדרואיד

למעשה, לכל מכשיר היה קרנל משלו, שלא ניתן היה להשתמש בו במכשירים אחרים. סכימה זו מסבכת באופן משמעותי את יישום העדכונים לביטול פגיעויות והמעבר לענפי קרנל חדשים. לדוגמה, הסמארטפון החדש ביותר של Pixel 4, שיצא באוקטובר, נשלח עם ליבת לינוקס 4.14, שיצא לפני שנתיים. בין השאר, גוגל ניסתה לפשט את התחזוקה על ידי קידום המערכת לשלש, המאפשר ליצרנים ליצור רכיבי תמיכה בחומרה אוניברסליים שאינם קשורים לגרסאות אנדרואיד ספציפיות ולגרסאות ליבת לינוקס בשימוש. טרבל מאפשרת להשתמש בעדכונים מוכנים מגוגל כבסיס, תוך שילוב בתוכם רכיבים ספציפיים למכשיר מסוים.


מקור: OpenNet.ru

הוספת תגובה