> 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/surface-rt/linux/kernel/prebuilt-binaries.md).

# Prebuilt binaries

Prebuilt binaries for APX/EFI linux

All zImage files that have `(signed)` at the end, are digitally signed by @Leander. Here is the certificate file:&#x20;

{% file src="/files/-MeAzeUlFUSwqBCXXMzz" %}
Certificate file
{% endfile %}

All files built include a lot of USB device drivers, so features like USB RNDIS will work.

For booting take the zip bellow, extract to USB and place your desired zImage and devicetree file onto the USB (don't rename). For more information visit the [Booting](/open-surfacert/surface-rt/linux/booting/uefi-boot.md).

{% file src="/files/-Miv387j-uOAVCFsjVDJ" %}

You may want to change the line that begins with `zImage`! Kernel files are distributed in a long name for archival sake so double check if you renamed it to just `zImage`. `root=/dev/mmcblk1p2` is the second partition of the SD card, change this if you want to use a different device/partition. [RPI OS](/open-surfacert/surface-rt/linux/root-filesystem/distros/raspberry-pi-os.md) is a recommended distro, as it runs smooth

`root=/dev/mmcblk0p2` is a location set to internal storage (eMMC) second partition, set it to this after cloning the installation over to internal storage.

`root=/dev/sda2` is a second partition for USB only boot, set it to this if you want to USB boot only

### Definitions

`mmc` stands for the storage type, more specifically a MMC memory module like eMMC storage or a SD card.

`mmcblk[]0[]` would be used to specify the exact partition in a boot configuration file, for example root filesystem partition, in this case it can be `mmcblk[]p2` for typical Linux distros.

`0p[]` is used for internal storage definition as it's the primary MMC module\
`1p[]` is used for external MMC storage like a SD card

Typical Linux distro consists of two partitions; small FAT32 formatted boot partition with kernel stuff and a main root partition which contains the entire filesystem. Root file system is formatted as EXT4 in most cases!\
In this case `mmcblk[]p1` is a **FAT32 boot partition** and `mmcblk[]p2` is a **root file system.**

`sda[]` is used to define a USB drive's partition as it's considered an external media.\
In our case `sda1` would be **FAT32 boot partition** and `sda2` a **root file system.**

{% hint style="warning" %}
**Modules** are **required for** features like **WiFi**. Make sure to extract them to the root of your root filesystem. The **lib folders** of the ZIP and of the root filesystem **should merge**. The modules are not required for booting, you can extract them while the system is running on your Surface RT. (E.g. When you are not able to extract the modules to a EXT4 filesystem on your main PC)
{% endhint %}

## grate-driver/linux kernel

### Latest binaries

The latest binaries and modules of kernel, devicetree, modules can be found below.

{% file src="/files/G7SQxy06DGBdyWKkgT0S" %}

{% file src="/files/vyYesnvWIdvnYdNxmsvs" %}

## RPI-OS Bookworm USB prebuilt disk image&#x20;

Write to USB disk with e.g. rufus/etcher and boot.

{% embed url="<https://files.open-rt.party/Linux/Distro/2023-10-10-raspios-bookworm-surface-rt-armhf-full.img.xz>" %}

## Previous kernels and other devices

{% embed url="<https://files.open-rt.party/Linux-Kernel-Download/>" %}

{% hint style="danger" %}
No support for older builds. Use at your own risk.
{% endhint %}
