Glass OS

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Glass OS (Google XE)
Written inC (core), C++, Java[1]
OS familyAndroid
Working statediscontinued
Source modelOpen source with closed source components[2]
Initial releaseXE4 / April 11, 2013 (2013-04-11)
Final releaseXE23 / June 20, 2017 (2017-06-20)
Marketing targetAugmented Reality
Available inMulti-lingual
Update methodFoTA
Platforms32-bit ARM
Kernel typeMonolithic (modified Linux kernel)
LicenseDeveloper Preview: proprietary[3]
Apache License 2.0
Linux kernel patches under GNU GPL v2[4]

Glass OS (Google XE) is a version of Google's Android operating system designed for Google Glass. "glass-omap" Tag is used in referring to the modified Android code which can be found inside Kernel Repository.[5]

Release history[edit]

The following list shows the main changes happened for each update release.[6] For more detailed release notes visit the support website.

April 11, 2013: XE4.0[edit]

Initial release.

May 7, 2013: XE5.0[edit]

XE5 updates included:[7]

  • Change to sync policy: require power + WiFi for background uploads
  • Crash reporting
  • Incoming G+ notifications (direct shares, comments, +mentions), including ability to comment and +1
  • Incoming Hangout notifications
  • Transcription of queries & messages is now wicked-fast
  • Long-press to search from anywhere in the UI (no longer just from off)
  • International number dialing + SMS
  • Hop animation on disallowed swipes in the UI
  • New On-Head Detection calibration flow
  • Show device Serial Number on Device Info card
  • More reliable estimation of battery charge remaining
  • New recipient-list mosaic

June 4, 2013: XE6.0[edit]

XE6 updates include:[8]

  • Better photos through Glass
  • Voice annotate your photos and videos when sharing
  • Improvements to On-Head Detection. Please re-calibrate to enable the improvements.
  • Improved cards in Google Now for Sports, and a new card for Birthdays
  • Fixes for several issues

Glass OS update[edit]

Glass updates by itself automatically over the air. Glass will check Google servers periodically for updates. When an update is available, Glass will download it to the device and will install the update all by itself. This happens under the condition of active battery charging and a reliable Wi-Fi connection.[9]

OS hacks[edit]

Gain root access[edit]

Root access can be easily obtained by using the following script using the rooted bootloader.[10]

$ 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

Flash factory image[edit]

Extract the desired factory system image package to flash Glass back to factory specifications, then run the following script.[10] Boot and system images can be found on Google Glass developer website.

$ 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.

Modify Kernel source code[edit]

The kernel source code is easily attainable from the Google repository by using the following script.

$ mkdir <path-for-kernel-source>
$ cd <path-for-kernel-source>
$ git clone

Build OS kernel from source code[edit]

To build kernel from the source code, first download the GCC toolchain from the same repository.

$ git clone
$ export PATH=<path-for-kernel-source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

Then, build the kernel using these commands.

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


  1. ^ "Android Code Analysis". Retrieved June 6, 2012.
  2. ^ "Philosophy and Goals". Android Open Source Project. Archived from the original on 2014-10-17. Retrieved 2014-12-19.
  3. ^ "Developer Preview License Agreement | Android Developers". Retrieved 2014-03-20.
  4. ^ "Licenses". Android Open Source Project. Open Handset Alliance. Retrieved 2012-09-09. The preferred license for the Android Open Source Project is the Apache Software License, 2.0. ... Why Apache Software License? ... For userspace (that is, non-kernel) software, we do in fact prefer ASL2.0 (and similar licenses like BSD, MIT, etc.) over other licenses such as LGPL. Android is about freedom and choice. The purpose of Android is promote openness in the mobile world, but we don't believe it's possible to predict or dictate all the uses to which people will want to put our software. So, while we encourage everyone to make devices that are open and modifiable, we don't believe it is our place to force them to do so. Using LGPL libraries would often force them to do so.
  5. ^ "Refs - kernel/omap - Git at Google". Retrieved 2017-03-15.
  6. ^ "Release notes - Google Glass Help". Retrieved 2017-03-15.
  7. ^ "Google Glass Explorer Editions start receiving XE5 software update, new features". Engadget. Retrieved 2017-03-15.
  8. ^ "Google Glass Receiving XE6 Update With Massive Photo Quality Improvements - Here Is The Full Changelog". Android Police. 2013-06-04. Retrieved 2017-03-15.
  9. ^ "Updating Glass software - Google Glass Help". Retrieved 2017-03-15.
  10. ^ a b "System and Kernel Downloads - Google Glass - Google Developers". Google Developers. Retrieved 2017-03-15.