Cross Compiling

SurfaceRT or RT2 is ARMv7 (ARM32 / armhf ) Cross compiling is fairly simple when using docker, but you can do it it without.

Cross compiler quick setup (platform agnostic mac/linux/windows)

Linux: apt install docker Mac: brew install docker; brew cask install docker; Windows (install docker-ce from docker run --rm dockcross/linux-armv7:latest > dockcross-linux-armv7-latest chmod +x dockcross-linux-armv7-latest To use:
./dockcross-linux-armv7 bash -c make

Alternate option (linux debian based - amend for other package managers as needed)

#install req's for cross compiling apt install gcc-arm-linux-gnueabihf bison autoconf autopoint flex build-essential #install random libraries that grub2 seemed to need apt install liblzma5 libarchive-dev freetype2-demos libfreetype-dev fonts-dejavu grub-theme-starfield ttf-dejavu-core libdevmapper-dev libfuse-dev ttf-unifont unifont liblzma-dev #install EDK2 bits apt install acpica-tools uuid-dev nasm python-distutils #install u-boot bits apt install swig libpython3-dev