Disk-Usage

我的硬體需要的最少韌體文件集是多少?

  • March 18, 2022

所以今天我得知我的發行版linux-unfree-firmware包的大小是 491 Mb。我很確定我的硬體不需要所有這些文件。因此,如果我只知道可以從那裡排除哪些文件,我認為我可以減少磁碟使用量。

是否有任何官方文件,準確說明每個設備/電腦型號需要https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/中的哪些文件?也許我的電腦硬體的官方文件會說明這一點?有一個從頭開始的 Linux 網頁,它提供了一些流行硬體的資訊,但我想知道在某處是否有更多“官方”資訊可用。

不幸的是,沒有針對每個硬體及其所需的韌體文件的“官方”文件。但是,通過對 Linux 核心建構系統稍作修改,可以準確地知道硬體需要哪些韌體文件。

此外,即使您確實發現了硬體使用的韌體文件,您最終也會得到一個不太短的文件列表,這些文件需要經常更新 - 在https的幾乎每個版本(git tag)之後: //git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/。這意味著您將無法直接從您將很快學會生成的列表中可靠地過濾掉韌體文件。

如果您仍然對此感興趣,請按照以下步驟操作:

  1. 從https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/下載最新版本的核心。
  2. 執行:make localmodconfig
  • 這將根據您目前的核心生成一個.config包含建構參數列表的文件。
  1. 執行make
  • 這將建構核心,因此可能需要一段時間。
  • 您可能需要安裝一些依賴項才能完成建構。
  • 完成後make,您將擁有一堆.ko文件,它們是核心模組文件。
  1. 執行此命令:
find -name '*.ko' -exec modinfo {} \; | awk '$1 == "firmware:" { print $2}'

最後一條命令列印出可能在您的發行版linux-unfree-firmware包中找到的韌體文件列表。這些是您的硬體需要的文件。

學分:https ://lists.kernelnewbies.org/pipermail/kernelnewbies/2020-May/020818.html

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