Tuesday 26 April 2016

Ubuntu 16.04 ISO for Atom based Intel Compute Sticks

UpdateThis work is superseded by my 'isorespin.sh' script which can respin an official ISO suitable for use on Intel Atom devices.

Installing the standard Ubuntu 16.04 ISO on an Intel Compute stick with an Atom CPU results in lack of HDMI audio and wifi.

I've combined some recent patches and source code and ported them with Canonical's kernel source to create an ISO that can now fully support HDMI audio, wifi and bluetooth.


Prior to installing the ISO first check the BIOS settings by powering-on your Intel Compute Stick and pressing the 'F2' option. On the 'Configuration' page select the 'Select Operating System' as 'Ubuntu 14.04 LTS 64-bit' or 'Windows 64-bit' depending on the device model. This will make subsequent boots use the 64-bit bootloader meaning you will have to reset the option if you wish to later boot Windows.


Now download the ISO from and write 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 your device.

The initial menu screen takes slightly longer to appear than with the official ISO. Depending on the speed of your USB it can be anything from 15 to 45 seconds before anything appears on the screen.

Only Atom based Intel Compute sticks are supported and include the STCK1A8LFC, STCK1A32WFC, STK1AW32SC and STK1A32SC models.

Also note that the ISO includes a patched kernel to provide the missing functionality meaning it will not get any automatic kernel updates from Canonical. However other application packages will update as standard.

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

Saturday 23 April 2016

Test Ubuntu 16.04 LTS ISO for Intel Atom Compute Sticks

UpdateThis work is superseded by my 'isorespin.sh' script which can respin an official ISO suitable for use on Intel Atom devices.

Also available for testing is my latest development ISO for Atom based Intel Compute Sticks. Booting from either 32-bit or 64-bit this Ubuntu 16.04 LTS includes my development kernel providing audio, wifi and bluetooth. Also available for testing is my latest development ISO for Atom based Intel Compute Sticks. Booting from either 32-bit or 64-bit this Ubuntu 16.04 LTS includes my development kernel providing audio, wifi and bluetooth.


Download the ISO and write to a USB using either 'Rufus' in Windows or 'dd' in Linux and then boot using the 'F10' option. 

The initial menu screen takes slightly longer to appear than with the official ISO and it is also safe to ignore the error messages than scroll past before Unity loads.


I've not yet configured bluetooth to automatically load on the Z3735F version however it can be started by entering:

/usr/sbin/rtk_hciattach -n -s 115200 ttyS4 rtk_h5 &

as 'root' in a terminal window.

Installing using the 32-bit bootloader still requires the patch 'linuxium-32bit-patch.sh' from https://goo.gl/1LIx1S to be applied prior to rebooting.

Feedback is sought to help with improvements.

Friday 22 April 2016

Intel Atom HDMI Audio and Wifi on Ubuntu 16.04 LTS

UpdateThis work is superseded by my 'isorespin.sh' script which can respin an official ISO suitable for use on Intel Atom devices.

Example ISOs using my ‘isorespin.sh‘ script suitable for Intel Atom and Intel Apollo Lake devices are available from http://linuxminipcs.com/isos

If anyone wants to try out the new Ubuntu 16.04 LTS on their Intel Compute Stick but would also like sound and wifi then I've created a patched kernel.


First download and install Ubuntu 16.04 and then download the file 'linuxium-patch-xenial-ics.sh' and enter:

sudo chmod 700 linuxium-patch-xenial-ics.sh
sudo ./linuxium-patch-xenial-ics.sh

This will install my patched kernel together with the required wifi firmware. As it is a patched kernel it means it will not get any automatic updates from Canonical so it should only be used for testing purposes. Currently only Intel Compute Sticks are supported.



It is also still in development and as everything is extremely new not everything has been exhaustively tested so your feedback is appreciated.

Credit goes to Pierre-Louis Bossart for the original HDMI audio patches which I've backported to the current 'xenial' kernel and to Bastien Nocera (hadess) for the wifi source.

Friday 15 April 2016

Bashing Windows on a Mini PC

