2.2. 需要固件的设备

除了需要设备驱动程序,有些硬件还要在使用之前加载 固件(firmware)微码(microcode)。这对于网卡(特别是无线网卡)来说很常见,但有些 USB 设备甚至是硬盘控制器也需要加载固件。

对于很多显卡来说,基本的功能不需要安装额外固件就可以使用,但是使用高级功能需要系统中安装有合适的固件。

有些老的设备需要固件才能工作,这些固件被厂商永久性地置于设备的 EEPROM/Flash 芯片中。现今新设备不再采用这种方式嵌入固件,因此固件必须在系统引导的时候从宿主系统上传到设备中。

根据 Debian GNU/Linux 项目的标准,大多数情况下这些固件属于 non-free,不能被包含在主发行版里面。如果设备驱动程序被包含到发行版里面,并且 Debian GNU/Linux 可以合法地发布固件,它通常被单独地放置在仓库的 non-free-firmware 区(在 Debian GNU/Linux 12.0 之前为 non-free 区)里面。

不过,这并不意味着在安装过程中不能使用这些硬件。根据 2022 年关于非自由固件的一般性决议,从 Debian GNU/Linux 12.0 开始,官方安装映像中可以包含非自由固件软件包。默认情况下,debian-installer 将会检测必需的固件(根据内核日志和 modalias 信息),如果在安装介质(例如网络安装映像)中找到了相关的软件包,则会安装对应的软件包。软件包管理器也将自动配置为启用对应的分区,以使这些软件包能够获得安全更新。这通常意味着 non-free-firmware 分区将和 main 分区一起被启用。

需要完全禁用固件查找的用户可以设置 firmware=never 引导参数来禁用。这是更冗长的 hw-detect/firmware-lookup=never 的别名。

除非完全禁用了固件查找,debian-installer 仍然支持从可移动的介质,比如 U 盘,加载固件或包含固件的软件包。参阅第 6.4 节 “加载缺失的固件”了解如何在安装时加载固件文件或软件包的的详细信息。注意,因为安装映像可以包含非自由固件软件包了,所以 debian-installer 提醒您加载固件文件的几率会降低。

假如 debian-installer 提示需要固件文件而您又没有该固件,或者不想装非自由的固件到系统上,您可以试着跳过固件加载。有些情况下驱动程序只是在特定情况下提示需要额外的固件,而这个设备在很多系统上可以不使用它就能工作(这通常出现在使用 tg3 驱动的网卡上)。