Building a Bootable USB drive with UEFI Shell (x64)¶
Format your media as FAT32
Create the following directory structure in the root of the new media
/efi/boot
Download the UEFI Shell (Shell.efi) from the following link
Rename the UEFI shell file to Bootx64.efi
Copy the UEFI shell (now Bootx64.efi) to the /efi/boot directory
Installing CHIPSEC¶
Extract the contents of
__install__/UEFI/chipsec_py368_uefi_x64.zip
to the USB drive, as appropriate.This will create a /efi/Tools directory with Python.efi and /efi/StdLib with subdirectories for dependencies.
Copy the contents of CHIPSEC to the USB drive.
The contents of your drive should look like follows:
- fs0: - efi - boot - bootx64.efi (optional) - StdLib - lib - python36.8 - [lots of python files and directories] - Tools - Python.efi - chipsec - chipsec - … - chipsec_main.py - chipsec_util.py - …
Reboot to the USB drive (this will boot to UEFI shell).
You may need to enable booting from USB in BIOS setup.
You will need to disable UEFI Secure Boot to boot to the UEFI Shell.
Run CHIPSEC in UEFI Shell¶
fs0:
cd chipsec
python.efi chipsec_main.py
orpython.efi chipsec_util.py
Next follow steps in section “Basic Usage” of Running CHIPSEC
Building UEFI Python 3.6.8 (optional)¶
Start with Py368Readme.txt
Latest EDK2, visit Tianocore EDK2 Github (Make sure to update submodules)
Latest EDK2-LIBC, visit Tianocore EDK2-LIBC Github
Follow setup steps described in the
Py368Readme.txt
Make modifications as needed
CPython / C file(s):
ASM file(s):
INF file(s):
Build and directory creation steps are covered in the Py368Readme.txt
MSVS build tools are highly recommended