开工须知

1. 无需在系统Path中添加任何东西,conf 文件会自动计算路径,当然,将 VC 的bin目录添加到path可以方便VScode调用这些工具,就像调用其他的普通编译器工具(gcc clang)一样.

2. 环境变量书写一定要规范,对于路径一定要以\结尾,对于文件不要以\结尾.

3. 不要认为工具必须安装在某路径,要相信维护edk2这种计算机基础配件的人不是大傻逼,它不会把所有配置写死,你定义的各种环境变量会告诉conf文件正确的文件位置,但是有一个例外,tools_def中由于有多种工具链,对于ASL 就分为微软家的和intel家的,我给你的安装包中的是英特尔家的,默认情况下,tools_def 中自动生成ASL的两种注释,我们只需要取消并且修改 iasl.exe 对应的那个记录就可以了,不要修改asl.exe的那一个,修改也行但是不要取消注释.

具体步骤

  1. 解压EDK2环境至任意目录

  2. 安装clang编译器 并且设置 "LLVM\bin\" 目录为环境变量CLANG_BIN 的值

  3. 安装CYGWIN_HOME,下载gcc-core/gcc-g++,然后设置 "CYGWIN安装目录" 为环境变量CYGWIN_HOME的值

  4. 安装 nasm 汇编语言编译器,并且设置 "nasm安装目录" 为环境变量NASM_PREFIX的值

  5. 解压 iasl 压缩包到指定文件夹,并且设置 "解压目录" 为环境变量 IASL_PREFIX的值

  6. 安装Python 使用where python 找到python.exe所在目录,然后将该目录作为环境变量 PYTHON_HOME 的值

  7. 右键VS选择 "打开文件所在位置" 然后找到 形如"Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.43.34808\"的目录,并且将完整路径设置为环境变量 VS2022_PREFIX 的值.

  8. 打开edk2 项目目录,然后运行 "edksetup.bat Reconfig"该命令会在 Conf目录生成 tools_def.txt , build_rule.txt和 target.txt.

  9. 现在可以打开刚才生成的tools_def.txt 在这里定义了我们要使用的工具,我们需要使用ACPI (高级配置和电源接口) ,而且是英特尔家的,但是适用于AMD平台.因此我们需要:

    #修改后
       __*_ASL_FAMILY                  = AMD  # 如果是英特尔平台就写INTEL
    #
       __*_ASL_PATH                     = C:\Compiler\IASL\iasl.exe  # 替换为自己的安装路径
    #修改前
    # __*_ASL_FAMILY                  = INTEL
    #
    # __*_ASL_PATH                     = C:\ASL\iasl.exe将其更改为
  1. build_rule.txt无需进行任何修改,但是target.txt 中仍然需要进行某些配置:

    #修改目标架构至X64,我们运行在X64机器上.
    TARGET_ARCH            X64  
    
    #多线程编译,速度更快,默认为单线程,编译速度较慢,可以修改为1 - CPU核心数之间的任意值. 
    MAX_CONCURRENT_THREAD_NUMBER  4  
    
    #RELEASE DEBUG 随你,不是很关键,但是发行版比调试版进行了更多的优化.
    TARGET                = RELEASE    

最后效果

#C语言编译器
CLANG_BIN                         C:\Compiler\LLVM\bin\
CYGWIN_HOME                       C:\Compiler\CYGWIN\

#汇编语言编译器
NASM_PREFIX                       C:\Compiler\NASM\

#ACPI (高级配置和电源接口) 编译器 
IASL_PREFIX                       C:\Compiler\IASL\

#python 
PYTHON_HOME                       C:\Users\Administrator\AppData\Local\Programs\Python\Python313\

#VS2022
VS2022_PREFIX                     C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.43.34808\

下载地址

我之前将软件环境进行了打包,这里我直接放链接,之前部署Halo的时候,也就是刚开始那一段时间没有超链接插件,直接嵌入链接有点影响美观,所以我就没有放进去,今天乘着大修博客的时间,放一个链接: