Glass OS
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]
Developer | |
---|---|
Written in | C (core), C++, Java[1] |
OS family | Android |
Working state | discontinued |
Source model | Open source with closed source components[2] |
Initial release | XE4 / April 11, 2013 |
Final release | XE23 / June 20, 2017 |
Marketing target | Augmented Reality |
Available in | Multi-lingual |
Update method | FoTA |
Platforms | 32-bit ARM |
Kernel type | Monolithic (modified Linux kernel) |
License | Developer Preview: proprietary[3] Apache License 2.0 Linux kernel patches under GNU GPL v2[4] |
Official website | www |
Release history
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
Initial release.
May 7, 2013: XE5.0
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
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
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
Gain root access
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
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
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 https://android.googlesource.com/kernel/omap.git
Build OS kernel from source code
To build kernel from the source code, first download the GCC toolchain from the same repository.
$ 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
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
References
- "Android Code Analysis". Retrieved June 6, 2012.
- "Philosophy and Goals". Android Open Source Project. Google. Archived from the original on 2014-10-17. Retrieved 2014-12-19.
- "Developer Preview License Agreement | Android Developers". Developer.android.com. Retrieved 2014-03-20.
- "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.
- "Refs - kernel/omap - Git at Google". android.googlesource.com. Retrieved 2017-03-15.
- "Release notes - Google Glass Help". support.google.com. Retrieved 2017-03-15.
- "Google Glass Explorer Editions start receiving XE5 software update, new features". Engadget. Retrieved 2017-03-15.
- "Google Glass Receiving XE6 Update With Massive Photo Quality Improvements - Here Is The Full Changelog". Android Police. 2013-06-04. Retrieved 2017-03-15.
- "Updating Glass software - Google Glass Help". support.google.com. Retrieved 2017-03-15.
- "System and Kernel Downloads - Google Glass - Google Developers". Google Developers. Retrieved 2017-03-15.