Chromium OS on the Intel Compute Stick (Sterling City)

Post date: Feb 24, 2016 6:43:40 AM

Background

Chromebooks, boxes and most recently bits continue to proliferate partly due to their simplicity in providing an immediate connection to the web through Chrome without the hassle of lengthy boot-ups, enforced wait while automatic update install or having to navigate through menus to start a browser application.

So wouldn't it be nice to get similar functionality on an Intel Compute Stick (Sterling City) without necessarily having to install any software on it or replace your existing OS? Well whilst Google Chrome OS is the Google product that OEMs ship on Chromebooks/boxes/bits for general consumer use Google have released fundamentally the same code base as the Chromium OS open source project. Developers can then compile and build Chromium OS for specific hardware. And in some cases they then release their builds to the community for all to share.

I've tried some of the existing community builds of Chromium OS on the Intel Compute Stick (Sterling City) only to find that they wouldn't boot. So I've built and tested a specific version just for this device and packaged it to run on a USB. This means you can boot directly from a USB into Chromium OS and use like a regular OS as everything will be saved (as in persistence) when you shutdown allowing you to restart from where you left off.

Installation

First set the BIOS 'Select Operating System' to 'Windows 64 bit' and ensure USB booting is enabled so you can obviously boot from the USB. Note that if you want to reboot into Windows then you'll need to reset the BIOS 'Select Operating System' back to 'Windows 32 bit' if you are using the default supplied Windows installation.

Next download my Chromium OS image file from https://drive.google.com/file/d/0B99O3A0dDe67QWM4bHdrTE1na1k and uncompress it (e.g. in Linux enter '7z x linuxium-ics_sc-chromiumos_image.bin.7z').

Now write the image file to a USB (e.g. in Linux enter 'dd if=linuxium-ics_sc-chromiumos_image.bin of=/dev/sdX bs=4M' changing 'X' for the relevant drive letter (e.g. a for /dev/sda) corresponding to your USB.

Finally attached the USB to your device and rapidly hit F10 after power-up to show the boot menu options and then select the USB.

The first boot takes longer than subsequent boots while it loads everything so even it seems like nothing is happening just be patient. Finally a small screen will be displayed asking you to:

    • Select language (if required)

    • Connect to a network (this is required)

    • Login using your Google credentials

Now watch while the system panel appears along with the Chromium browser. As soon as your settings have finished being synced you're set to go!

Increasing the 'home' partition size

By keeping the installation image at a reasonable size it means that your Chromium OS 'home' directory will be relatively small as it will not use all of the available space on the USB you are running from. This can easily be fixed for Linux users by inserting the USB into a device running Linux, unmounting any of the partitions that may have automatically been mounted from the USB, and entering the following commands in a terminal window:

  • Increase STATE (/dev/sdX1) partition to maximum size

sudo sgdisk -e /dev/sdX

sudo gdisk /dev/sdX << EOF

d

1

n

0700

w

Y

EOF

  • Make sure STATE (/dev/sdX1) partition file system is clean

sudo e2fsck -f /dev/sdX1

  • Resize STATE (/dev/sdX1) partition to maximum size

sudo resize2fs /dev/sdX1

Again you should replace 'X' with the relevant drive letter (e.g. a for /dev/sda) corresponding to your USB. Also note that there are three blank lines in the above 'gdisk' command which must be included for the command to execute correctly. You can now reboot from the USB and run Chromium OS again.

Installing Ubuntu using Crouton

First make sure there is sufficient disk space by increasing the 'home' partition to utilize all the available space on the USB (see the above instructions).

Then go to https://github.com/dnschneid/crouton and read the 'README.md' or alternatively:

  • Click on the link at the top of that web page found in the line that reads 'Chromium OS Universal Chroot Environment https://goo.gl/fd3zc'.

  • Hit 'Ctrl-Alt-t' to bring up 'crosh' (the Chrome OS developer shell).

  • Type in:

      1. shell

  • And then enter:

      1. sudo sh ~/Downloads/crouton -t unity-desktop -r trusty

(Note: the password is 'p' i.e. a single lower-case letter p)

  • Now watch and wait for the installation to complete, entering your username and password when requested.

  • To start Ubuntu enter:

      1. sudo startunity

    • To end your session logout using system menu from top right of screen to returned back to the 'crosh' terminal

Minimal FAQ

  • The USB used for Chromium OS must be fast enough to ensure performance so don't use the oldest USB you can find lying around.

  • The minimum size for the USB is 4GB to run Chromium OS or 8GB if you are also going to install Ubuntu via Crouton.

  • I currently immediately stop 'powerd' (the system daemon that manages power states) on booting Chromium OS to prevent freezing and lockouts caused by being idle/inactive or entering sleep mode From a 'crosh' window bring up a 'shell' and enter 'sudo stop powerd'.

  • The password for 'sudo' is 'p' i.e. a single lower-case letter p.

Useful keyboard shortcuts

Chromium OS:

Ctrl-Alt-t -> Brings up crosh (Chrome OS developer shell)

Ctrl-F5 -> Take a screenshot within ChromiumOS

Crouton:

Ctrl-Alt-F1 -> Switches window from Ubuntu to Chromium OS

Ctrl-Alt-Shift-F1 -> Switches window back from Chromium OS to Ubuntu

Acknowledgements

This is a development release of Chromium OS and is based on code released by Google (see https://www.chromium.org/chromium-os/developer-guide) compiled specifically for the Intel Compute Stick (Sterling City). It will not work on other devices. Whilst every effort has been made to make this release as stable as possible it is probably not advisable to use it in production systems.

Enjoy and please donate (http://goo.gl/nXWSGf) if you like my work to help cover the ongoing costs of bring you these exciting developments.