为什么启动时需要加载固件?

为什么启动时需要加载固件?

我见过包含 WiFi 卡固件的软件包。

另外,在 Debian 安装过程中,它要求我加载非自由固件。否则我的 WiFi 卡将无法使用。

Linux 似乎在启动时加载此固件。

但是如何在启动过程中加载固件呢?

我知道路由器和显卡有固件。但它存储在非易失性存储器(闪存)中。

那么如何才能在启动时加载固件呢?它似乎被加载到易失性存储器(RAM)中。为什么它不像其他固件那样存储在闪存中?

答案1

我想这是价格和速度的问题。
据我所知,非易失性内存通常比 RAM 更昂贵(相同大小)且速度更慢。

此外,低预算路由器通常没有安装 HDD 来加载固件,并且某些驱动程序在初始化时将固件加载到显卡中。

答案2

WiFi 卡是非常复杂的野兽(只需四处看看它是如何工作的概述,包括漫游、加密、用于媒体访问的协议等等)。有些工作是加入网络时的协商,这可以很好地在卡外处理。因此,在卡或主机上运行的软件中而不是在硬件中实现大部分功能会更便宜。考虑到这一点,以及相对频繁的变化(密码学、协议细节、国家允许的通道……),不将其烘焙到卡上的 ROM 中而是在启动时加载它是有意义的。

相关内容