# System and Kernel Downloads

The following downloads give you access to factory system
images and the kernel source code for Glass.

## Factory images

The following images allow you to gain root shell access on your Glass
and flash it back to factory specifications.

> [!WARNING]
> **Warning:** Rooting, unlocking, or flashing your Glass voids your warranty and can leave your device in an irrecoverable state. Proceed at your own risk.

> [!WARNING]
> **Warning:** The system images for XE9 and earlier are no longer available due to a firmware change with XE10. If your device has XE10 or later installed, flashing to XE9 or earlier will brick your device.

| Version | Factory System Image | Rooted Bootloader | SHA-1 Checksum |
|---|---|---|---|
| XE24 | [signed-glass_1-img-5585826.zip](https://storage.googleapis.com/support-kms-prod/bTh25b2gcZx5f7apQdJU3lULYTTBoZDHqdsr) | [boot.img](https://storage.googleapis.com/glass_gfw/glass_1-img-5585826/boot.img) | System image `46430bc827267796566f0a73d9b503059759561c` Boot image `4e582d8db3cf2f21c3e74a73f76cb5796a2ac4d9` |
| XE23 | [signed-glass_1-img-3926992.zip](https://storage.googleapis.com/glass_gfw/signed-glass_1-img-3926992.zip) | [boot.img](https://storage.googleapis.com/glass_gfw/boot.img) | System image `8a3357ced69e3e6919f10abf39bed2e3b5d6abc8` Boot image `caf34de6d83b8fadeb5995bdcfe8dfadb722110e` |
| XE22 | [signed-glass_1-img-1511057.zip](http://dl.google.com/glass/xe22/signed-glass_1-img-1511057.zip) | [boot.img](https://dl.google.com/glass/xe22/boot.img) | System image `74d87d1bba917c45db1a3fc35af7ddc485c0ea94` Boot image `ae713187ee619dd3b24e2caf650b9b7bcb68305b` |
| XE21.3 | [signed-glass_1-img-1460130.zip](http://dl.google.com/glass/xe21.3/signed-glass_1-img-1460130.zip) | [boot.img](https://dl.google.com/glass/xe21.3/boot.img) | System image `ab61716975a35ec6fb3817277e2054f228316276` Boot image `d300bace661516f43a889cc2214fd89bd60fbd0a` |
| XE21 | [signed-glass_1-img-1410200.zip](https://dl.google.com/glass/xe21/signed-glass_1-img-1410200.zip) | [boot.img](https://dl.google.com/glass/xe21/boot.img) | System image `f1ebe4867b1dfbcb7c7934cdda576a7e4512732f` Boot image `81a1308ac186ae750a914c4524e9f366acb496b5` |
| XE20.1 | [signed-glass_1-img-1356845.zip](https://dl.google.com/glass/xe20.1/signed-glass_1-img-1356845.zip) | [boot.img](https://dl.google.com/glass/xe20.1/boot.img) | System image `1ef9dfcea33eec49f33a46b299e158283cd39faf` Boot image `862f7c11c7be73cbb22f6c505ce6362fba023ecf` |
| XE19.1 | [signed-glass_1-img-1279109.zip](https://dl.google.com/glass/xe19.1/signed-glass_1-img-1279109.zip) | [boot.img](https://dl.google.com/glass/xe19.1/boot.img) | System image `dc9212e2ed47719fd324a9eb55783db48e62b602` Boot image `b2f8cd0c0466c329db498134d89829f8c2b33ec0` |
| XE18.3 | [signed-glass_1-img-1252257.zip](https://dl.google.com/glass/xe18.3/signed-glass_1-img-1252257.zip) | [boot.img](https://dl.google.com/glass/xe18.3/boot.img) | System image `985b40dc2052b0c3519ac4a19e8c8b7a65e221f4` Boot image `8a342b9d31f11682e2ffe5506c1f308e6326e8e1` |
| XE18.11 | [signed-glass_1-img-1223935.zip](https://dl.google.com/glass/xe18.11/signed-glass_1-img-1223935.zip) | [boot.img](https://dl.google.com/glass/xe18.11/boot.img) | System image `244588518776d2ca05b18fd0efcc558909b9a27a` Boot image `1c548c7904e2502069f0c5744e32ed6d835c47a5` |
| XE18.1 | [signed-glass_1-img-1218353.zip](https://dl.google.com/glass/xe18.1/signed-glass_1-img-1218353.zip) | [boot.img](https://dl.google.com/glass/xe18.1/boot.img) | System image `ba95dfb09b48bc6ef4a7cc8e1717be5f0c4660cf` Boot image `b8bee85c32031733c2a0a155ac435fdf9e442932` |
| XE17.31 | [signed-glass_1-img-1216444.zip](https://dl.google.com/glass/xe17.31/signed-glass_1-img-1216444.zip) | [boot.img](https://dl.google.com/glass/xe17.31/boot.img) | System image `88e6e64c463a1b453eeb4eebaf601ad217c31f60` Boot image `b7a8ab807342d403478323949cae44dc2c3f7147` |
| XE17.3 | [signed-glass_1-img-1202243.zip](https://dl.google.com/glass/xe17.3/signed-glass_1-img-1202243.zip) | [boot.img](https://dl.google.com/glass/xe17.3/boot.img) | System image `f4a63bc29aa723e8627be3ecdcadf0e4638ed510` Boot image `cadcda1ab438c40feba58773d1a35ae5e6033a60` |
| XE17.2 | [signed-glass_1-img-1180275.zip](https://dl.google.com/glass/xe17.2/signed-glass_1-img-1180275.zip) | [boot.img](https://dl.google.com/glass/xe17.2/boot.img) | System image `8c9e7b3cadda41b9f889693a9e23a984e32488b1` Boot image `15d672c222380ba2095ee5513a547eb2f4183d99` |
| XE17.1 | [signed-glass_1-img-1163488.zip](https://dl.google.com/glass/xe17.1/signed-glass_1-img-1163488.zip) | [boot.img](https://dl.google.com/glass/xe17.1/boot.img) | System image `0efff5f93690edf05ca4afd57b97c19a1f1eb773` Boot image `4bfd575664ae8eb1ee5dfe5ac26d069ea84ecc31` |
| XE17 | [signed-glass_1-img-1152835.zip](https://dl.google.com/glass/xe17/signed-glass_1-img-1152835.zip) | [boot.img](https://dl.google.com/glass/xe17/boot.img) | System image `540d7d92a033434795e842156542ee1c70d708f1` Boot image `be588f1ebc1ce3d4cb69bfacc6b4cae1dca7b077` |
| XE16.2 | [signed-glass_1-img-1140829.zip](https://dl.google.com/glass/xe16.2/signed-glass_1-img-1140829.zip) | [boot.img](https://dl.google.com/glass/xe16.2/boot.img) | System image `34a42d37a73bd7bc9b872c87296ecbf616693e45` Boot image `28091b99009ce94ad43fc2deb6cbccd9208766b4` |
| XE16.11 | [signed-glass_1-img-1134415.zip](https://dl.google.com/glass/xe16.11/signed-glass_1-img-1134415.zip) | [boot.img](https://dl.google.com/glass/xe16.11/boot.img) | System image `600a11663ba3e8f1e98ca83b33b3df700ca46005` Boot image `c0fa67cbf6271cc921288566ae7b8d1e91bb76b7` |
| XE16 | [signed-glass_1-img-1124447.zip](https://dl.google.com/glass/xe16/signed-glass_1-img-1124447.zip) | [boot.img](https://dl.google.com/glass/xe16/boot.img) | System image `5bef469cbfd072ad4e840921966957687a0623c0` Boot image `32d1fa31d5d61f3ab42f333192b19d5ef793235f` |
| XE12 | [signed-glass_1-img-947604.zip](https://dl.google.com/glass/xe12/signed-glass_1-img-947604.zip) | [boot.img](https://dl.google.com/glass/xe12/boot.img) | System image `4676661de963b5436f60172ec63b126f11cb4373` Boot image `e077caa5903b6b17a9f8ba9b4db2b554ee7e0597` |
| XE11 | [glass_1-img-901188.zip](https://dl.google.com/glass/xe11/glass_1-img-901188.zip) | [boot.img](https://dl.google.com/glass/xe11/boot.img) | System image `4489441a7eaa3932d45fb0c43df5907cc09ac769` Boot image `6e5b021f8987c348171c7649a20230b60ed2f7ed` |
| XE10 | [glass_1-img-851153.zip](https://dl.google.com/glass/xe10/glass_1-img-851153.zip) | [boot.img](https://dl.google.com/glass/xe10/boot.img) | System image `6d682c6d9e8a97c1fd98cc31bfcdb8d17e87cee2` Boot image `54f573d5f66c0855e3ac25c25627a8a7e25d73e2` |

> [!NOTE]
> **Note:** Entering fastboot mode with `adb reboot bootloader` requires that the device is booted and has debugging turned on. You can also enter fastboot mode by holding down the camera button, pressing the power button (Glass must be off before doing this), and waiting about 10-15 seconds. Glass does not indicate that it is in fastboot mode (display is off), but you can run `fastboot devices` to check.

To gain root shell access on Glass, run the following commands using the rooted bootloader:

    $ adb reboot bootloader  # enter fastboot mode, takes 10-15 seconds
    $ fastboot devices  # verify device is in fastboot, should see its serial #
    $ fastboot oem unlock  # unlocking erases all data, you are prompted to run this command twice to be sure
    $ fastboot flash boot boot.img  # gain root shell access with the rooted bootloader
    $ fastboot reboot  # reboot the device
    $ adb root  # start adb as root
    $ adb shell  # access the shell as root

To flash Glass back to factory specifications, extract the desired factory system
image package and run the following commands:

    $ adb reboot bootloader  # enter fastboot mode
    $ fastboot devices # verify device is in fastboot, should see its serial no.
    $ fastboot flash boot boot.img  # flash partitions with factory images
    $ fastboot flash system system.img
    $ fastboot flash recovery recovery.img
    $ fastboot erase cache  # optional, erase the cache and userdata partitition
    $ fastboot erase userdata
    $ fastboot oem lock    # optional, only if you want to re-lock the bootloader.

> [!NOTE]
> **Note:** To obtain the adb and fastboot commands, download the Android SDK Platform-tools from the Android SDK Manager. Go to [developer.android.com](http://developer.android.com/sdk/index.html) for more information.

## Kernel source code

You can [browse the kernel source code](https://android.googlesource.com/kernel/omap/+/glass-omap-xrr02) or check out and build
the kernel source code by running the following commands.

> [!NOTE]
> **Note:** For more information about downloading and building the kernel, see [source.android.com](http://source.android.com/source/building-kernels.html).

1. Download the source:

       $ mkdir <path-for-kernel-source>
       $ cd <path-for-kernel-source>
       $ git clone https://android.googlesource.com/kernel/omap.git

   > [!NOTE]
   > **Note:** The `git clone` command creates a `<path-for-kernel-source>/omap` directory.

2. Download a prebuilt gcc:

       $ git clone https://android.googlesource.com/platform/prebuilt
       $ export PATH=<path-for-kernel-source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

3. Build the kernel:

       $ export ARCH=arm
       $ export SUBARCH=arm
       $ export CROSS_COMPILE=arm-eabi-
       $ cd <path-for-kernel-source>/omap
       $ git checkout glass-omap-xrr02
       $ make notle_defconfig
       $ make