【发布时间】:2015-03-29 05:32:10
【问题描述】:
是否可以在Linux 中从内核模式闪存/写入BIOS?
我一直在对此进行一些研究,但找不到明确的答案。我对内核级的东西和硬件不是很好。
据我所知,我知道某些内核设施可以询问 BIOS(请参阅dmidecode),因为 BIOS 支持某些接口。
我知道真实模式和保护模式之间的区别。但是从 Linux 切换到实模式似乎是不可能的(?)。我也知道x86 可以模拟 8088 程序,但不确定该模拟是否允许刷新 BIOS。
难道不能只在内核模式下写入某些地址来“刷新”BIOS 吗?
更新 从下面的答案和 cmets 看来答案是肯定的,具体取决于硬件平台。唯一且必要的要求是 BIOS 闪存芯片可在 IO 地址空间中寻址。你还需要软件支持fir flashing芯片,无论是内核还是用户空间。例如,我发现用户空间实用程序 flashrom 可以在似乎是一组狭窄的硬件平台上执行此操作。
【问题讨论】:
-
你可以在不同的行中提及而不是写一个段落
-
对不起,你在说什么?
-
哪个BIOS,什么平台?
-
@stdcall;任何 BIOS,x86 一般。如果它依赖于平台,哪些平台支持它,哪些不支持,如何以及为什么?
-
BIOS 不是 x86 通用的,它是特定于主板制造商的,有几个,AMIBIOS,SeaBIOS 等。
标签: linux linux-kernel