Climbers at "the mountain of mountains". Source: NG. Wikipedia  

K2 is an operating system for energy-efficient mobile System-on-chip.

Why K2?

Modern mobile System-on-chip(SoC) often embraces heterogeneous cores that are hosted in separate coherence domains, i.e. no hardware coherence among them. This architecture promises high energy efficiency, however complicates software development, thus preventing the energy efficiency from being harvested by software.

Can we ease software development by properly constructing OS for such an architecture? To answer this question, we create K2. As a refactoring of Linux 3.4, K2 reuses most of the existing Linux source. Spanning heterogeneous coherence domains, K2 provides a single system image, preserves the current OS performance, and finally ensures high energy efficiency.

K2 runs on Texas Instruments OMAP4430/4460 SoC, the hearts of Samsung Galaxy Nexus, Amazon Kindle Fire, Google Glass, etc. OMAP4 incorporates both the powerful ARM Cortex-A9 and the low-power ARM Cortex-M3.



Pre-built image

Quick start:

gzip -dc k2-panda.img.gz | dd of=/dev/sdX

For detailed instructions see here.

Source code

For obtaining and building from the source, see instructions.

Hacking K2

Here are our notes.


  • K2 was supported in part by NSF CAREER Award #1054693.

  • The current K2 implementation is based on ARM Linux 3.4 released by Linaro TI landing team (tilt).

  • K2 has benefited from the linux-panda project at NICTA, in particular:


K2 is being developed at Rice Efficient Computing Group.


Lin Zhong

PhD students

Felix Xiaozhu Lin (Lead)
Zhen Wang

This page is generated with asciidoc. source