> For the complete documentation index, see [llms.txt](https://open-rt.gitbook.io/open-surfacert/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://open-rt.gitbook.io/open-surfacert/common/boot-sequence/uefi.md).

# UEFI

Boot process of Tegra SoC's from Firmware to Operating System

![Original Boot Graphic from SurfaceRT](https://2395005476-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MJQb34R_xPz0ll0scbM%2F-MLgky0OwVaidO-X5XBN%2F-MLhL0vRqGSEQ6msxEZ5%2FtestOut.bmp?alt=media\&token=26153638-fd04-4bf2-b1dd-3b5f61b4c930)

UEFI Firmware is loaded by the [BootRom](/open-surfacert/common/boot-sequence/tegra-soc-boot-process.md#how-the-bootrom-works) which loads the UEFI Firmware.\
UEFI Firmware will setup hardware like Display, USB, etc.\
After hardware setup it will transfer control to `/efi/boot/bootarm.efi`\
bootarm.efi has to be signed with the Microsoft SecureBootKey (SBK)

## Notes

<https://forum.xda-developers.com/showpost.php?p=82555449&postcount=126><br>

[coherixmatts](https://forum.xda-developers.com/windows-8-rt/rt-development/wip-secure-boot-linux-surface-rt-t3653848/member.php?u=10784299) - "This has been helpful to me, as I was able to quickly test changes to the BCD file. Changing the BCD file allowed me to replace test.efi with bootshim.efi from here: \
<http://github.com/imbushuo/boot-shim/releases>

Instead of loading EFI files like test.efi, this alternative loads ELF files. That isn't necessarily so exciting, but this BootShim also unloads elements of the original SecureBoot restricted UEFI. They are using this on Lumia devices (particularly the 950XL) to load a modified version of UEFI. After that, it seems they can boot most anything."\
\
This thread also seems interesting for reference\
<https://github.com/rhboot/shim/issues/138>

## Bugs

In the Surface RT UEFI there is a bug which prevents the display from working. This is because the standard GOP (Graphical Ouput Protocol) isn't hooked up to the Surface RT's display. This was fixed in the Surface RT 2.
