UEFI & EDKII学习

UEFI: FW和OS之间抽象的规范,标准

UEFI提供了启动环境、接口和结构的集合,压缩算法等

UEFI目标:驱动尽可能小等

驱动片控制总线和设备,提供服务。服务包括boot (OS前), RT (OS前后)

驱动片:包括PCI bus, PCI device, USB bus, USB device, SCSI等

protocol: 包括EFI load image, device path, driver model等。driver model包括服务,binding, override等

EDKII: UEFI 的一种开源实现

定义了BIOS启动流程:SEC->PEI->DXE->BDS->TSL->RT->AL

包:包括模块,dsc(平台描述文件),dec(包声明文件)

UEFI 模块:包括标准应用程序工程模块,ShellAppMain应用程序工程模块,main 应用程序工程模块,UEFI驱动模块,库模块等。工程模块:包括inf 文件,源文件,可选efi文件

标准应用程序:包括工程文件,源文件。源文件:包括C/C++文件,asm 汇编文件,可选uni字符串资源文件,vfr窗体资源文件。

uni文件:

#string STR_XXXX #language en-US "XXXX XXX XX"

                               #language xx-XX "XXX"

STR_XXXX: token,标记。 en-us: RFC4646语言代码,如en-us, zh-CN, fr-FR等。

一个setup选项用一个token 表示,但可以选择显示多种语言。

C代码中使用uni文件的定义,要在[Sources]中包含uni文件。

Unicode: 16位统一码,包含全世界字符,每个字对应一个唯一编号。

vfr 文件:窗体资源文件,有自己的语法和语句,可以很简单的画出setup页面,比如goto 会画出带右箭头的选项。显示帮助也有语法可以简单得实现。

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UEFI Shell是一种全新的操作系统环境,在现代计算机上广泛使用。相较于BIOSUEFI Shell在启动时间和性能方面都有着很大的优势。UEFI Shell有其独特的运行环境,为用户提供了一种类似于操作系统的命令行界面来控制计算机的硬件和软件。 UEFI Shell可以很好的应用于系统调试和维护工作。因为UEFI Shell能够与UEFI BIOS直接进行交互,可以读取和修改UEFI BIOS中的各种变量。这些变量包括了计算机的系统时间、启动磁盘分区信息、设备启用状态等等。所以,当系统出现问题时,可以通过UEFI Shell来获取更多的系统信息、检测硬件故障以及查找系统错误等。 同时,UEFI Shell也支持各种文件系统格式。这使得我们可以在UEFI Shell中查看和管理硬盘分区,从而进行数据备份与还原、系统安装和修复等操作。此外,UEFI Shell还支持各种基本的命令,如文件与目录操作、网络连接管理、进程控制等。这让我们可以在更高效的状态下调试和管理系统。 对于初学者来说,UEFI Shell学习并不是一件容易的事情。因为UEFI Shell的命令和语法都有一定的学习曲线,需要一定的时间和经验去掌握。但是,如果您熟练掌握了UEFI Shell的使用,不仅可以解决常见的操作问题,还可以探究计算机系统的底层运作机理。这对于系统工程师来说尤为重要。 总之,UEFI Shell作为一种新兴的操作系统环境,拥有着广泛的应用场景和巨大的优势,不管是对于初学者还是经验丰富的系统工程师来说,掌握UEFI Shell的各种技术是一个不可或缺的技能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值