问题标签 [efi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
578 浏览

memory-management - 在 efi 应用程序中分配物理地址 >4GB 的内存?

我想知道是否可以在 efi 应用程序中分配“物理地址”超过 4GB 的内存缓冲区?

前任。PC 上安装了 6GB DRAM,efi 应用程序分配了 4KB 缓冲区,其物理内存地址为 0x100000000(=4GB)

可以吗?

0 投票
1 回答
1869 浏览

driver - Access SATA drive via AHCI directly in efi shell?

If we want to access(read/write) SATA drive via AHCI in EFI shell, is there any read/write interface used for this purpose ?

That is, does EFI shell application need to implement the AHCI spec to access drive ? (build command, issue command and process the command completion...)

Or application just calls specific "read/write" interfaces(like SCSI_PATH_THROUGH in Windows) and the "EFI ahci driver" converts these to low-level access routines ?

0 投票
1 回答
1099 浏览

uefi - 嵌入式系统的靶心覆盖 - 不是一个占用空间小的数据文件

我正在为 EFI (EDK II) 系统使用 Bullseye 运行数周。我终于链接了所有内容,编译了代码,一切似乎都可以正常工作(我使用 Bullseye 嵌入式系统教程和这个主题:Bullseye for EDK Based Application)。

我运行测试并收到 Bullseye COV 文件的符号。根据第二个链接:

输出数据可以重定向到一个文件(使用 EDK2 shell 中的 > 指令),然后由 covpost 处理以合并到构建过程中创建的 cov 文件中。

我将此输出重定向到文件,但是在尝试合并到 COV 文件时,我收到以下消息:

版权所有 (c) Bullseye 测试技术 1990-2014

例外:be_test:不是一个占用空间小的数据文件

一些想法?

谢谢。

0 投票
0 回答
592 浏览

macos - 无法在 OS X Yosemite 上构建 Tianocore

我正在尝试在 OS X Yosemite 上构建 EFI 开发工具包 (EDK2)。我有最新的开发工具。我完全按照此处所述的说明进行操作,直到构建UnixPkg. 然后我尝试EmulatorPkg按照文档的建议构建;我确实必须nasm通过 Homebrew 安装才能通过错误消息支持 Apple 的发货nasm不支持所需格式。

现在,它克服了关于 的错误nasm,但构建失败并出现以下错误:

我需要安装gcc吗?如果有,是什么版本?运行 Xcode 6.1 和 Apple clang 6.0(基于 LLVM 3.5svn)

0 投票
6 回答
17193 浏览

firmware - UEFI“应用程序”实际用于哪些类型的事情?

我对 PC 固件编程很感兴趣,并且正在研究 UEFI 规范。令我惊讶的是,它似乎是嵌入在固件中的整个操作系统的规范。您甚至可以编写直接使用 UEFI 引导服务运行的 UEFI“应用程序”,而无需任何其他操作系统。

我发现博客文章展示了如何创建“你好,世界!” 可以在 UEFI 预引导环境中运行的应用程序。这……很有趣,同时也很奇怪。我将在常规操作系统上运行我的“Hello, world”程序,谢谢。

UEFI 应用程序实际上适合什么样的用例?花哨的启动配置屏幕?是否有任何“真正的”商用 PC 固件使用 UEFI 应用程序来实现不仅仅是引导加载程序和引导配置实用程序?

0 投票
2 回答
1029 浏览

operating-system - 错误 9090:Xen 4.2 与 Centos 6.6 但 Ubuntu/Xen 在相同的硬件上工作正常

使用当前 Centos 6.6 x86_64 安装中的 DVD1,我可以在具有 20GB 闪存和 4GB RAM 的英特尔 NUC 计算机上成功安装 Centos 6.6 最小版。内核为 2.6.32-504.el6.x86_64。Xen4CentOS 无法启动,但在同一系统上加载 Ubuntu/Xen 可以正常工作,因此它不是硬件(在两个相同的硬件设备上测试,结果相同)。

在安装http://wiki.xenproject.org/wiki/Xen4CentOS作为我的之后,我无法让 Xen4CentOS 安装 (xen-4.2.5-37.el6) 为内核 3.10.56.11-el6.centos.alt.X86_64 工作参考。关于重新启动时出现“9090”错误的零星问题,但没有人坚定地提出问题或提供足够的信息来说明他们如何在超过 2-3 行文本中得到错误,我发现这些不足以重现问题. (谦虚地要求您注意不要通过在 9090 上进行快速搜索来标记此内容或之前讨论过的内容,我已经为此花了一天时间,并且可以使用一些提示)

我遵循的步骤是:

说明这些指令不适用于我的硬件的第一个迹象是“这应该会在 /boot/grub/grub.conf 中生成一个条目,类似于:”。Centos 6.6 上的 Grub 不会将配置文件放在我架构上的那个目录中,但是它将它放在 /boot/efi/EFI/redhat/grub.conf 中,并在 /etc/grub.conf 中放置一个符号链接。

这是grub文件:

以下是系统挂载:

我查看了 grub 文件,即 grub-bootxen.sh bash 脚本。重复安装会重现相同的结果。我很感谢那里的任何人,他们可能对如何克服这个问题有所暗示,或者有一些我可能会检查的东西......

0 投票
2 回答
2708 浏览

linux - 在 Apple 的 EFI 环境中将内核参数传递给 EFI-Stub

大家好。我正在尝试尽可能缩短 iMac 双启动 OS-X 和 Ubuntu 的启动过程。到目前为止,我设法通过 Apple 的 EFI 引导管理器直接引导 grub(以及之后的 Ubuntu)。我通过伪装(通过硬链接、别名、文件夹树等)grub 二进制文件来实现这一点,就像 Apple 的固件所期望的那样来引导 OsX 本身。(例子:

)
现在我正在尝试更进一步,即消除 GRUB。我知道现代 Linux 发行版确实在内核中包含 EFI 存根,因此原则上,可以直接引导到内核(通过 EFI/UEFI 固件),而不需要(辅助)引导管理器,例如 GRUB2 , 例如。(像这样:

) Apple 的问题在于它的“特殊”EFI 实现。为了让 Linux 内核的 EFI 存根工作,必须能够将参数传递给它(根路径、初始 ram 磁盘等)。这很容易使用辅助引导管理器(GRUB、rEFInd、ELILO 等)完成。他们确实将命令行字符串传递给 EFI 二进制文件),但这正是我想要绕过的。有没有办法将参数传递给由 Apple 的 EFI 固件加载的任意 EFI 二进制文件?(我已经尝试使用 com.apple.Boot.plist 但无济于事。)或者,有没有办法在引导过程中在没有命令行的情况下将参数传递给 linux 内核(可能通过一些文本文件)?

