Tuesday, 16 August 2016

Is Fuchsia the new orange?


Google's new operating system Fuchsia (https://fuchsia.googlesource.com/fuchsia/) has been widely reported in the last few days. But how much fun would it be to stand round the water cooler and impress everyone with your hands-on experience in using it? Whilst you could compile it yourself you'd probably be disappointed with the result. That's because a new operating system is a bit like an egg. It's somewhat fragile and doesn't appear to do much. Like an egg a lot has happened before it was laid that wasn't particularly visible. Also a lot will happen that will not be particularly visible for most people before it hatches and the full operating system will emerge along with criticizers, sceptics, fans and zealots.

So how to give it a try, the easy way? If you are running Ubuntu (and I've tested this on 14.04 and 16.04) on x86-64 architecture (e.g. an Intel Compute Stick) then download this file, make it executable (enter 'chmod 700 linuxium-install-fuchsia.sh') and run it (enter 'sudo ./linuxium-install-fuchsia.sh') to install a version of Fuchsia that runs in a machine emulator (QEMU) and uses a prebuilt Magenta kernel and my vanilla build of the Fuchsia userspace.


It doesn't take up much space (less than 150 MB) and everything is installed under '/usr/local' and consists of a kernel image file, userspace image file, a couple of scripts to run the emulator and the license file.

Depending on the the processor speed, once you type 'fuchsia' to start the emulator you'll have to wait up to 30 seconds for the MXCONSOLE to load. Once loaded you will get a '> ' prompt (just press return a couple of times to confirm this).


You can then enter commands such as 'ls', 'fortune' or 'cowsay' although the options are somewhat limited at this stage.


Once finished enter 'ctrl-a x' to exit MXCONSOLE and terminate the emulation. If at any time you find yourself stuck with no response then simply run another terminal and enter 'ps -ef | grep qemu' to find the process ID (pid) for the emulator and kill it by entering 'sudo kill -HUP <pid>'.

Acknowledgements:  Google Inc.

Thursday, 4 August 2016

Running the latest Ubuntu on the Intel Compute Stick



The Intel Compute Stick has formalised a new standard for computing devices. Plugged into any HDMI TV or monitor and with a keyboard and mouse connected either wirelessly, via Bluetooth or by USB it becomes a fully functional mini PC. While the first ARM SOC 'sticks' that appeared were to facilitate the conversion to a smart TV, the re-purposing as a mini PC was hampered by the restrictive shortfall of lack of HD graphics due to closed source drivers. With Intel SOC 'sticks' and the availability of open-source software, a 'stick' mini PC is finally achievable. And because Intel fully support the Compute Stick with updated drivers and most importantly updated BIOS which are all available as downloads from the Intel website, it is my chosen device for development.

When Intel released their first Compute Stick with Ubuntu, an open-source operating system based on Debian, it was the restrictive hardware specification that impacted the performance needed to run productivity applications, stream media or play games. Trying to install Ubuntu on the more powerful Windows model resulted in the loss of HDMI audio, WiFi and Bluetooth. Fortunately the latest Core M Intel Compute Sticks address all of these issues and perform exceptionally well although they come at a cost.
The challenge now became how to use a lower cost Intel Compute Stick with fully working hardware and Ubuntu or a recognised flavour that uses Ubuntu as its foundation. Because having the option of running a fast but lightweight operating system can take advantage of the lesser hardware specifications.

The difference between Ubuntu flavours is the set of packages included within the release and I've concentrated on the following:
  • Ubuntu uses Unity (a graphical shell for the GNOME desktop environment)
  • Lubuntu uses LXDE (the Lightweight X11 Desktop Environment)
  • Xubuntu uses the Xfce desktop environment
  • Kubuntu uses KDE's Plasma desktop environment
  • Ubuntu GNOME uses the GNOME desktop environment
  • Ubuntu MATE uses the MATE desktop environment
Officially supported releases are provided as ISO images which are single files that represent an entire CD/DVD of software. An ISO image can be written to a USB to create a 'live' USB drive that containing a full operating system that can be booted or used as installation media.

I've created ISO images specifically to work on the Intel Compute Stick with the latest 16.04.1 release by combining recent patches and source code and ported them with Canonical's kernel source to fully support HDMI audio, WiFi and Bluetooth. I've also included the latest patches that try to reduce the random freezes that have been known to occur. But because the ISOs include a patched kernel to provide the missing functionality it means no automatic kernel updates from Canonical although other application packages will update as standard. Consequently I've also developed a manual patching process where a script can be downloaded and then executed to update the kernel to match those provided by Canonical.

All ISOs work on all of the Intel Compute Stick models including the Core M models which are supported for the sake of completeness. Lubuntu being a lightweight Ubuntu is highly suitable for the minimalist STCK1A8LFC model especially as I've configured it to use ZRAM both in the ISO and once installed. I've also configured them all to both run and install using either a 32-bit or 64-bit bootloader to provide the ability to easily dual-boot without needing to modify the BIOS. The BIOS settings can be accessed by powering-on the Intel Compute Stick and pressing the 'F2' option. On the Atom models in the 'Configuration' page the 'Select Operating System' option can be toggled between 'Ubuntu 64-bit'/'Windows 64-bit' and 'Windows 32-bit'. Finally each ISO can be written to a USB using either 'Rufus' in Windows or 'dd' in Linux. The USB can then be used to boot from by pressing the 'F10' option immediately after powering-on the device. For installation to the device's internal storage simply run the installer and follow the on-screen instructions.

Some cautionary advice: The initial menu screen takes slightly longer to appear than with the official ISOs. Depending on the speed of the USB drive used it can be anything from fifteen to forty-five seconds before anything appears on the screen. After installing with a 32-bit bootloader booting sometimes results just in a blank/coloured (e.g. purple) screen. To prevent this and to ensure a successful boot it is best go through the BIOS using the F10 option followed by selecting the Ubuntu option. If dual booting on the latest Atom models (STK1A32SC and STK1AW32SC) I recommend installing/re-installing 64-bit Windows to circumvent this issue. Also the ISOs only work on Intel Compute Sticks but they can be used with any model (STCK1A8LFC, STCK1A32WFC, STK1AW32SC, STK1A32SC, STK2M3W64CC, STK2M364CC and STK2MV64CC). Occasionally the Baytrail systems (STCK1A8LFC and STCK1A32WFC) have been observed to sometimes hang or freeze randomly. Further details are posted below.

To try an ISO download it from one of the links (in red) below and write it to a USB using either 'Rufus' in Windows or 'dd' in Linux.


Ubuntu
Ubuntu comes with everything. All the essential applications, like an office suite, browsers, email and media apps come pre-installed and thousands more games and applications are available in the Ubuntu Software Centre.


Lubuntu
Lubuntu is a fast, energy saving and lightweight variant of Ubuntu using LXDE. It is popular with PC and laptop users running on low-spec hardware.


Xubuntu
Xubuntu is an elegant and easy to use operating system. Xubuntu comes with Xfce, which is a stable, light and configurable desktop environment.


Kubuntu
Kubuntu offers the KDE Plasma Workspace experience, a good-looking system for home and office use.


Ubuntu GNOME
Ubuntu GNOME uses GNOME Shell along with a plethora of applications from the GNOME Desktop Environment.


Ubuntu MATE
Ubuntu MATE expresses the simplicity of a classic desktop environment. MATE is the continuation of the GNOME 2 desktop which was Ubuntu's default desktop.


To upgrade the kernel to match a version released for Ubuntu 16.04 first download the upgrade script, make it is executable (use 'chmod 755 <script>') and then run as 'root' ('./<script>'). Once the script has finished executing the device will need to be rebooted to use the updated (patched) kernel.

4.4.0-31-50

4.4.0-34-53 (current latest Xenial)

One issue that has been reported with Linux kernel versions newer than 3.16 on Baytrail processors (i.e. not specific to just on the Intel Compute Stick or with the Z3735F SOC) is a random freeze where the whole system hangs. Unfortunately no complete fix currently exists however if you encounter freezes an accepted workaround is to limit the processor (CPU) to a certain power state, or 'C-state', if such freezes are encountered.

I incorporate this solution along with disabling IPv6 system wide (which may or may not of use) through editing the boot options on STCK1A8LFC and STCK1A32WFC devices.

Open a terminal session and enter the following command (on a single line):

sudo sed -i 's/\(GRUB_CMDLINE_LINUX=\)""/\1"ipv6.disable=1 intel_idle.max_cstate=1"/' /etc/default/grub

To implement the change enter:

sudo update-grub

and then reboot the system by entering:

sudo reboot

The above change only needs to be made once, typically following installation to eMMC storage.

I've also compiled the latest stable 4.7.x kernel with configs based on Ubuntu and provide as an update script for anyone who wants a bleeding edge kernel:

4.7.0-040700 (current latest Stable)

Note that this kernel does not include the HDMI audio and C-state patches as they need further work on porting.

Finally Lubuntu Yakkety Yak Alpha 2 (i.e. 16.10) has just been released:


So I've also created a version suitable for Intel Compute Sticks. It can be downloaded from here and used as LiveUSB or it can be installed.

If you want to upgrade the Yakkety kernel from Alpha 1 to Alpha 2 then use the following script:

4.4.0-33-52 (current latest Yakkety)

Acknowledgements:  Linux Kernel Organization (kernel.org), Canonical Ltd. (Ubuntu), Pierre-Louis Bossart (HDMI audio), Daniel Bilik (C-state), Bastien Nocera (WiFi) and Larry Finger (Bluetooth).

Saturday, 30 July 2016

Dual booting Ubuntu and Windows on the CS125 Intel Compute Stick (STK1AW32SC)


Currently dual booting Ubuntu and Windows relies on using the BIOS's 32-bit bootloader. However booting sometimes results in a blank coloured (typicaly purple) screen so switching the OS requires a cold boot through the BIOS using the F10 option.

This 'F10' dependency can be removed by simply re-installing Windows as a 64-bit version and the switch is free (i.e. you don't have to pay for it) as long as you have a qualifying Windows license (see How to migrate to Windows 10 64-bit from 32-bit versions of Windows).

The whole process to configure dual booting is essentially straightforward and consists of three parts. First you need to prepare a USB for the Windows 10 64-bit installation. Then you need to install Windows 10 64-bit from the USB. Finally you need to download and install Ubuntu and configure dual boot.

Because the switch from 32-bit to 64-bit Windows requires a new installation (meanings files, applications and settings will be deleted) you will also have to install native 64-bit drivers. I've created a video of instructions with screenshots (see https://youtu.be/UQPCYwz-PK0) which covers the process in more detail and will assist anyone wanting to dual boot.


Before you start you will need:

1 x CS125 (STK1AW32SC) with Windows 10 installed
1 x USB
4 x hours
1 x backup (optional)

and the following links:

Windows ISO: https://www.microsoft.com/en-us/software-download/techbench
Intel Drivers: https://downloadcenter.intel.com
Rufus: https://rufus.akeo.ie
Ubuntu ISO: http://linuxiumcomau.blogspot.com/2016/06/running-ubuntu-on-intel-compute-stick.html

Remember to take a backup of any files you want to keep before you try this as otherwise they will be erased during the installation. And don't try going from Windows 8.1 to Windows 10 using this method as you'll probably end up having to pay for a Windows 10 license now that free upgrades have finished. Also this will not work on the first generation BayTrail Intel Compute Sticks (STCK1A32WFC) as the BIOS is not compatible with the Windows 64-bit ISO.

Tuesday, 5 July 2016

Making the most from the Intel Compute Stick Roadmap

When Intel's first Compute Stick loaded with Ubuntu (STCK1A8LFC) was released in late April 2015 the RRP was around $110. Recently it has been advertised at less than half that and even as low as $49.99. However when I looked at Intel's ARK website to check the EOL under 'Expected Discontinuance' it said 'See Roadmap':


As I was unable to track down this document anywhere on their website I contacted Intel who confirmed that the STCK1A8LFC model was indeed EOL and provided the following roadmap:


The map is useful for showing the current product lifecycles but unlike the 'leaked' roadmap of last year it does not give any indication of things to come. So I asked what was planned but all Intel indicated was that they are exploring an Apollo Lake compute stick as well as more Core-based compute sticks in 2017.

Since the STCK1A8LFC came to market with Ubuntu 14.04 a new LTS Ubuntu has been released: 16.04. Whilst 14.04 is also a LTS release, the official supported version for the Intel Compute Stick is restricted to using the 3.16 kernel due to enabling HDMI audio, bluetooth and wifi. It is also limited to just Ubuntu rather than other flavours like Lubuntu, a fast and lightweight version whose core is based on Linux and Ubuntu but uses the minimal desktop LXDE and a selection of light applications.


To address this I've already created ISO images specifically to work on the Intel Compute Stick with the latest 16.04 release by patching Canonical's kernel source to fully support the hardware (see here).

But as Lubuntu Yakkety Yak Alpha 1 (soon to be 16.10) has just been released I decided to also create a version suitable for Intel Compute Sticks. It can be downloaded from https://goo.gl/2m1CJh and used as LiveUSB or it can be installed (but must be connected to the Internet during installation at this stage).

The STCK1A8LFC only has 1GB RAM and 8GB storage but once Lubuntu is installed you get a really good cheap mini PC stick. Other applications can easily be installed to provide extra functionality and adding Kodi makes for quite a usable HTPC.

For example in the following video I demonstrate a brief overview of Lubuntu installed on a STCK1A8LFC which includes a mounted 64GB micro SD card and then show some examples of using Kodi to run videos from both YouTube and from the micro SD card. I also show running Octane 2 on Chrome and a YouTube 1080p video.


Looking at the Intel Compute Stick roadmap shows the availability of the STCK1A8LFC is most likely limited to existing stocks. So while the STCK1A8LFC is cheap now it probably won't last meaning the cheapest Intel Compute Stick to run Ubuntu on is about to change.

Wednesday, 29 June 2016

Docking Station for Mini PC Sticks

Dosupara have released an interesting docking station for their brand of mini PC sticks.




The mini PC stick simply plugs into the docking station and is then connected by the two integrated USB cables.

The standard power supply's USB is then connected to the docking station together with an HDMI cable for output. The dock then provides in addition:

  • a wired LAN port (100BASE-TX)
  • three (3) full-size USB ports



The station itself is relatively compact at 57mm (width) × 60mm (depth) × 128mm (height), weighs 157g and is priced at 3980 Yen (around USD 38).

Whilst it may not work with every mini PC stick (given the length and positioning of the USB connectors) it should work with at least some non-Dosupara Diginnos sticks. It is somewhat surprising that other manufacturers haven't released a similar product. (Update: Apparently Measy have - see below).

Links (in Japanese):
http://www.dospara.co.jp/5press/2016/0624d
http://www.dospara.co.jp/5shopping/detail_parts.php?ic=437327&lf=0

Alternatively if a full-sized SD/MMC slot is more important than an Ethernet port then Measy's U2C-D Mini PC Holder may be more suitable:


With a slightly larger footprint of 125mm (length) × 90mm (width) × 60mm (height) and weighing 230g, it is a lot cheaper at around USD 15.99.

Links:
http://measy.cn/product/product_en_140.html
https://www.amazon.com/dp/B00CRBDJOE/

Review: (in Spanish)
http://androidpc.es/blog/2013/04/30/analisis-dock-measy-u2c-d-mas-puertos-para-tu-tv-stick/

Credit:
Richard Ames via Liliputing comment (http://liliputing.com/2016/06/dospara-launches-docking-station-pc-sticks.html)

Monday, 13 June 2016

Running Ubuntu on the Intel Compute Stick

Update: This page refers to earlier work and my latest ISOs can be downloaded from
http://linuxiumcomau.blogspot.com.au/2016/08/running-latest-ubuntu-on-intel-compute.html



The Intel Compute Stick has formalised a new standard for computing devices. Plugged into any HDMI TV or monitor and with a keyboard and mouse connected either wirelessly, via Bluetooth or by USB it becomes a fully functional mini PC. While the first ARM SOC 'sticks' that appeared were to facilitate the conversion to a smart TV, the re-purposing as a mini PC was hampered by the restrictive shortfall of lack of HD graphics due to closed source drivers. With Intel SOC 'sticks' and the availability of open-source software, a 'stick' mini PC is finally achievable. And because Intel fully support the Compute Stick with updated drivers and most importantly updated BIOS which are all available as downloads from the Intel website, it is my chosen device for development.

When Intel released their first Compute Stick with Ubuntu, an open-source operating system based on Debian, it was the restrictive hardware specification that impacted the performance needed to run productivity applications, stream media or play games. Trying to install Ubuntu on the more powerful Windows model resulted in the loss of HDMI audio, WiFi and Bluetooth. Fortunately the latest Core M Intel Compute Sticks address all of these issues and perform exceptionally well although they come at a cost.
The challenge now became how to use a lower cost Intel Compute Stick with fully working hardware and Ubuntu or a recognised flavour that uses Ubuntu as its foundation. Because having the option of running a fast but lightweight operating system can take advantage of the lesser hardware specifications.

The difference between Ubuntu flavours is the set of packages included within the release and I've concentrated on the following:
  • Ubuntu uses Unity (a graphical shell for the GNOME desktop environment)
  • Lubuntu uses LXDE (the Lightweight X11 Desktop Environment)
  • Xubuntu uses the Xfce desktop environment
  • Kubuntu uses KDE's Plasma desktop environment
  • Ubuntu GNOME uses the GNOME desktop environment
  • Ubuntu MATE uses the MATE desktop environment
Officially supported releases are provided as ISO images which are single files that represent an entire CD/DVD of software. An ISO image can be written to a USB to create a 'live' USB drive that containing a full operating system that can be booted or used as installation media.

I've created ISO images specifically to work on the Intel Compute Stick with the latest 16.04 release by combining recent patches and source code and ported them with Canonical's kernel source to fully support HDMI audio, WiFi and Bluetooth. I've also included patches that try to reduce the random freezes that have been known to occur. But because the ISOs include a patched kernel to provide the missing functionality it means no automatic kernel updates from Canonical although other application packages will update as standard. Consequently I've also developed a manual patching process where a script can be downloaded and then executed to update the kernel to match those provided by Canonical.

All ISOs work on all of the Intel Compute Stick models including the Core M models which are supported for the sake of completeness. Lubuntu being a lightweight Ubuntu is highly suitable for the minimalist STCK1A8LFC model especially as I've configured it to use ZRAM both in the ISO and once installed. I've also configured them all to both run and install using either a 32-bit or 64-bit bootloader to provide the ability to easily dual-boot without needing to modify the BIOS. The BIOS settings can be accessed by powering-on the Intel Compute Stick and pressing the 'F2' option. On the Atom models in the 'Configuration' page the 'Select Operating System' option can be toggled between 'Ubuntu 64-bit'/'Windows 64-bit' and 'Windows 32-bit'. Finally each ISO can be written it to a USB using either 'Rufus' in Windows or 'dd' in Linux. The USB can then be used to boot from by pressing the 'F10' option immediately after powering-on the device. For installation to the device's internal storage simply run the installer and follow the on-screen instructions.

Some cautionary advice: The initial menu screen takes slightly longer to appear than with the official ISOs. Depending on the speed of the USB drive used it can be anything from fifteen to forty-five seconds before anything appears on the screen. After installing with a 32-bit bootloader booting sometimes results just in a blank/coloured (e.g. purple) screen. To prevent this and to ensure a successful boot it is best go through the BIOS using the F10 option followed by selecting the Ubuntu option. Also the ISOs only work on Intel Compute Sticks but they can be used with any model (STCK1A8LFC, STCK1A32WFC, STK1AW32SC, STK1A32SC, STK2M3W64CC, STK2M364CC and STK2MV64CC). Occasionally the Baytrail systems (STCK1A8LFC and STCK1A32WFC) have been observed to sometimes hang or freeze randomly. Further details are posted below.

To try an ISO download it from one of the links below and write it to a USB using either 'Rufus' in Windows or 'dd' in Linux.

Update: These ISOs may now fail if installation is attempted whilst connected to the internet due to a newly updated package. As the first point-release for Ubuntu 16.04 LTS (versioned 16.04.1) has now been released I will be respinning have respun the ISOs and posting updated links. Likewise for Lubuntu Yakkety Yak (16.10) Alpha 2 below. See http://linuxiumcomau.blogspot.com.au/2016/08/running-latest-ubuntu-on-intel-compute.html for new links.


Ubuntu
Ubuntu comes with everything. All the essential applications, like an office suite, browsers, email and media apps come pre-installed and thousands more games and applications are available in the Ubuntu Software Centre.


Lubuntu
Lubuntu is a fast, energy saving and lightweight variant of Ubuntu using LXDE. It is popular with PC and laptop users running on low-spec hardware.


Xubuntu
Xubuntu is an elegant and easy to use operating system. Xubuntu comes with Xfce, which is a stable, light and configurable desktop environment.


Kubuntu
Kubuntu offers the KDE Plasma Workspace experience, a good-looking system for home and office use.


Ubuntu GNOME
Ubuntu GNOME uses GNOME Shell along with a plethora of applications from the GNOME Desktop Environment.


Ubuntu MATE
Ubuntu MATE expresses the simplicity of a classic desktop environment. MATE is the continuation of the GNOME 2 desktop which was Ubuntu's default desktop.


To upgrade the kernel to match a version released for Ubuntu 16.04 first download the upgrade script, make it is executable (use 'chmod 755 <script>') and then run as 'root' ('./<script>'). Once the script has finished executing the device will need to be rebooted to use the updated (patched) kernel.


4.4.0-21.37

4.4.0-22.40

4.4.0-24.43

4.4.0-28-47

4.4.0-31-50 (current latest)


One issue that has been reported with Linux kernel versions newer than 3.16 on Baytrail processors (i.e. not specific to just on the Intel Compute Stick or with the Z3735F SOC) is a random freeze where the whole system hangs. Unfortunately no known fix or work-around currently exists. Consensus seems to have settled on limiting the processor (CPU) to a certain power state, or 'C-state', in order to reduce the frequency of such freezes and improve the stability of the system.

I incorporate this solution along with disabling IPv6 system wide (which may or may not of use) through editing the boot options on STCK1A8LFC and STCK1A32WFC devices.

Open a terminal session and enter the following command (on a single line):

sudo sed -i 's/\(GRUB_CMDLINE_LINUX=\)""/\1"ipv6.disable=1 intel_idle.max_cstate=1"/' /etc/default/grub

To implement the change enter:

sudo update-grub

and then reboot the system by entering:

sudo reboot

The above change only needs to be made once, typically following installation to eMMC storage.


There have been reports that later kernels may not be affected by the freeze issue. So I've compiled the latest stable 4.6.x kernels with configs based on Ubuntu together with the HDMI and WiFi patches and provide an update script for anyone who wants a bleeding edge kernel:

4.6.2-040602

4.6.3-040603

4.6.4-040604 (current latest)


Finally Lubuntu Yakkety Yak Alpha 1 (soon to be 16.10) has just been released:


So I've also created a version suitable for Intel Compute Sticks. It can be downloaded from https://goo.gl/2m1CJh and used as LiveUSB or it can be installed (but must be connected to the Internet during installation at this stage).


Acknowledgements:  Linux Kernel Organization (kernel.org), Canonical Ltd. (Ubuntu), Pierre-Louis Bossart (HDMI audio), Bastien Nocera (WiFi) and Larry Finger (Bluetooth).


Update: This page refers to earlier work and my latest ISOs can be downloaded from
http://linuxiumcomau.blogspot.com.au/2016/08/running-latest-ubuntu-on-intel-compute.html

Monday, 23 May 2016

Ubuntu flavoured 16.04 ISOs for Atom based Intel Compute Sticks

Update: This page refers to earlier work and my latest ISOs can be downloaded from http://linuxiumcomau.blogspot.com.au/2016/06/running-ubuntu-on-intel-compute-stick.html

When Intel released its Ubuntu Compute Stick it was heavily criticized as being under-spec'd. Also criticized was the choice of Ubuntu with Unity as it was deemed to be too demanding. With this in mind I've combined the latest patches and source together with Canonical's kernel source to create a range of ISOs that can work on Intel's Atom Compute Sticks from the very basic model to the latest. All include audio over HDMI, wifi and bluetooth together with patches that try to reduce the random freezes that have been known to occur.

First up is Lubuntu. I've configured it to use ZRAM both as an ISO and once installed. As a light-weight Ubuntu it is highly suitable for the minimalist STCK1A8LFC device.


Next is Ubuntu. Previously it was necessary to use the 64-bit bootloader to use my 16.04 ISO. Now I've configured it to both run and install using either the 32-bit or 64-bit bootloaders. The key benefit is the ability to easily dual-boot without needing to modify the BIOS.


Finally I've also incorporated all these features and produced Xubuntu, Ubuntu-Mate and Kubuntu ISOs. This provides a choice now of Ubuntu flavours for the Intel Compute Stick.

One potential draw-back is that each ISO includes a patched kernel to provide the missing functionality meaning it will not get any automatic kernel updates from Canonical. So I've also developed a manual patching process that allows you to download a script which will then update the kernel.

ISOs

To try an ISO download it from one of the links below (i.e. the caption below each image) and write it to a USB using either 'Rufus' in Windows or 'dd' in Linux.
Update: If you are using Rufus version 2.3 or above then select 'Write in DD Image mode' when prompted otherwise for version 2.2 and below you should first let Rufus complete and then additionally download 'bootia32.efi' from https://drive.google.com/file/d/0B99O3A0dDe67QWUtek9rdHptMjA and copy the file to the newly created USB's 'EFI\BOOT' directory.  

Then boot from the USB by pressing the 'F10' option immediately after powering-on your device. For installation to your device simply run the installer and follow the on-screen instructions.

Remember also to be patient as depending on the speed of your USB it can be anything from 15 to 45 seconds before anything appears on the screen.

Lubuntu
Ubuntu
Xubuntu
Kubuntu
Ubuntu Mate

Kernel Upgrade Script

If you want to upgrade the kernel to the latest Ubuntu 16.04 (but patched) version first download the upgrade script (click the caption under the image below) , make sure it is executable (use 'chmod 755 <script>') and then run as 'root' ('./<script>'). Once the script has finished executing you'll need to reboot to use the latest kernel.

linuxium-install-xenial-kernel-4.4.0-22-linuxium-ics.sh

As before this is only for Atom based Intel Compute sticks which includes the STCK1A8LFC, STCK1A32WFC, STK1AW32SC and STK1A32SC models.

Acknowledgements: Pierre-Louis Bossart (HDMI audio), Bastien Nocera (wifi) & Larry Finger (bt).

Update: This page refers to earlier work and my latest ISOs can be downloaded from http://linuxiumcomau.blogspot.com.au/2016/06/running-ubuntu-on-intel-compute-stick.html