我正在尝试从 U 盘在我的 mac mini 上安装 arch linux。但我一开始就卡住了:
[ 9.138816] b43 ssb0:0: Direct firmware load for b43/ucode15.fw failed with error -2
[ 9.138900] b43 ssb0:0: Direct firmware load for b43/ucode15.fw failed with error -2
[ 9.138959] b43 ssb0:0: Direct firmware load for b43-open/ucode15.fw failed with error -2
[ 9.139003] b43 ssb0:0: Direct firmware load for b43-open/ucode15.fw failed with error -2
[ 9.139349] b43-phy0 ERROR: You must go to http://wireless.kernel.org/en/users/Dri … cefirmware and download the correct firmware for this driver version. Please carefully read all instructions on this website.
我用谷歌搜索有关固件和驱动程序的信息。我的理解是固件是只读存储器中产品附带的一些软件(产品上的某些地方已经烧录了此固件)
为什么此错误消息告诉我下载正确的固件?
固件可以改吗?
即使固件与驱动不匹配,不是应该下载固件的驱动吗??
我完全困惑了,在我看来,固件已经在产品上了,如果有什么问题,应该是驱动程序的问题。
有人可以帮我澄清一下吗?
是的,固件可以更改,但并不总是在 ROM 中。它们通常由内核模块使用(在模块安装时)。
在 Debian Linux 上,我安装了诸如
firmware-linux-nonfree
之类的软件包以及许多其他软件包,例如firmware-realtek
(适用于我的桌面)。您需要找到与您的硬件相关的固件包。
固件是处理硬件组件编程/功能的低级软件。而驱动程序是硬件组件和操作系统之间的桥梁,操作系统可以在其中与硬件进行通信。驱动程序公开了操作系统可以使用硬件执行的一些功能 API。
在您的情况下,由于您的 Linux 有一个较新版本的驱动程序,无法匹配固件版本,因此它会抱怨安装较新的固件。
顺便说一句,固件不需要硬烧在硬件上,它可以根据硬件重新编程。它们中的大多数都支持 EEPROM/Flash,对于软件来说,有些设备现在运行整个 Linux 内核。