构建EDK2 UEFI shell之Shell.efi

发布时间 2023-12-07 19:30:39作者: 闹闹爸爸

如何搭建EDK2开发环境以及编译UEFI程序,请参考:ubuntu20.04下搭建EDK2开发环境 。

编译EDK2 UEFI shell程序:

cd edk2
export WORKSPACE=$PWD
export EDK_TOOLS_PATH="$PWD/edk2/BaseTools"
export PACKAGES_PATH="$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi"
. edk2/edksetup.sh
build -a X64 -t GCC5 -p ShellPkg/ShellPkg.dsc 

编译完成后,在Build/Shell/DEBUG_GCC5/X64/ShellPkg/Application/Shell/Shell/OUTPUT/目录下会生成Shell.efi。

如果想通过U盘启动进入UEFI shell,自动执行某些命令,可以更改Shell源码,位于:ShellPkg/Application/Shell/,更改完成后重新编译生成Shell.efi。

自动执行UEFI shell的U盘制作步骤:

  1. 找一个U盘,格式化成FAT32,然后在U盘根目录下建立/efi/boot目录。
  2. 把Shell.efi改名成BOOTX64.efi,然后把BOOTX64.efi拷贝到U盘/efi/boot/目录下。
  3. U盘插入电脑,开机后按F10(不同厂商电脑可能有所不同)进入UEFI menu选择页面,选择从U盘启动。

然后就会自动进入UEFI Shell,然后执行你在Shell.efi里所加的操作。