#author("2022-04-27T13:03:58+00:00","","")
#author("2022-04-28T12:42:17+00:00","","")
[[diary/Kojima]]

・Linux firmware

最近、周辺機器用のfirmwareはカーネルとは分離して linux_firmwareパッケージで入れているものの、/lib/firmware/ 以下の各種firmwareは 848MB と結構な規模になる。
最近、周辺機器用のfirmwareはカーネルとは独立したlinux_firmwareパッケージで配布されている。/lib/firmware/ 以下のfirmwareは一つ一つは小さいものの、全部合わせると848MBと結構な規模になる。

848MB というと、HDD上では微々たるものなんだけど、インストーラのようにシステム一式をinitramfsに載せる場合、圧縮した状態で200MBくらいなので、firmwareを入れるとかなり厳しい。
最近の大容量なHDDから見ると「848MB」は微々たるものなんだけど、インストーラのようにシステム一式をinitramfsに載せる場合、圧縮した状態で200MBくらいに抑えているのでfirmwareを全部入れるのは難しい。

firmwareの多くは、無線LANとかGPU、サウンドカード用なので、インストールの際にはあまり必要ないか、と持って省いていたんだけど、手元のGPU組み込みなRyzen5(AMD Ryzen 5 3400G with Radeon Vega Graphics)だと、/lib/firmware/amdgpu/ 以下の firmware が無いと正しく初期化できないようで、KMSが機能し始めたあたりで動作不能に陥いる(KMSな画面に切り替わらない)。
  起動時に、カーネルと共にinitramfsイメージも読み込むのだけど、そこで結構時間がかかっているので、あまりinitramfsを大きくしたくない。

インストーラに /lib/firmware/amdgpu/ 以下を持ちこんで作ったインストーラだと、無事実機でもインストールできたんだけど、他にも必須もfirmwareがあるんだろうなぁ。。とりあえず intel と nvidia なfirmware はインストーラに持ち込んでおくかな。
firmwareの多くは無線LANとかGPU、サウンドカード用なので、インストールの際にはあまり必要ないか、と思って省いていたものの、手元のGPU組み込みなRyzen5(AMD Ryzen 5 3400G with Radeon Vega Graphics)で試したところ、/lib/firmware/amdgpu/ 以下の firmware が無いと正しく初期化できないようで、KMSが機能し始めたあたりで動作不能に陥いる(KMSな画面に切り替わらない)。

  もちろん、VirtualBoxとかではfirmwareが無くても問題なく表示できるし、VESAなVGAモードを表示するだけならfirmwareは必要なかろう、
  と思ってたんだけど、KMSが絡むとそういうわけにもいかないらしい。

仕方ないんで、インストーラに /lib/firmware/amdgpu/ 以下を持ちこんでみると、KMSも無事動作して、実機インストールもできたんだけど、他にも必須もfirmwareがあるんだろうなぁ。。とりあえず intel と nvidia なfirmware はインストーラに持ち込んでおくべきかな。
- 結局のところ、今のlinux-firmwareは、各社のfirmwareを集めただけで、どのfirmwareがどこの何用か、という情報が無いから、どこまでがインストーラでも必要になるかを見極められないんだよなぁ。。 -- [[kojima]] &new{2022-04-28 (木) 21:23:35};

#comment


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS