Ubuntu

考慮到它們使用相同的核心,兩個不同的 Linux 發行版是否會支持相同的設備驅動程序?

  • June 10, 2020

我偶然發現了這個據稱提供專有 WiFi 驅動程序的英特爾網頁。我目前使用的是 Ubuntu 20.04。

在此處輸入圖像描述

不保留特定於這些設備驅動程序的問題(希望它仍然可以回答問題)我的問題是 -

如果設備驅動程序基於相同的核心(比如 5.2),是否可以在任何 Linux 發行版(如 Ubuntu 和 CentOS)上安裝設備驅動程序?

當然,我假設 Kernel 版本滿足頁面給出的版本要求。

我不確定答案的原因是我知道許多軟體是為特定的 Linux 發行版開發的,甚至是單獨發布的,可以通過它們的包管理器安裝。在設備驅動程序的情況下,系統不是相似的嗎?

PS:頁面連結。

那些不是司機

它們是WiFi 晶片本身的韌體包。WiFi 晶片通常沒有用於韌體的持久快閃記憶體,因此驅動程序(在這種情況下,iwlwifi基本上是所有現代英特爾 WiFi 晶片的開源驅動程序)需要正確的晶片型號特定韌體文件才能載入到晶片作為初始化晶片的一部分以供使用。

通常核心根本不需要了解韌體文件的內容;它只需要以適當的方式將文件的內容填充到相關硬體中。

這些韌體文件可以安裝在任何 Linux 發行版上:它們通常進入/lib/firmware/. 但是實際的驅動程序需要是一個足夠新的版本才能知道如何與晶片實際通信才能使用它們:網頁記錄了核心版本,此時對特定 WiFi 晶片的支持被添加到驅動程序中。 “主線”Linux 核心。

因此,核心版本等於或高於為特定 WiFi 晶片指定的級別的任何 Linux 發行版基本上都可以保證支持該晶片。

但是,有時某些發行版(尤其是“企業”或長期支持發行版)使用較舊的核心,但會將較新版本的驅動程序向後移植到其中*。*在這種情況下,您可能會發現該發行版支持某些硬體,即使根據此列表,它的核心版本似乎還不夠新。

有時,如果所討論的硬體足夠流行/足夠重要,其他人會為舊核心生產更新驅動程序的 PPA,或者以其他方式生產或多或少易於安裝的附加或升級驅動程序。

第三方驅動程序與核心版本的兼容性可能更複雜:對於特定核心版本,驅動程序可能太舊(例如,它試圖做一些需要與較新核心稍有不同的事情),或者太新(例如它依賴於在特定核心版本中實現的核心功能,並且不能與更早的核心一起使用)。

例如,嘗試使用在實施主要 Spectre/Meltdown 變通辦法之前編譯的驅動程序模組和在其**之後編譯的核心,反之亦然,可能很容易導致系統掛起或崩潰。

以原始碼格式提供且必須針對您的特定核心版本進行編譯的驅動程序可能比以預編譯形式提供的驅動程序更靈活,但兩者都可能在兩個方向上都有版本兼容性限制。

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