0 投票
1 回答
310 浏览

io - 有没有办法在 UEFI 中模拟 I/O 设备?

有没有办法在操作系统后面运行的 UEFI 运行时驱动程序中模拟 I/O 设备(例如超级 IO 控制器)?

0 投票
1 回答
699 浏览

c++ - 如何将 EDK II 库静态链接到 Visual Studio 2008 工具链中的应用程序

我在包中有 EDK II 应用程序和库,当我使用库源代码编译它时它工作正常。现在我想删除库源代码并通过 .lib 文件将该库与应用程序链接。

我从我的应用程序项目中删除了库源代码引用,现在我在构建此应用程序时收到此消息:

为了解决这个问题,他们在 DSC 文档中提到我需要将库实例添加到 make 文件中,如下所示:

问题是如何将此条目添加到 make 文件/EDK II 构建系统中?

我使用 VS2008 作为我的工具链。

0 投票
1 回答
5605 浏览

linux - 如何从 UEFI 中删除 Ubuntu 条目

我的 UEFI 启动值有问题。过去我安装了 Ubuntu 14.10 LTS 作为双引导系统。它工作正常,直到我决定删除它。我删除了 Ubuntu 分区并将它们与我的 Windows 分区合并。一切正常,除了当我检查 BIOS 中的启动菜单时,考虑到 Ubuntu 仍然有一个价值。

http://i.imgur.com/xo9tF82.jpg

我遵循了本指南:https ://askubuntu.com/questions/63610/how-do-i-remove-ubuntu-in-the-bios-boot-menu-uefi但价值仍然存在。有没有办法在不丢失指向我的 Windwows 系统的值的情况下完全删除它。

我的笔记本电脑是联想 G50-70

先感谢您!