YangGangUEFI

EDK2 Depex GUID Parser

在日常 BIOS 开发的过程中,有时出于代码管控的目的,会使用一些二进制模块。这些二进制模块可能包含 .depex 文件,如果我们想确认这个模块的依赖关系,就需要从 .depex 中找出其依赖的 GUID。然而,手动查看这些二进制数据往往比较繁琐,如果有合适的方式能自动提取出其中包含的 GUID,那样就会方便很多。 当前的方法 如果比较熟悉 edk2 DEPEX 的结构,对于二进制数量较...

让 BIOS 更新更优雅一些 -- "UEFI OTA"

通常我们更新 BIOS 时会在各厂商的支持网站里下载一个当前型号的可执行文件,双击运行后,完成 BIOS 的更新并重启机器。对于个人用户来说,这些步骤看起来稍显繁琐,但实际上已足够便利。 而对于每天都要不厌其烦地更新无数遍 BIOS 的工程师来说,选择可能又多了些。直接读写 Flash 的烧录工具,BIOS 内置的更新工具/接口,亦或是服务器上的 BMC。 但是,烧录工具想要方便使用,需...

浏览器中的 UEFI 体验 -- QEMU Wasm

UEFIer 除了乐于移植各种有趣的东西到 UEFI 环境下,应该也总想着让 UEFI 跑在各式各样的硬件/环境中。而 Web Developer 似乎也总期望能让更多的软件在浏览器里运行。如果 UEFI 和 Web 发生碰撞,那么他们俩会擦出怎样的火花呢? 自 WebAssembly(Wasm)问世并被认证为 Web 的标准之一以来,浏览器中能做的事情似乎变得更五花八门了。如果只是想要在...

ARM PC(WoA) 的“坑”之打印机驱动

随着苹果从 X86 转向自家 ARM 芯片并取得成功,高通和微软也开始在 WoA(Windows on ARM)上面发力。 不过微软并不能像苹果一样大刀阔斧迈向 ARM 世界,所以 WoA 亦无法像苹果一样号令全球的软硬件厂商来做 ARM 的原生适配。 那么,在 WoA 世界里,有哪些“坑”在等着我们呢? 即便 WoA 也有着如同苹果 Rosetta 的转译层 Prism/WOW64,但是...

一次横跨 EDK2 和 U-Boot 的问题排查

在开源社区中,代码的质量和一致性至关重要。随着项目的不断发展,开发者们需要不断地审查和修复代码中的问题,以确保软件的稳定性和可靠性。本文将分享我在处理 EDK2 和 U-Boot 之间的一个具体问题时的思考过程和解决过程。 0x00 起因 最近,tianocore/edk2 社区在经历了从 email patch 转向 GitHub PR 进行代码审查后,也将 Bug 管理系统从 Bug...