EDK2 Depex GUID Parser
在日常 BIOS 开发的过程中,有时出于代码管控的目的,会使用一些二进制模块。这些二进制模块可能包含 .depex 文件,如果我们想确认这个模块的依赖关系,就需要从 .depex 中找出其依赖的 GUID。然而,手动查看这些二进制数据往往比较繁琐,如果有合适的方式能自动提取出其中包含的 GUID,那样就会方便很多。 当前的方法 如果比较熟悉 edk2 DEPEX 的结构,对于二进制数量较...
在日常 BIOS 开发的过程中,有时出于代码管控的目的,会使用一些二进制模块。这些二进制模块可能包含 .depex 文件,如果我们想确认这个模块的依赖关系,就需要从 .depex 中找出其依赖的 GUID。然而,手动查看这些二进制数据往往比较繁琐,如果有合适的方式能自动提取出其中包含的 GUID,那样就会方便很多。 当前的方法 如果比较熟悉 edk2 DEPEX 的结构,对于二进制数量较...
通常我们更新 BIOS 时会在各厂商的支持网站里下载一个当前型号的可执行文件,双击运行后,完成 BIOS 的更新并重启机器。对于个人用户来说,这些步骤看起来稍显繁琐,但实际上已足够便利。 而对于每天都要不厌其烦地更新无数遍 BIOS 的工程师来说,选择可能又多了些。直接读写 Flash 的烧录工具,BIOS 内置的更新工具/接口,亦或是服务器上的 BMC。 但是,烧录工具想要方便使用,需...
上一篇文章 浏览器中的 UEFI 体验 – QEMU Wasm 有提到我们在测试 QEMU UEFI 环境时使用了一个 test.iso,那么如何来制作这样一个 iso 镜像呢? 0x00 准备工作 工具安装: Linux系统:安装 dosfstools(用于创建 FAT 文件系统)和 genisoimage(用于生成 ISO)。...
UEFIer 除了乐于移植各种有趣的东西到 UEFI 环境下,应该也总想着让 UEFI 跑在各式各样的硬件/环境中。而 Web Developer 似乎也总期望能让更多的软件在浏览器里运行。如果 UEFI 和 Web 发生碰撞,那么他们俩会擦出怎样的火花呢? 自 WebAssembly(Wasm)问世并被认证为 Web 的标准之一以来,浏览器中能做的事情似乎变得更五花八门了。如果只是想要在...
随着苹果从 X86 转向自家 ARM 芯片并取得成功,高通和微软也开始在 WoA(Windows on ARM)上面发力。 不过微软并不能像苹果一样大刀阔斧迈向 ARM 世界,所以 WoA 亦无法像苹果一样号令全球的软硬件厂商来做 ARM 的原生适配。 那么,在 WoA 世界里,有哪些“坑”在等着我们呢? 即便 WoA 也有着如同苹果 Rosetta 的转译层 Prism/WOW64,但是...
在开源社区中,代码的质量和一致性至关重要。随着项目的不断发展,开发者们需要不断地审查和修复代码中的问题,以确保软件的稳定性和可靠性。本文将分享我在处理 EDK2 和 U-Boot 之间的一个具体问题时的思考过程和解决过程。 0x00 起因 最近,tianocore/edk2 社区在经历了从 email patch 转向 GitHub PR 进行代码审查后,也将 Bug 管理系统从 Bug...
使用 VSCODE+clangd 实现 EDK2 代码的导航/跳转 “工欲善其事,必先利其器”,阅读代码亦是如此。对于开发人员来说,Editor/IDE 便是“器”中之一。 相较于稍显“传统”的 Source Insight,很多 UEFI 开发者现在可能更倾向于使用 VSCODE 来查看 EDK2 代码,并且通常会依赖 Microsoft 官方的 C/C++插件(vscode-cppt...