Το Android μετατοπίζεται στο μοντέλο "πρώτο upstream" για νέες δυνατότητες πυρήνα Linux

click fraud protection

Η Google σχεδιάζει να μεταβεί σε ένα μοντέλο ανάπτυξης "πρώτα στο upstream" για λειτουργίες πυρήνα Linux στο Android από το 2023. Διαβάστε παρακάτω για να μάθετε περισσότερα.

Όταν βλέπετε τις λέξεις "Android" και "fragmentation" στην ίδια πρόταση, το μυαλό σας πιθανότατα μεταπηδά αμέσως στο Διάγραμμα διανομής έκδοσης Android. Υπάρχουν μερικές οντότητες στις οποίες οι περισσότεροι άνθρωποι δείχνουν το δάχτυλό τους όταν παραπονιούνται ότι οι ενημερώσεις του λειτουργικού συστήματος Android αργούν να κυκλοφορήσουν σε όλους τους τομείς, αλλά υπάρχουν τόσα πολλά που μπορεί να κάνει η Google για να δύναμη OEM για ανάπτυξη και διάθεση ενημερώσεων πιο γρήγορα. Αυτό που μπορεί να κάνει η Google, ωστόσο, είναι να μειώσει τον χρόνο ανάπτυξης και, συνεπώς, το κόστος διάθεσης ενημερώσεων.

Η πρώτη σημαντική πρωτοβουλία στο μακροπρόθεσμο έργο της Google για τη μείωση των βαρών ανάπτυξης είναι Project Treble. Ανακοινώθηκε παράλληλα με το Android 8.0 Oreo το 2017, το Project Treble προσάρμοσε το Android διαχωρίζοντας το πλαίσιο του λειτουργικού συστήματος από την υλοποίηση του προμηθευτή (HALs και το fork του πυρήνα Linux για τη συγκεκριμένη συσκευή). Αυτό διευκόλυνε τους OEM Android να επανατοποθετήσουν τα λειτουργικά τους συστήματα πάνω από το πιο πρόσφατο πλαίσιο AOSP, καθώς μπορούσαν να εκκινήσουν την πιο πρόσφατη έκδοση χωρίς να χρειάζονται ενημερωμένο κώδικα από προμηθευτές. Ως αποτέλεσμα, οι OEM θα μπορούσαν να προετοιμάσουν τα προσαρμοσμένα πιρούνια Android τους γρηγορότερα από πριν, και κατ' επέκταση, να διαθέσουν πιο γρήγορα σημαντικές ενημερώσεις λειτουργικού συστήματος.

Το επόμενο βήμα στα σχέδια της Google ήταν ο εξορθολογισμός της παράδοσης ενημερώσεων σε βασικά στοιχεία Android. Η Google κάλεσε αυτήν την πρωτοβουλία Project Mainline όταν το παρουσίασε μαζί με το Android 10 το 2019. Η Google ουσιαστικά ανέλαβε τον έλεγχο των βασικών στοιχείων του λειτουργικού συστήματος και απαγόρευσε στους OEM να τα τροποποιήσουν. Στη συνέχεια, δημιούργησαν έναν μηχανισμό παράδοσης μέσω του Google Play, ώστε να μπορούν να κάνουν απομακρυσμένα τη διάθεση ενημερώσεων σε αυτά τα βασικά στοιχεία χωρίς να χρειάζεται να περιμένουν από τους OEM να εφαρμόσουν οι ίδιοι τις ενημερώσεις κώδικα. Το Mainline βελτίωσε σημαντικά το πόσο γρήγορα οι συσκευές λαμβάνουν ενημερωμένες εκδόσεις σημαντικών στοιχείων του λειτουργικού συστήματος, βελτιώνοντας με τη σειρά του την ασφάλεια του οικοσυστήματος Android στο σύνολό του.

Αλλά αυτό που ακολουθεί είναι ακόμη πιο σημαντικό και είναι αναμφισβήτητα το πιο σημαντικό μέρος της μακροπρόθεσμης στρατηγικής της Google. Όταν επισημάναμε νωρίτερα πώς το Treble διαμορφώνει το Android διαχωρίζοντας το πλαίσιο του λειτουργικού συστήματος από το υλοποίηση προμηθευτή, συμπεριλάβαμε το "fork του πυρήνα Linux για συγκεκριμένη συσκευή" ως μέρος αυτού του προμηθευτή κώδικας. Όποιος είναι εξοικειωμένος με το Linux σε επιτραπέζιους υπολογιστές θα αναγνωρίσει ένα πρόβλημα εκεί: Γιατί συγκεντρώνεται με κώδικα προμηθευτή κλειστού κώδικα; Το πρόβλημα είναι ότι ενώ οι συσκευές Android αποστέλλονται με τον πυρήνα Linux, αυτός ο πυρήνας διαθέτει α παρτίδα του κώδικα εκτός δέντρου.

