Friday 15 April 2016

Bashing Windows on a Mini PC

When news first broke of 'Ubuntu on Windows' ( 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

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 ( 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.

No comments:

Post a Comment