谷歌為安卓新增主線 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」今日上線機器學習谷歌安卓
- 為vert x框架新增druid連線池支援框架UI
- 為Linux-3.10.1核心新增系統呼叫Linux
- 谷歌為Chrome新增新技術—防止廣告主追蹤使用者谷歌Chrome
- xmake v2.6.2 釋出,新增 Linux 核心驅動模組構建支援Linux
- 為什麼主線核心不能執行在我的手機上?
- ArmSoM-Sige5 的 RK3576 SoC 主線核心支援進展
- 支援HDMI-IN介面的安卓工控主機板有哪些?安卓
- 讓手機執行主線核心
- Rust for Linux 新補丁:為 Linux 核心增加對 Rust 作為第二語言的支援RustLinux
- 如何為 Eloquent 新增多語言支援
- 谷歌安卓5.1系統程式碼曝光:將支援多視窗分屏功能谷歌安卓
- 谷歌錯誤地為安卓“推出”了 Clankium 瀏覽器谷歌安卓瀏覽器
- 核心新增對yaffs2檔案系統的支援
- 恢復安卓谷歌套件安卓谷歌套件
- 為老的vueCli專案新增vite支援VueVite
- Linux核心加入了Rust語言支援LinuxRust
- U4 核心特性支援文件上線啦
- GNU Guix 將終止對 Linux 核心的支援,全面替換為 GNU HurdGUILinux
- 為七牛iOS SDK新增ALAsset上傳支援iOS
- 給Retrofit新增離線快取,支援Post請求快取
- Linux核心支援實時(Real-Time)(轉)Linux
- 使用磁碟為Linux新增swapLinux
- 手工為Linux新增swap大小Linux
- 谷歌Flutter 1.12正式釋出,今年新增對iOS 13/Web支援等谷歌FlutteriOSWeb
- 俄對谷歌展開反壟斷調查 涉濫用安卓主導地位谷歌安卓
- 為Ami.BlazorOne新增Docker支援並自動部署BlazorDocker
- 微軟商店新增了對Windows 10時間線的支援微軟Windows
- linux 核心 3.8 釋出 ,不再支援386cpuLinux
- Linux 2.4 核心中的iptables 新增功能指南(轉)Linux
- 谷歌Linux桌面搜尋釋出 支援10種語言谷歌Linux
- 使用Whisper框架快速為專案新增國際化支援框架
- php新增yaml支援PHPYAML
- 【移植Linux 3.4.2核心之四】修改核心程式碼支援YAFFS檔案系統Linux
- 為主頁新增一個漂亮的按鈕(下)(轉)
- 為主頁新增一個漂亮的按鈕(上)(轉)
- 可連線遠端主機情況下新增私鑰到遠端主機
- 谷歌Pixel 3 XL劉海屏工程機曝光:首次支援無線充電谷歌