When news first broke of 'Ubuntu on Windows' (http://blog.dustinkirkland.com/2016/03/ubuntu-on-windows.html) and after checking the date on the calendar I was puzzled as to what was actually being released and how I could actually use it. Even after reading the official releases and watching the news and explanations on the various videos I was still unclear.

Then it was announced that anyone could try 'Ubuntu on Windows' just by following some simple instructions as it would be available as build 14316 on the insider fast ring. Next came a multitude of articles from everyone who had tried it but none really helped me understand what it was and what it could do.

However everyone claimed it was simple: join the insider program, click a few buttons and I'd be up and running. Except it wasn't. Nothing happened. It is ironic that when you don't want Windows to update it does it every time the machine boots yet when you join the insider preview builds program you have to wait for days. Even frantically pressing 'check for updates' only dribbles 'Defender' definitions.

After a could of days waiting for the build my insider updates broke with an unhelpful error 0x80070005. So I re-installed Windows and fired up another PC just in case there was some unknown issue preventing the update appearing. More days, more errors, more re-installs but still no build 14316. Finally after a week one of the PCs got the build whilst the other broke with an error while downloading another 'Defender' update.

If you want to try yourself then take a look at https://insights.ubuntu.com/2016/04/14/howto-ubuntu-on-windows-2.

While waiting I thought of all the exciting things I'd try. Benchmarking, exploring desktop environments, taking 'Ubuntu on Windows' (UoW) to its limits. Would I no longer need to dual-boot Windows and Ubuntu? Would Ubuntu VMs become relics for the past?

First off I thought I'd try 'Phoronix Test Suite' (PTS) and perform a comparison between running my standard mini PC tests under Windows having read that PTS was open-source and supported Windows (http://www.phoronix-test-suite.com) with the results from running the tests under UoW.

Immediately that plan unravelled when I discovered that only a couple of my tests were ported to Windows and when I tried to run them they failed. So I thought I'd try my tests under UoW and compare them to running under Ubuntu. This time I had the tests but again they failed to run properly.


Moving on I tried to run a few applications but with varying success. It was obvious that UoW without graphics wasn't really Ubuntu on Windows. Forget Windows blue screen I was back in the days of the green screen.

Just to push UoW further I downloaded and installed 'Xming' an X11 display server for Windows, 'firefox' and 'lxde'. I could now at least run some graphical commands from the LXDE desktop. I could even access Windows through VNC and run commands:




I next downloaded 'ubuntu-desktop': 


and tried some others:


but the commands don't fully/always work.

So what does work? Basically you get a POSIX shell (or Unix CLI: 'bash') and Ubuntu's userland which is various Unix commands 'or user utilities for manipulating file system objects'. Also included is the Advanced Package Tool (or 'apt') which is the command line package management tool supplied with Debian and Debian derivatives like Ubuntu allowing you to install applications. It is only when you start installing applications that have unmet dependencies or missing kernel requirements that you find things that don't work.

However there is no support for true 'ext' file systems which is a significant drawback. You can access your Windows files, you can access the files within UoW. But you cannot access an Ubuntu file system on a separate disk for example.

In its current form it cannot replace the need for VMs or dual booting Ubuntu. However if you are an existing Linux user and are using Windows then often there are times when you just want to do something which would be simple in Linux but you've no idea how to do it in Windows. For example I wanted to read a log file from running PTS but when I opened it in 'notepad.exe' it was unreadable as the lines did not end with a 'ctrl-m' character.  Using 'bash' and a simple 'sed' command (and yes there are many alternatives) and it was readable:


Where I think it will also be useful is as a primer for using Linux. 'Noobs' can start simple and if they *like* using 'bash' they can try an Ubuntu VM or dual booting. Also I believe it can be extremely useful in education, especially in schools for teaching computing. It is so easy to start writing a C program, compile and run it:




Using UoW reminded me of the early days of running Unix Seventh Edition and I just couldn't resit a nostalgistic game of rogue:


As for the technical details: I ran 'Ubuntu on Windows' on Windows 10 Insider Preview Build 14316 installed on an 32GB Sandisk Extreme Pro micro SD card running on an Intel Compute Stick Core M (STK2M3W64CC) mini PC. The screen shots were taken on a Chromebook connected to the Intel Compute Stick via 'VNC Viewer for Google Chrome'. I used a micro SD card for the Windows OS due to the ease of repeated installation using a backup image stored on eMMC when booting the Intel Compute Stick in Ubuntu 14.04. Performance both through VNC and using the micro SD card were perfectly acceptable.

Tuesday 5 April 2016

Intel Compute Stick STK2M3W64CC appears on Amazon


Intel have confirmed shipping in May with one vendor already taking pre-orders.

Interesting to note that the slated price is lower than the expected RRP so hopefully aggressive pricing will make this excellent device even more affordable.