SurfaceRT or RT2 is ARMv7 (ARM32 / armhf ) Cross compiling is fairly simple when using docker, but you can do it it without.
Linux: apt install docker
Mac: brew install docker; brew cask install docker;
Windows (install docker-ce from docker.com?)
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
#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