/lib/firmwareから不要なファイルを削除する

/lib/firmwareから不要なファイルを削除する

ルート パーティションのスペースを空けようとしているのですが、/lib/firmware が多くのスペースを占めています。持っていないことがわかっているデバイスのファイルがたくさんありますが、認識していないデバイスのファイルもたくさんあるので、ファームウェアが必要かどうかわかりません。

実際にロードされたファームウェア ファイルを確認する方法はありますか?

答え1

/lib/firmware正直に言うと、おそらく必要のないファイルが多数含まれている可能性があり、その一部を削除できるはずだという点には同意します。

ただし、いずれの場合でも、これは慎重に行う必要があり、ライブ USB ブートまたは同様の方法を使用して、不足しているファームウェア ファイルを元に戻す準備をしておく必要があります。

/lib/firmwareまず、5 MB を超えるフォルダーのリストを次に示します。intel( とはintel-ucode削除しないほうがよいと思われるため、削除しました)

/lib/firmware/netronome       : NIC firmware implementation for Agilio SmartNICs
/lib/firmware/amdgpu          : AMD GPU firmware
/lib/firmware/mellanox        : Mellanox Ethernet and InfiniBand NIC firmware
/lib/firmware/qcom            : Qualcomm device firmware
/lib/firmware/mrvl            : Marvell device firmware
/lib/firmware/ath11k          : Firmware for Qualcomm IEEE 802.11ax devices
/lib/firmware/i915            : Firmware for i915 Intel GFX Driver
/lib/firmware/liquidio        : NIC firmware implementation for Marvell Liquidio SmartNICs
/lib/firmware/qed             : Firmware for QLogic Everest FastLinQ Linux Driver
/lib/firmware/mediatek        : MediaTak device firmware
/lib/firmware/dpaa2           : Firmware for DPAA2 (Data Path Acceleration Architecture Gen2) 
/lib/firmware/ath10k          : Firmware for Qualcomm IEEE 802.11ac devices
/lib/firmware/brcm            : Broadcom device firmware
/lib/firmware/radeon          : Firmware for AMD Radeon GPU adapters
/lib/firmware/rtw89           : Firmware for Realtek rtw89 devices
/lib/firmware/cypress         : Cypress device firmware
/lib/firmware/ti-connectivity : Texas Instruments device firmware

sudo lshw次に、 を実行してリストを徹底的に確認することをお勧めします。特定のベンダーのハードウェアを持っていないことが100%確実な場合は、動くファームウェアフォルダを参照してください。動く最初に取り外すのではなく、そのままにしておくと、問題が発生した場合に元に戻すことができます。

たとえば、ビデオ カードが良い例だと思います。NVidia のビデオ カードしか持っていない場合は、おそらく AMD GPU ファームウェアを削除できます。その逆も同様です。同様に、ワイヤレス ネットワーク アダプタの場合、あるベンダーのアダプタを持っている場合、他のベンダーのアダプタは持っていない可能性が高くなります。

後になってハードウェアを変更することにした場合、ファームウェア ファイルの一部が突然失われる可能性があることに注意してください。そのため、(再度) 何も削除せず、別の場所に移動することをお勧めします。

sudo apt upgrade最後に、 を実行すると、 内に新しいファイルがインストールされる可能性があることに注意してください/lib/firmware。したがって、絶対に必要のないフォルダーを定期的に確認する必要があります。

これはエレガントな解決策でしょうか?いいえ。それはすごくハッキーですか?はい。ただし、ファイルを削除しても何の影響もないケースもあると私は主張します。オンボード グラフィック アダプターのみを使用して Ubuntu Server を実行している場合、AMD および Nvidia ファームウェアを削除しても問題はありません。おそらく、他にも同様のシナリオがあるでしょう。

注意して、どんな場合でもファイルを復元できるように準備しておいてください。

注: 現在、前回の再起動以降にアクセスされたファームウェア ファイルを確実に見つける方法を調査中です。これについては、数日以内に報告します...

答え2

システムに使用されているファームウェアはカーネル ログで確認できます。

grep firmware /var/log/kernel.log

最後のログローテーション以降にロードされたファームウェアのわかりやすいリストが表示されます(数日かかる場合があります)。

しかし、私がこれを最初に投稿してから、ファームウェアのほとんどは initrd によってロードされ、通常は実行内容のログファイルは生成されないことを知りました。

関連情報