我需要关闭哪些软件或驱动程序才能使用“flashrom”?

我需要关闭哪些软件或驱动程序才能使用“flashrom”?

我已经把自己逼到了一个角落,因为我正在构建一个新系统。当前的 BIOS 已完全损坏(如果您在 POST 期间输入设置,它会在绘制一半屏幕后锁定,如果系统中存在任何 EUFI 设备,则会锁定等)。我能够使用 GRUB cdrom 启动到半功能性 Linux 环境。

研究刷新此 BIOS 的替代方法,我提出的一个选择是基于 Linux 的实用程序闪存

我能够运行该flashrom实用程序,它会找到我需要写入的芯片组和内存空间。然而,当我尝试读取或写入(-r/ -wargs)时,我收到一条消息,提示该实用程序无法从芯片读取

找到芯片组“AMD SB7x0/SB8x9/SB9x0”。启用闪存写入...好的。
在物理地址 0xff800000 处找到 Winbod 闪存芯片“W25Q64.V(8192 kB,SPI)。
读取旧闪存芯片内容... FIFIO 指针损坏!指针为 0,需要 3
其他东西正在访问肉体芯片并导致随机损坏。
请停止所有访问闪存芯片的应用程序和驱动程序以及 IPMI

我一直无法找到哪些软件、驱动程序、内核模块或其他恶魔打开了设备。我需要关闭什么或者如何找到罪魁祸首?

答案1

这里有一些值得尝试的事情。首先我在 flashrom 网站上找到了这个页面,名为:散记。那里可能有什么可以帮忙的。

另外,除了使用 flashrom,您也许可以使用这些替代 BIOS 之一来代替?

第二个链接是 LinuxBIOS 项目的新名称。

摘抄

coreboot 是一个自由软件项目,旨在替换大多数计算机中的专有 BIOS(固件)。 coreboot 执行一些硬件初始化,然后执行额外的引导逻辑,称为有效负载。

通过硬件初始化和后续启动逻辑的分离,coreboot 可以从直接从固件运行的专用应用程序进行扩展、在闪存中运行操作系统、加载自定义引导加载程序或实现固件标准(例如 PC BIOS 服务或 UEFI)。这允许系统仅包含目标应用程序所需的功能,从而减少所需的代码量和闪存空间。

coreboot 目前支持超过 230 种不同的主板。检查支持页面以查看您的系统是否受支持。

也许您使用这些替代方案之一会有更好的运气?

其他发现

我发现了这个 Phoronix 论坛帖子,标题为:主题:使用 Linux 更新 Bios 或 UEFI。在此线程中提出并回答了问题:

问:新主板上仅使用Linux更新Bios或UEFI的可能性如何?是否可以?程序简单吗?

答案是:

答:来自 coreboot 的 flashrom,不,通常不能在新主板上工作。

该评论是 2011 年的,所以情况可能已经改变。

参考

答案2

即使与许多slm 的好建议和其他人一样,我从未能够从系统上刷新此 BIOS。最后我拆下了芯片并使用外部闪存闪存在一个树莓派自制 EEPROM 附件。让系统恢复到完全工作状态后,我现在可以使用与我最初的问题失败的相同过程在内部对其进行刷新。

换句话说,问题出在错误消息所报告的内容上。问题是 BIOS 太糟糕了,尽管启动了 Linux,但系统仍无法按照规范运行。

答案3

这(很可能)是 flashrom 中的一个错误,或者更确切地说是 AMD 的意外更改。应与 flashrom 0.9.8 及更高版本 IIRC 配合使用。询问 flashrom 的正确支持渠道(IRC 或邮件列表)会比 3 年内更快地得到答复;)

相关内容