谷歌為安卓新增主線 Linux 核心支援
當前的安卓生態系統被數百種不同版本的安卓所汙染,每種版本都執行著 Linux 核心的不同變體。每個版本均針對不同的手機和不同的配置而設計。谷歌試圖通過將主線 Linux 核心新增到安卓來解決該問題。
當前在安卓中是如何處理 Linux 核心的
在到達你的手機之前,你手機上的 Linux 核心經歷了三個主要步驟。
首先,谷歌採用了 Linux 核心的 LTS(長期支援)版本,並新增了所有的安卓專用程式碼。這將成為“安卓通用核心”。
然後,谷歌將此程式碼傳送給建立可執行在手機的片上系統(SoC)的公司。這通常是高通公司。
SoC 製造商新增了支援 CPU 和其他晶片的程式碼後,便會將該核心傳遞給實際的裝置製造商,例如三星和摩托羅拉。然後,裝置製造商新增程式碼以支援手機的其餘部分,例如螢幕和攝像頭。
每個步驟都需要一段時間才能完成,並且會導致該核心無法與其他任何裝置一起使用。這也意味著核心會非常舊,通常是大約兩年前的核心。例如,上個月交付的谷歌 Pixel 4 帶有來自 2017 年 11 月的核心,而且它將永遠不會得到更新。
谷歌承諾會為較舊的裝置建立安全補丁,這意味著他們會一直盯著大量的舊程式碼。
將來
去年,谷歌宣佈計劃解決此問題。今年,他們在 2019 Linux Plumbers Conference 上展示了他們取得的進展。
“我們知道執行安卓需要什麼,但不一定是在任何給定的硬體上。因此,我們的目標是從根本上找出所有這些,然後將其交給上游,並嘗試儘可能接近主線。”
Sandeep Patil,安卓核心團隊負責人
他們確實炫耀了執行帶有合適的 Linux 核心的小米 Poco F1。但是,有些東西似乎沒有工作,例如電池電量百分比一直留在 0%。
那麼,谷歌計劃如何使其工作呢?從他們的 Treble 專案計劃中摘錄。在 Treble 專案之前,與裝置和安卓本身互動的底層程式碼是一大堆程式碼。Treble 專案將兩者分開,並使它們模組化,以便可以更快地交付安卓更新,並且在更新時,這些低階程式碼可以保持不變。
谷歌希望為核心帶來同樣的模組化。他們的計劃“涉及穩定 Linux 的核心 ABI,併為 Linux 核心和硬體供應商提供穩定的介面來進行寫入。谷歌希望將 Linux 核心與其硬體支援脫鉤。”
因此,這意味著谷歌將交付一個核心,而硬體驅動程式將作為核心模組載入。目前,這只是一個草案。仍然有很多技術問題有待解決。因此,這不會很快有結果。
來自開源的反對意見
開源社群不會對將專有程式碼放入核心的想法感到滿意。Linux 核心準則指出,驅動程式必須具有 GPL 許可證才能包含在核心中。他們還指出,如果驅動程式的更改導致錯誤,應由導致該錯誤的人來解決。從長遠來看,這意味著裝置製造商的工作量將減少。
關於將主線核心包含到安卓中的最終想法
到目前為止,這只是一個草案。谷歌有很大的可能會開始進行該專案,除非他們意識到這將需要多少工作後才會放棄。看看谷歌已經放棄了多少個專案!
Android Police 指出谷歌正在開發其 Fuchsia 作業系統,這似乎是為了有一天取代谷歌。
那麼,問題是谷歌會嘗試完成那些艱鉅的任務,使安卓以主線 Linux 核心執行,還是完成他們統一的安卓替代產品的工作?只有時間可以回答。
你對此話題有何看法?請在下面的評論中告訴我們。
via: https://itsfoss.com/mainline-linux-kernel-android/
作者:John Paul 選題:lujun9972 譯者:wxy 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 機器學習為核心,DeepMind助力谷歌開發的安卓 9「Pie」今日上線機器學習谷歌安卓
- 恢復安卓谷歌套件安卓谷歌套件
- 支援HDMI-IN介面的安卓工控主機板有哪些?安卓
- 谷歌錯誤地為安卓“推出”了 Clankium 瀏覽器谷歌安卓瀏覽器
- xmake v2.6.2 釋出,新增 Linux 核心驅動模組構建支援Linux
- 谷歌為Chrome新增新技術—防止廣告主追蹤使用者谷歌Chrome
- 安卓7 如何支援Let證書安卓
- ArmSoM-Sige5 的 RK3576 SoC 主線核心支援進展
- Rust for Linux 新補丁:為 Linux 核心增加對 Rust 作為第二語言的支援RustLinux
- 別小瞧了 Linux,安卓、華為的自研系統,均源自 Linux!Linux安卓
- 安卓到底是不是Linux安卓Linux
- 研究:90%安卓app資料被傳回谷歌安卓APP谷歌
- Linux 安裝PAE核心Linux
- Linux核心加入了Rust語言支援LinuxRust
- 解決安卓 linux adb 連線機器提示 no permissions 的問題安卓Linux
- 安卓9.0不支援明文請求解決方案安卓
- 微軟宣佈Win10你的手機將新增支援安卓雙SIM卡功能微軟Win10安卓
- 安卓核心時間使用的是UTC時間安卓
- 谷歌正在開發安卓平臺增量檔案系統:遊戲支援在下載過程中體驗谷歌安卓遊戲
- Kali Linux安裝谷歌瀏覽器Linux谷歌瀏覽器
- Kali Linux安裝谷歌輸入法Linux谷歌
- 安卓版 Google Sheets 表格應用支援滑鼠操作安卓Go
- 安卓自定義註解支援和示例實現安卓
- GNU Guix 將終止對 Linux 核心的支援,全面替換為 GNU HurdGUILinux
- 什麼是工控主機?工控主機安卓主機板有哪些配置?安卓
- 谷歌Flutter 1.12正式釋出,今年新增對iOS 13/Web支援等谷歌FlutteriOSWeb
- root下安卓7以上新增系統信任證書安卓
- 給安卓 app 新增許可權的一種方法安卓APP
- 為什麼雙贊安卓ARM工控主機板應用前景那麼好?安卓
- 谷歌:安卓電視和谷歌電視月度活躍裝置超過1.1億臺谷歌安卓
- 為老的vueCli專案新增vite支援VueVite
- 安卓工控主機板通訊介面有哪些呢?安卓
- 安卓工控主機板顯示介面有哪些呢?安卓
- 華為Mate 8將升級安卓8.0:嚐遍3個安卓大版本安卓
- uni-app 離線打包總結(安卓)APP安卓
- 谷歌照片AI編輯功能即將上架所有安卓裝置谷歌AI安卓
- Wire:基於安卓的谷歌的Protocol Buffers的開源實現安卓谷歌Protocol
- 安卓安卓