Linux

為什麼 ARM 設備沒有附帶最新的 Linux 核心?

  • June 21, 2015

想知道為什麼 Raspberry Pi、Android 手機、路由器等基於 ARM 的設備沒有配備最新的 Linux 核心?僅僅是因為缺乏專有設備驅動程序支持嗎?比如缺乏 GPU、DSP 等的開源驅動程序?或者他們對執行最新的核心版本有一些限制?

Raspberry Pi 根本不附帶任何核心。它不包括軟體,儘管您可以從一些第三方零售商處購買帶有預格式化 SD 卡的軟體(您可以單獨購買此類卡)。有許多專門用於 A/B/+ pi 的二進制 GNU/Linux 發行版(因為 Pi 2 是 ARMv7,它不需要這個,可以使用通用 ARM 發行版);它們大多基於現有的主流發行版並使用相同版本的軟體,但核心除外,核心不是普通版本,並且包含一些專有位。其最新版本是 4.1,與撰寫本文時最新的 vanilla 核心相同。

但是,與官方核心一樣,pi 核心獨立於任何發行版,並且以 pi 為中心的發行版不一定使用最新的可用核心,就像普通發行版不一定使用最新的可用核心一樣。

對於 Android,那些核心可能包含更多專有的東西,而我認為基本核心本身仍然與普通核心不同——我不知道最新的版本是什麼,但它不會是令人驚訝的是它是否有點落後,因為在這種情況下,比使用 pi 需要仔細檢查。

我熟悉的實際 Android 製造商不會經常更新核心,他們會在某個時間點後停止更新,因為他們沒有承諾讓您的設備可以無限更新。他們最初不經常更新它的原因大概是因為“如果它沒有壞,就不要修復它”——這樣做比讓它保持原樣風險更大。

這是一種理智的態度;對於消費者設備製造商來說,嘗試跟上 kernel.org 的步伐將是完全瘋狂的。那不是重點。Linux是開源的,它的開發是公開的;您可以訪問與核心開發人員相同的通信渠道和 git repos。不是這樣,因為他們認為每個人一發布東西就應該升級。之所以如此,是因為開發是公開的和開源的。我可以向你保證,專有作業系統不會從生產它們的機構更新到絕對最新的核心——它們可能落後數月和數——但因為你不了解那裡的情況,你不會注意到這。

與此相關,還值得注意的是 Linux 核心開發獨立於任何發行版。嚴格來說,它們沒有一起工作,因此新核心的目的並不是專門部署在 Android、ARM 或 Debian 上。這些是獨立的實體,它們自己決定什麼和不使用什麼。他們沒有理由在早上醒來然後說:“好吧,Torvalds 先生髮布了 4.2 —— 最好繼續下去”。

這種關係的優勢的一個具體說明是,如果核心 4.2 中存在一些錯誤,則發行版 X 不會立即受到這些錯誤的影響,除非它在發佈時盲目地更新其核心。相反,發行版 X 可以等到 4.2 經過合理的現場測試;如果有問題,可以跳過,他們可以等待下一個。

大多數最終使用者也可能不希望每週更新他們的作業系統核心。發行版不會發布 3.17.1,然後是 3.17.2,然後是 3.17.3。他們可能會發布 3.17.2,然後是 3.18.5。事實上,這些版本之間的差異對大多數使用者來說可能並沒有那麼大的意義——所以除了令人惱火之外,它也毫無意義。

與 Android 設備相同的邏輯適用於路由器。

引用自:https://unix.stackexchange.com/questions/210972