Πώς φτάσαμε εκεί; Το πρόβλημα, όπως περιγράφεται από τον μηχανικό λογισμικού της Google, Todd Kjos στο το φετινό Συνέδριο Υδραυλικών Linux (μέσω ArsTechnica), οφείλεται στο ότι ο κύριος πυρήνας του Linux διαχωρίζεται πολλές φορές πριν αποσταλεί σε μια συσκευή Android. Η Google διαχωρίζει κάθε βασικό πυρήνα Linux σε ένα "Android Common Kernelυποκατάστημα, το οποίο παρακολουθεί στενά την κύρια έκδοση, αλλά προσθέτει μερικές ενημερώσεις κώδικα ειδικά για Android. Οι προμηθευτές SoC όπως η Qualcomm, η MediaTek και η Samsung στη συνέχεια διαχωρίζουν ότι πυρήνα για κάθε SoC που φτιάχνουν. Στη συνέχεια, οι OEM λαμβάνουν αυτόν τον πυρήνα του συγκεκριμένου SoC και προσθέτουν πρόσθετες ενημερώσεις κώδικα για να υλοποιήσουν υποστήριξη για το συγκεκριμένο υλικό που θέλουν να στείλουν.

Λόγω αυτών των αλλαγών, "έως και το 50% του κώδικα που εκτελείται σε μια συσκευή είναι κώδικας εκτός δέντρου (όχι από κοινούς πυρήνες Linux ή AOSP)», σύμφωνα με την Google. Η μεγάλη ποσότητα κώδικα εκτός δέντρου σε αυτές τις συσκευές καθιστά τη συγχώνευση των αλλαγών ανάντη μια μακρά και προκλητική διαδικασία. Αυτό είναι επιβλαβές για την ασφάλεια της συσκευής, καθώς οι OEM πρέπει να εργαστούν σκληρότερα για να εφαρμόσουν ενημερώσεις κώδικα σε ευπάθειες που ανακαλύπτονται στον πυρήνα του Linux. Επιπλέον, αυτό αφήνει τις περισσότερες συσκευές Android σε εκδόσεις πυρήνα ετών, που σημαίνει ότι χάνουν τις νέες δυνατότητες του πυρήνα Linux.

Σε μια προσπάθεια να αντιμετωπίσει αυτό το πρόβλημα, η Google εργάζεται στη Γενική Εικόνα πυρήνα Android (GKI), η οποία είναι ουσιαστικά ένας πυρήνας που έχει μεταγλωττιστεί απευθείας από έναν κλάδο ACK. Το GKI απομονώνει τις προσαρμογές του προμηθευτή SoC και του OEM σε λειτουργικές μονάδες προσθηκών, εξαλείφοντας τον εκτός δέντρου κώδικα και επιτρέποντας στην Google να προωθήσει ενημερώσεις πυρήνα απευθείας στον τελικό χρήστη. Για περισσότερο από ένα χρόνο, η Google εργάζεται σε έναν τρόπο παροχής ενημερώσεων GKI μέσω του Play Store, μέσω της χρήσης μιας ενότητας Mainline.

Σύμφωνα με τις πηγές μας, συσκευές που εκκινούν με Android 12 και η αποστολή με τον πυρήνα Linux 5.10 πρέπει να αναπτύξει μια εικόνα εκκίνησης υπογεγραμμένη από την Google. Το Google είναι πολύ δικό του Pixel 6 Η σειρά θα κυκλοφορήσει με το Android 12 από το κουτί και θα κυκλοφορήσει με τον πυρήνα Linux 5.10, επομένως τα δύο τηλέφωνα μπορεί να είναι οι πρώτες συσκευές μαζικής αγοράς που διατίθενται με GKI.

Επιπλέον, ο Todd Kjos της Google αποκάλυψε ότι η εταιρεία σκοπεύει να στραφεί σε ένα μοντέλο ανάπτυξης «πρώτων ανοδικών» για νέες δυνατότητες πυρήνα Linux. Αυτό θα βοηθήσει την Google να διασφαλίσει ότι ο νέος κώδικας προσγειώνεται πρώτος στον κύριο πυρήνα Linux, γεγονός που θα μειώσει το μελλοντικό τεχνικό χρέος που θα προκύψει από την προσγείωση περισσότερου κώδικα σε συσκευές Android.

Στο συνέδριο Linux Plumbers Conference αυτή την εβδομάδα, ο Kjos είπε, «Δεδομένου ότι οι μονάδες εκτός δέντρου είναι πολύ σημαντικές για την περίπτωση χρήσης μας, αναμένουμε ότι θα έχουμε πάντα ένα σύνολο εξαγωγών και ορισμένα πράγματα που είναι διαφορετικά ή επιπρόσθετα από αυτά που ανάντη, αλλά όλο αυτό το έργο είναι ένα πολυετές έργο που εργάζεται για να απαλλαγούμε από όσο το δυνατόν περισσότερα μπαλώματα εκτός δέντρου και να ευθυγραμμιστούμε όσο το δυνατόν περισσότερο με αντίθετα στο ρεύμα." Η Google σκοπεύει να ολοκληρώσει το έργο της για την αναβάθμιση των υπαρχόντων λειτουργιών και την απομόνωση των αλλαγών προμηθευτών έως το τέλος του 2022 και, αρχής γενομένης από το 2023, η εταιρεία σχεδιάζει να υιοθετήσει αυτό το μοντέλο ανάπτυξης "προηγουμένως ανάντη" για να αποφύγει τέτοια ζητήματα στην μελλοντικός.