我想要将ROM中的二进制代码制作成linux中的通用文件。那么该怎么做呢。 还有ROM访问的内存地址?
可以读取ROM BIOS内容。
如果您仅需要 ROM BIOS 内容用于学习,您可以使用 BIOS 转储实用程序 - 其中有很多。
您可以检查此实用程序biosdecode
也请检查此实用程序flashrom。如果您的系统受支持,您可以通过发出
读取您的BIOS内容flashrom -r outputfile
另一个实用程序是 dmidecode
dmidecode -t bios
无需 dmidecode 即可读取内存从 C:0000 到 F:FFFF
示例命令:
dd if=/dev/mem bs=1k skip=768 count=256 2>/dev/null | strings -n 8
我将此答案作为上述答案的扩展,关于 flashrom 程序。
我尝试编辑上面的答案,添加信息(*),但网站给了我一个错误:“编辑队列目前已满 - 请在几分钟后重试!”
也请检查此实用程序 [flashrom][2]。前提是你的系统是 支持,您可以通过发出读取您的BIOS内容
flashrom -r outputfile
(*): 注意 (09/2024):
“flashrom 是一个用于识别、读取、写入、验证的实用程序 并擦除闪存芯片。它被设计为闪光 主板上的 BIOS/EFI/coreboot/firmware/optionROM 映像, 网络/图形/存储控制器卡以及各种其他 编程器设备”
--->“不要在笔记本电脑上使用 flashrom(目前)!嵌入式控制器 (EC) 许多笔记本电脑中存在的任何尝试都可能会产生不良影响 与闪存芯片通信,可能会使您的笔记本电脑变砖”