# Install Raspberry Pi OS on the Microsoft Surface RT Tablet

## Disclaimer

> This process will overwrite the current Windows 8 RT operating system on the Surface RT tablet. I have tested these steps on my own device (as shown in this video), but I am not responsible if you damage or brick your device. Verify this process will work on your device before starting and make sure to backup any data you do not want to lose before proceeding.

## Things You Will Need

- A USB flash drive, at least 8 GB https://amzn.to/3wkR5ju | https://amzn.to/3qkrJ1p | https://amzn.to/3Nhu9b9
- A USB hub
- A USB keyboard

## Disabling Secure Boot

NOTE: If you run into issues or errors disabling secure boot, see the troubleshooting steps https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb#troubleshooting

1. Insert the USB flash drive into a PC
2. Download the Surface RT jailbreak files Download
3. Format the USB flash drive to FAT32

   ⚠ NOTE: This will delete all files on the drive. Make sure to backup any important files before continuing

   1. Right Click Start > File Explorer
   2. Right Click the USB flash drive > Format...
   3. Select FAT32 from the File System dropdown
   4. Name the drive EFI
   5. Make sure Quick Format is checked
   6. Click Start
4. Extract the downloaded Surface RT jailbreak .zip file to the root of the USB flash drive
5. Safely remove the USB flash drive
6. Power off the Surface RT tablet if it is not already
7. Using the USB hub, connect the USB keyboard and the prepared USB flash drive to the Surface RT tablet
8. Hold Vol- and press the power button, releasing the Vol- when Surface logo appears
9. Select Install Golden Keys > Press Enter
10. Select Accept and Install > Press Enter
11. After the Golden Keys install completes, the tablet will reboot
12. Power off the Surface RT tablet
13. Hold Vol- and press the power button, releasing the Vol- when Surface logo appears
14. Select Install Yahallo > Press Enter
15. After the Yahallo install completes, the tablet will reboot
16. Power off the Surface RT tablet

## Preparing Raspberry Pi OS

1. Insert the USB flash drive into a PC
2. Download Raspberry Pi OS Download
3. Download Balena Etcher Download
4. Download the latest Surface RT zImage, device tree (.dtb) and kernel modules Download
5. Download the EFI boot files Download
6. Extract the downloaded EFI .zip archive
7. Run Balena Etcher
8. Write the Raspberry Pi OS image to USB flash drive
9. Once the write completes, open the readable partition on the USB flash drive
10. From the previous downloads, copy the EFI folder, startup.nsh, zImage and the device tree (.dtb) file to the readable partition on the USB flash drive
11. Open startup.nsh in a text editor
12. Replace the contents of the file with the following

    fs0:
    zImage dtb=tegra30-microsoft-surface-rt-efi.dtb root=/dev/sda2 rootwait console=tty0 cpuidle.off=1
    # shutdown if something went wrong
    reset -s

13. Save the changes to startup.nsh and close the editor
14. Safely remove the USB flash drive
15. Power off the Surface RT tablet if it is not already
16. Using the USB hub, connect the USB keyboard and the prepared USB flash drive to the Surface RT tablet
17. Hold Vol- and press the power button, releasing the Vol- when Surface logo appears
18. Raspberry Pi OS should boot from the USB flash drive
19. In Raspberry Pi OS, launch the file manager
20. Navigate to /boot > Copy the sRT-modules- .tar.xz file to the current user's home directory
21. Extract the sRT-modules- .tar.xz inside the user's home directory
22. Copy the contents of the extracted folder to the corresponding location in the root Linux directory
23. Reboot the Surface RT tablet
24. At this point, you can continue running Raspberry Pi OS from the flash drive, or install it to the internal eMMC storage, replacing the stock Windows 8 RT operating system

## Installing Raspberry Pi OS to eMMC Internal Storage

🚨 WARNING: Continuing beyond this point will format the storage on the Surface RT tablet and all files and the Windows 8 RT operating system will be lost

1. While running Raspberry Pi OS from the USB flash drive, click the Applications menu > Accessories > SD Card Copier
2. Select the USB flash drive as the Copy From Device
3. Select the internal eMMC as the Copy To Device
4. Check the New Partition UUIDs box > Click Start
5. Wait while the OS files are copied
6. Open file manager and select boot in the left navigation
7. Edit startup.nsh in text editor
8. Replace the root=/dev/sda2 with root=/dev/mmcblk0p2
9. Save the changes to startup.nsh and shutdown the tablet
10. After the tablet shuts down, remove the USB flash drive and power it back on normally
11. Raspberry Pi OS should boot from the internal eMMC storage
12. Launch a terminal and run the following command
    # launch raspi config
    sudo raspi-config
13. In raspi-config, select Advanced Options > Expand Filesystem
14. Once the filesystem has been expanded, close out of raspi-config
15. Welcome to Raspberry Pi OS running on the Microsoft Surface RT tablet

## Adding Battery Level Indicator (optional, not shown)

1. Right click on the taskbar panel at the top > Panel Settings
2. Select the Panel Applets tab
3. Click the Add button
4. Select Battery Monitor from the list of available applets > Click Add
5. You should now see a battery level indicator at the far right of the task bar

Sources: https://openrt.gitbook.io/open-surfacert/surface-rt/linux/root-filesystem/distros/raspberry-pi-os, https://jwa4.gitbook.io/windows/tools/surface-rt-and-surface-2-jailbreak-usb