Monday, 13 June 2016

Running Ubuntu on the Intel Compute Stick

UpdateThis page refers to earlier work and my latest ISOs and kernel upgrade scripts can be downloaded from my latest post.



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.


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

120 comments:

  1. I am trying to build some ubuntu core (snappy) images, could you please point me to your kernel sources or patch set, Thanks!

    ReplyDelete
  2. Any chance you can do a Kodibuntu image?

    ReplyDelete
    Replies
    1. Just apply the script to the Kodibuntu kernel. then youve built your own

      Delete
  3. Cannot instal any of those system on wintel w8 pro :) normal ubuntu/ lubuntu works fine. After runing update script system stuck at loading not working for me.

    ReplyDelete
  4. SD Card reader support addressed in any of those recent builds?

    ReplyDelete
    Replies
    1. Finally micro SD card support ... see http://linuxiumcomau.blogspot.com.au/2016/08/micro-sd-card-support-on-intel-compute.html but note the current limitations.

      Delete
  5. Hello. After you install your assembly Ubuntu system periodically freezes. The same thing happens when I install Lubuntu. Do you have any thoughts on this?
    You applied your script by replacing the kernel to the latest version. Did not help.

    ReplyDelete
    Replies
    1. Intel® Compute Stick STCK1A32WFC

      Delete
    2. I've updated the post with my recommendation of limiting 'C-state' to help reduce random freezes.

      Delete
    3. I've also posted a patched 4.6.2 kernel that may address 'freeze' issue.

      Delete
  6. Hi Ian,
    thank you for your great contributions to this small community and time you spend here!

    Installed on 2nd gen ics parallel to windows. left everything at standard settings. After install Win10 works, Lubuntu wont boot. After grub menu -> recovery boot it shows 2 lines of your boot loader i think.

    Stuck on loading initial ramdisk.

    Any hints how to fix this?

    ReplyDelete
    Replies
    1. Under 'Some cautionary advice' above did you try "... to ensure a successful boot it is best go through the BIOS using the F10 option followed by selecting the Ubuntu option ..."?

      Delete
    2. Thanks. Updated the STK1A32SC with latest bios. Under "Select Operating System" i can only choose "Windows 32/64Bit", neither works.

      Delete
    3. Correction, non recovery-mode boot option started me a lovely ubuntu 16.04. Strange...

      Delete
    4. Hitting F10 and selecting the eMMC boots the system. Normal boot wont work. Visible difference is the size of the grub menu. in the bios i found nothing to switch on Ubuntu booting.

      Not so easy these sticls....

      Delete
    5. @Dennic Becker: I'm experiencing the same but with the Ubuntu standard kernel not the custom one from these images provided here.
      (the ones provided here hang at loading initial ramdisk)

      Delete
    6. @Double-G: They hang if you are not using an Intel Compute Stick as per my posting above.

      Delete
    7. Hi all and thanks for the great work, regarding this resolved question I have a subsequent one that i am unable to fix so far. So, I can go through the f10 option and I can choose ubuntu and it boots as long as I am using a wired usb keyboard, however if i use my wireless keyboard (one of those that come with a small usb receiver that you plug in to your computer then it just works) i am just simply unable to select F10 option and the keyboard only starts working from the grub menu.
      I would appreciate all of your ideas as i am getting a bit bored of having to stand in front of the tv instead of using it from my armchair.
      Thanks

      Delete
    8. @edemark: Perhaps a driver issue? As a work-around why not modify grub and set the default to the menu entry you normally boot from (and zero the timeout so it automatically boots it as well)?

      Delete
    9. So i am sorry I did not express myself correctly. My problem is not in GRUB, the problem is the following: on the boot screen I have to select F10 to select and to boot ubuntu if not going through F10 the system hangs after GRUB. But on the boot screen wireless keyboard does not work, it only stars working in GRUB.

      Delete
    10. @edemark: Which device (model number)?

      Delete
    11. Hi yes here it goes it is an intel compute stick STK1AW32SC and the keyboard is a microsoft all-in-one media keyboard.
      Thanks

      Delete
    12. @edemark: I think I have a solution for you ... I just need to document and post so standby.

      Delete
    13. Thanks in advance, certainly I am not in a hurry.

      Delete
    14. @edemark: I'm assuming you are dual booting to Ubuntu given that you need to go through the BIOS with F10 to get it to boot. I've 'fixed' this issue which is caused by the need to continue to use the 32-bit bootloader to be able to boot Windows by recommending a switch to 64-bit Windows and therefore the 64-bit bootloader. I've documented how to install and configure dual boot in the following post: http://linuxiumcomau.blogspot.com.au/2016/07/dual-booting-ubuntu-and-windows-on.html. Obviously if you only use Ubuntu without dual boot then the 64-bit bootloader should be used as consequently there is no need for the F10 workaround.

      Delete
  7. Thank you very much for your efforts. I'm running MythTV frontEnd on Lubuntu 16.04 now. Quick question - I've spent absolutely ages trying to get 5.1 audio to work over the HDMI out. I only ever get stereo output. Is this a limitation of the Intel ComputeStick or something wrong with the Ubuntu setup. I've noticed PulseAudio is missing (I tried installing it, but still does not work).

    ReplyDelete
    Replies
    1. I've only a pair of speakers so I've never configured or tested anything other than stereo. Perhaps others can comment?

      Delete
    2. I've finished trying to get 5.1 audio from the Intel Compute Stick - FAILED.

      The closest the computerStick got was to mimic 5.1 sound by adjusting volume and sound delays from the front two speakers only.

      Things I tried:
      i) Updated the firmware
      ii) Rolled back to original 14.04 Ubuntu O.S (factory standard)
      iii) Tried overriding Pulse Audio settings to force 5.1 audio.

      My solution - running mythTV frontend on our upstairs TV only (stereo audio)- went back to the trusty old Atom D525 (with NVidia Ion graphics ) ... 5.1 audio working again with MythTV..

      Delete
  8. Do you have something for Meegopad t01? It is not booting past GRUB, not even selecting it form the bios

    ReplyDelete
    Replies
    1. I'm currently focusing on the Intel Compute Stick.

      Delete
    2. Please could you look into it? I have a Pipo X7S and your 14.04.3 iso worked fine, but now yuor latests isos dont work, they hang after grub. Remember that many chinese devices are 32bit uefi with 64bit kernel.

      Delete
    3. I don't support the Pipo X7S and these ISOs are only for Intel Compute Sticks.

      Delete
  9. same problem here, running on generic chinese stick
    14.04.3 was working fine, give it a try

    ReplyDelete
  10. Do you have a copy of the original STCK1A8LFC image? I've been trying custom ROMs but now my stick won't boot any more and keeps restarting.

    ReplyDelete
    Replies
    1. If the above Lubuntu ISO doesn't work on your STCK1A8LFC device then it is likely you have an issue that even the original STCK1A8LFC image would not fix. Do you get any error messages given it keeps restarting that would help identify what the problem is?

      Delete
  11. Great work M. Linuxium and thank you so much for sharing this with us. Very appreciated. Can you please describe the details of what you have changed/included/modified in your custom ISOs? Do you have a script for this? Can you share the 'recipe' so we can reproduce on our side?

    Second question, I notice that cpu usage is very high when displaying videos using google chrome. I think that no hardware acceleration is available. Any advice?

    Thanks again.

    ReplyDelete
  12. Dear Linuxium ,
    Been trying to install ubuntu 16.04 64 bit on my Wintel pro cx-w8 z8300 , the only problem the usb 3.0 only run as usb 2.0 speed , the usb 3.0 running well on windows 10 ... but not on ubuntu ..... , do you have any idea how can I can get full speed usb 3.0 5Gbps on ubuntu ?
    thank you

    ReplyDelete
    Replies
    1. As I don't have a Wintel Pro CX-W8 I can't help.

      Delete
  13. This is great! It may also be of use to new Lenovo Ideapad 100S (11inch). Which uses the Z3735F, but nobody seams to figure out how to make wifi and sound work.

    Testing now, will report later.

    ReplyDelete
    Replies
    1. As per my posting above, my ISOs and kernels will only work on Intel Compute Sticks so it is not worth trying on the Lenovo Ideapad 100S.

      Delete
  14. Hi ian,

    happy to report some things back.
    STCK1A8LFC (1.gen / 1gb ram / lubuntu 16.04):
    Installation flawless. Maybe you provide a real hybrid iso because these a more image files, but if i dd'em no problem. Vanilla freezes in 4.4 and 4.6 after a few minutes (glxgears + + pepperflash + chromium@youtue). Still relies on c-state workaround. Another thing: 16.04 do not like HDMI->DVI adapters. Tried different ones and Monitors. Black flashing or turning off the displays running youtube. At 14.04 this does not happen.
    STK1AW32SC (2.gen / Win 10 / lubuntu 16.04):
    32Bit dualboot to ubuntu only with F10. 64 Bit single boot works great! No problems in my use cases at all. Uptime 6 days+ and up.

    Again thank you for this work,

    dennis

    ReplyDelete
    Replies
    1. Thanks for the feedback. Have you tried my latest Lubuntu Yakkety Yak Alpha 1 (soon to be 16.10) see http://linuxiumcomau.blogspot.com.au/2016/07/making-most-from-intel-compute-stick.html on your STCK1A8LFC?

      Delete
    2. installed 16.10 on STCK1A8LFC, looks promising. All standard, no updates applied, with 4.4.0-27-linuxium. first hour stable. Will report back after more intense testing. Sad news: HDMI->DVI problem persists. My first guess, it was not only the kernel but also GPU/X11 which causes problems.

      Delete
  15. Trying to get v 4.6.3-040603 work on an mini PC based on the Atom X5 8300 with 2 GB Ram and 32 GB EMMC (BeeLink Z83 / aka Beelink BT3 Mini PC).

    Unfortunately it always hangs at "Loading initial Ramdisk" :-((

    Any ideas?

    ReplyDelete
    Replies
    1. The kernel upgrades I posted are for upgrading my ISOs which, as per my posting above, only work on Intel Compute Sticks. So they will not work on a BeeLink Z83 or Beelink BT3.

      Delete
    2. Im getting the ramdisk error while using a compute stick :<

      Delete
  16. Been running Intel Compute Stick STK1A32SC with USB 3.0/Ethernet Hub 24x7 for two weeks now running a weather station and no freezes Lubuntu installation with 4.6.3-040603 kernel. Wifi is turned on but not connected using ethernet instead. Great work Linuxium!

    ReplyDelete
  17. I've installed Ubuntu from the live USB to the SD card, but I cannot boot from it. There is a single Linux partition on the SD card and GRUB is installed to the MBR. But in the boot menu there is only Windows entry. How to boot Ubuntu from the SD card?

    ReplyDelete
    Replies
    1. STCK1A32WFC with the latest BIOS.

      Delete
    2. Okay I'll put 'Documenting micro SD card installation' on the TODO list.

      Delete
  18. Tried both 16.04 & 16.10 builds on STCK1A8LFC (current latest BIOS) Both install & run ok but in both cases WiFi only connects when the router is set to run BGN mode & only shows connection at 72Mb/s where factory install always connected at 150. Not that I care but I get no audio either! What could I have missed? Is there a script I need to run that got missed by the installer? I changed nothing in the BIOS - should I have?
    Perhaps a howto for this modle would be helpful?

    ReplyDelete
    Replies
    1. That is rather puzzling. I've neither had to change any settings on my router to get wifi nor do anything to get audio which works automatically. There is nothing to miss either as with the STCK1A8LFC everything works OOTB. As you should get audio just using my ISO as a LiveUSB can you confirm if it works?

      Delete
    2. Yes - I figured from going through the write-ups that using 64 bit loader that it would be straight forward. Somebody else posted similar/same result somewhere but didn't get a response & I can't find it now. I don't use bluetooth. I have switched to using a USB ethernet adapter instead & maybe will try again with next LTS release! Thanks for your work on these Linuxium! Using Lubuntu rather than the stock allows much more flexibility!

      Delete
  19. Kernel 4.4, 16.10 all defaults, with intel_idle.max_cstate=1 => stable (17+hrs under Video/3D load).
    Booting without cstate cmdline arg => freezing after 17 min.
    4.6.3-040603-linuxium => 1. freeze after 27 min.

    ReplyDelete
    Replies
    1. Would you be interested in trying 4.6.4-040604 with c#329 and w/o cstate if I built it?

      Delete
    2. sure :). as for now i have to stay with 14.04 because the dvi issue is a show stopper. but maybe it helps others if we find a stable solution. made a apt upgrade for the alpha and loaded the intel microcode blob, still unstable.

      Delete
    3. Here's the link: https://goo.gl/hv3tgI

      Delete
    4. Testing. strangely unzip is not part of lubuntu-minimal, maybe you put a check in your script.

      Delete
    5. System freezed after 49Min. :/

      Delete
    6. That is disappointing.

      One last test: I've also applied the c#329 patches to the latest 4.4.0-31-50 kernel which includes existing 'freeze' patches. It is available as a special release but is only for testing and should only be applied to an installation that will be nuked immediately after testing.

      Just to clarify the 'unzip' package is included in my ISOs which are designed as the base for the kernel upgrade scripts.

      To test this final attempt my expectation is that my Lubuntu ISO is first installed, then the kernel upgraded to 4.4.0-31-50 (using https://goo.gl/SuDpwe) and then once rebooted the test kernel upgraded (using https://goo.gl/ehexpU).

      Once tested Lubuntu should be re-installed from my ISO otherwise an unstable (and unsupported) system will result.

      So the key test will be if the system doesn't freeze when cstates haven't been limited. If this last test fails then I think the 'cstate' work-around becomes the fix and I can drop any existing 'freeze' patches going forward.

      And in case anyone is wondering why I've created the final test this way ... it made it more interesting!

      Delete
    7. After first round, it current uptime is 2hrs 20mins and counting. So i will make a clean install and apply your kernel again. As long as the stick runs, i will not touch it. Reliably testing a alpha is not so easy, because they make big changes to all kinds of packages. 2. the crash behavior is hard to measure, because of the not reproducible test runs and very small sample size, which is statistically a disaster :).

      I reduce my system size after installation to essential packages, because the alpha apt upgrade does affect hundreds of packages each time. What isn't there, wont be upgraded. 8GB of storage are the 2. argument...

      With unzip, you're right. Perhaps arguing about it took more time then implementing a check :). It only failed silently here and if you have remixed your installation to something more basic, you get hit by it.

      Delete
    8. I agree on the 'Alpha' testing and that is why I've made the final test based on 4.4.0-31-50 using my 16.04 ISO (from https://goo.gl/MXcS8x) ... sorry if I didn't make that clear.

      Delete
    9. Stopped testing 16.10 alpha with 4.6.4-040604.201607111332+ics-development-linuxium.
      1. Run freeze after 50min,
      2. Run aborted after 4hrs - no freeze. Load average: 1,13, 1,34, 1,54. Going back to your 16.04 development tree.

      But it looks like a small victory :).

      Delete
  20. How can I address the display overscan? We are using the BOXSTK1AW32SC for digital signage but see no way to access the overscan adjustments.

    ReplyDelete
  21. Have you had any luck preventing freezing on STK2M3?

    ReplyDelete
    Replies
    1. I've never seen/heard of a freeze on a STK2M3 (Skylake) stick. The freeze is related to Atom SOCs specifically Baytrail.

      Delete
    2. I'm running a STK2M3 on 16.04 desktop and it freezes up after about 5 hours of use. I've tried updating to the latest 4.6.3 kernel and have tried the IPv6 and cstate changes with no luck. :/

      Delete
    3. This one here discussed is triggerd by 3D load and or video playback, running glxgears maximized in the background and overlapped by half with a chromium window playing youtube in a loop. This lead to freezes in 15-60Min. If your system runs in this state more then a few hours, it is something else. I would change connected peripherals and try to isolate or trigger the freeze somehow. In my case i have no syslog or xorg.log entries if it happens, maybe you got something.

      Delete
    4. I have nothing in my logs, and no connected peripherals. I do have four chrome tabs open, set to rotate between the tabs ever 30s and refresh the tab.

      That being said yesterday afternoon I updated to the intel-drm mainline kernel and the stick made it overnight for the first time. http://kernel.ubuntu.com/~kernel-ppa/mainline/drm-intel-nightly/current/

      Delete
  22. I installed your xubuntu-16.04-desktop-linuxium-ics from this site, the patch and the command two limit c-state on an Intel 8gb+1ram, everything is working good so far. I even went as far as installing Steam (which I had to move to the external SD and create symlinks, but it's ok) I played a few Counter Strike games.

    My question is, given it's only 8GB on the most basic model, I get the 1GB swap partition but isn't the EFI too big? Is that something you did on purpose or comes like that with the installer? Can it be changed?

    After a fresh install I get about 2.1 GB free but I think it could be more

    ReplyDelete
    Replies
    1. Also, I'm running Xubuntu and Kodi on top of that, since kodi installs it's own greeter It's easy to set up Kodi to launch on boot from lightdm, which is set up once and there's no need to do anything else. However, if I were to install some JeOS like OpenElec how would I boot it?
      I was unable to boot USB images of elementaryOS (my favorite distro) and Windows 7, both images work great on my macbook. Is anything I'm not aware about the booting process on the stick?

      Delete
    2. You can change the default partitions during installation by choosing 'something else' when prompted in the 'what/where to install' step.

      To boot other OS you can customise the grub menu by adding a '40_custom' file or booting from an ISO file including one stored on a USB (see grub2 documentation - 'CustomMenus' and 'ISOBoot').

      Finally Windows 7 isn't officially supported and I am not aware of anyone getting it to work.

      Delete
    3. To have more space, choose in the custom partition options BTRFS for the root "/" filesystem. after the installation run "btrfs fi defrag -r -clzo /" as root. if you want a even better but slower compression use "-czlib". this gives you ~30% more space. you can edit fstab to use compression by default.

      Delete
  23. Hi Ian, was a few days off. Made a fresh install of lubuntu 16.04 and the latest kernel from your main post. Got this setup:
    $ cat /proc/cmdline
    BOOT_IMAGE=/boot/vmlinuz-4.4.0-31-linuxium root=UUID=d6c09b42-a46a-4b2a-be9f-c6692f498d6b ro zswap.enabled=1 zswap.compressor=lz4 quiet splash vt.handoff=7

    After 3 test runs, all failed <30Min it is safe to mark it as unstable. Does your dev kernel have other patches?

    ReplyDelete
    Replies
    1. Yes my ISO plus 4.4.0-31-linuxium definitely needs max_cstate=1 as the included patches are not sufficient to fix freezing alone. However my new test kernel (using https://goo.gl/ehexpU) additionally contains the c#329 patches as well and the question is whether those patches actually do help in reducing/eliminating freezing or whether max_cstate=1 is effectively 'the' fix.

      Delete
    2. Good job Ian. First run for 12h+ stable.
      http://h2331733.stratoserver.net/ics.html

      Delete
    3. up 1 day, 13:11, 2 users, load average: 1,67, 1,50, 1,49. Will start a second run to see if it will make it over the weekend. Caches are running full because of chromium.

      Delete
    4. up 2 days, 19:45, 2 users, load average: 1,67, 1,22, 0,74

      Your kernel seems fine and stable.

      Delete
    5. Many thanks for your testing. I've included the patches in my latest releases posted here http://linuxiumcomau.blogspot.com.au/2016/08/running-latest-ubuntu-on-intel-compute.html ... the downloads look the same as before except that the ISOs are now 16.04.1 and all the kernels (except v4.7 as noted) include the c#329 patches.

      Delete
  24. Hi Ian, I'm running your Xubuntu build on a STCK1A32WFC, and it's working great...running CrashPlan to cloud backup my NAS mounted over NFS.

    I got one of the $50 STCK1A8LFC units, and I'm working to get FreeBSD 11 running on it. It boots fine on a USB stick from UEFI, but I don't see the EMMC devices, so I'm thinking there's something in the UEFI code preventing that? Do you have any pointers on that issue?

    I also tried chainloading from the stock grub, but haven't yet been able to figure out the magic combination to make grub see the UFS partition on the stick.

    What I'd like is a link to your kernel source (it's GPLv3 after all) so I can look at the mods necessary for HDMI sound, bluetooth, and wifi, should they not work once I get it installed.

    Cheers!

    ReplyDelete
  25. I just received the Intel Core m3 stick, STK2M364CC, which comes without an operating system. The config page in the BIOS utility does not have the "Select operating system" prompt, just the device list (after Event, Fan, and State):
    Bluetooth, Wireless LAN, SD Card USB, Power state, Wake System from S5
    All are enabled, except for Wake System from S5.
    The Boot page has the list:
    Boot Display, Num Lock, Internal UEFI Shell, Network Boot, USB Boot, UEFI Boot, Legacy Boot
    Default has all enabled except for "Internal UEFI Shell" and "Legacy Boot", which are both disabled. If you enable Legacy boot, Legacy Boot Order reports "No Boot Drive"

    With a USB drive in the port on the stick, the boot page from hitting F10 does not have any choices listed. I tried a variety of options, for example, disable all boot devices except for USB, two different ISO's (Ubuntu Mate and Lubuntu) on two different sticks, but still no choices on the "F10" boot page.
    I did get a choice to show up by enabling "Internal UEFI Shell", and got to what looked like a boot page :

    UEFI Shell version 2.50 [5.11]
    Current running mode 1.1.2
    Device mapping table
    blk0: BlockDevice
    blk1: Removable HardDIsk
    blk2: Removable BlockDevice
    Press ESC in 1 seconds to skip startup.nsh
    Shell>

    Look like this is where I need to do something.
    Any clues ?

    Thanks,
    Chuck Mosher

    ReplyDelete
    Replies
    1. You are correct that the Core M3 BIOS excludes an 'Operating System/OS' option because it only has a 64-bit bootloader. I have a video of the BIOS settings https://youtu.be/JYu331X1z2o against which you can compare your settings. From your description everything looks correct so I suspect the issue may arise in how you are preparing your USB drive with the ISO. Can you clarify the steps you took?

      Delete
    2. Thanks for the reply ! Sure enough, how I created the ISO on my USB is the culprit. I created it by downloading your ISO's above to my Ubuntu laptop, and then used "dd" to copy the ISO to the USB.

      I came across a post that stated that UEFI boot requires a FAT32 file system, so I used "rufus" on a Windows PC to copy the Ubuntu Mate ISO to a USB.

      This time, my "Setup" pages matched your video, and I was able to install and get up and running !

      Thanks again for the work you have done to make it possible for us to follow in your footsteps !

      Best regards,
      Chuck Mosher

      Delete
  26. Hi, I've just downloaded the Ubuntu ISO 16.04 and trying to install on a STK1A32SC. I've set the BIOS to Windows 64bit - I only have Windows 32 bit and Windows 64 bit available in BIOS. It boots fine from my USB-stick with the ISO on it. BUT when trying to install to the internal drive it fails when reaching "Installing the 'grub2 package..." It throws this error: "The 'grub-efi-amd64-signed' package faild to install to /target/.Without the GRUB boot loader, the installed system will not boot.

    Any ideas on how to fix this?

    ReplyDelete
    Replies
    1. Okay, so I just ran https://help.ubuntu.com/community/Boot-Repair after installation failed, which resulted in a working boot partition...

      Delete
    2. But sound is not working... wi-fi does, haven't checked bluetooth...

      Delete
    3. Just installed the 4.6.4-040604 Kernel, and sound is back

      Delete
    4. A newly updated package is now causing the ISO to fail when installing and connected to the internet so I need to respin the ISOs ... as 16.04 point 1 is now out I'll just replace the 16.04 ISO with a 16.04.1 ISO.

      Delete
  27. Hi. Thank you for your work. When I boot STCK1A8LFC and press f10 I don't see my usb flash drive. Should I update bios or change some bios settings?

    ReplyDelete
    Replies
    1. How did you prepare your USB? Did you use "dd" on Linux or "rufus" on Windows?

      Delete
    2. I used unetbootin under mac.

      Delete
    3. I've never tried that way so maybe it doesn't work? Given you have a STCK1A8LFC why not use "dd" on it to produce the USB? Also I think you can use "dd" on OS X (plug in your USB; 'diskutil list' to show disk number of the USB; 'diskutil unmountDisk /dev/diskN' where 'N' is the USB; 'dd if=lubuntu-16.04.1-desktop-linuxium-ics.iso of=/dev/diskN' substituting correct ISO filename and value for 'N').

      Delete
    4. https://github.com/thefanclub/dd-utility/tree/master/DMG lets me see my usb drive in boot [f10] menu.

      Delete
    5. BTW use an ISO from the post at http://linuxiumcomau.blogspot.com.au/2016/08/running-latest-ubuntu-on-intel-compute.html as they are later and better than those above.

      Delete
  28. FYI, I was not able to install Xubuntu but Lubuntu seems to work.

    ReplyDelete
    Replies
    1. but I tried old (2016/05)
      I will try 2016/08 as well

      Delete
    2. Use the ISOs from
      http://linuxiumcomau.blogspot.com.au/2016/08/running-latest-ubuntu-on-intel-compute.html

      Delete
  29. I'd like to get Debian 8 working. The installer boots ok, but it doesn't seem to detect the internal 32GB storage. I have the STK1A32SC. If I can get to the point of getting the storage working, then the rest should come easy enough.

    ReplyDelete
    Replies
    1. Sorry...left off the questions. What kernel modules enable the internal storage? Is there some place with detailed steps?

      Also, its the stock Debian 8 installer than I'm attempting to use. It does prompt for the wireless firmware...which could be helpful.

      Delete
    2. Answering my own questions in case others come here. The internal storage is considered a mmc device. the Debian 8 installer had too old of a kernel for the version of the mmc device. Debian testing version worked fine. Still need the Intel wireless firmware but that should be pretty easy to come by.

      Delete
  30. 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

    ReplyDelete
  31. thanks for creating these distributions, installed lubuntu from this set on STCK1A32WFC, it works pretty well sound, wifi etc, next thing installed ssh-server, openjdk and tomcat, now that little compute stick works as a tomcat 'server' served over wifi, no usb wires, keyboards, dongles, mouse etc ('headless' setup). later would find somd time to patchup the sd/mmc card support.
    sent a little token donation, good job !

    ReplyDelete
    Replies
    1. Many thanks for the donation.

      Delete
    2. i think running tomcat on (l)ubuntu on compute stick is a pretty neat 'iot' scenario, apps (servlets) can be 'uploaded' as 'war' files into it and given java lots of interfacing opportunities e.g. http://usb4java.org/

      Delete
    3. installed Avahi (apt-get install avahi-daemon avahi-utils), edit:
      /etc/avahi/avahi-daemon.conf
      [publish]
      publish-workstation=yes

      the compute stick now becomes 'discoverable' once it is connected to wifi

      on the client PC:
      >avahi-browse -av
      + enp3s0 IPv4 computestick [28:c2:dd:6a:5e:fe] Workstation local

      Delete
    4. This comment has been removed by the author.

      Delete
    5. while tomcat is a 'web server', nothing stop writing an app that 'streams' files from an android phone/device & tomcat displays it over hdmi on the compute stick. 'air play' or whatever acronym it is named ;)
      intel seemed to have something similar but it seemed intel cancelled it rather recently
      https://en.wikipedia.org/wiki/WiDi
      https://www-ssl.intel.com/content/www/us/en/architecture-and-technology/widi-pro-widi-discontinued-notice.html

      Delete
    6. superseded by 'intel unite'
      https://www-ssl.intel.com/content/www/us/en/architecture-and-technology/unite/intel-unite-overview.html

      Delete
    7. it turns out the concept is hardly new: Rpi smart tv
      https://www.codementor.io/nodejs/tutorial/build-google-tv-raspberrypi-nodejs-socket-io

      Delete
  32. This comment has been removed by the author.

    ReplyDelete
  33. I am naive in this matter. Trying to learn. I have Intel Stick STK1AW32SC with 16.04.1 on it. I had downloaded original version and just saw your blog that you have modified it to enable sound and audio. Currently I am not getting sound. Everything is working fine otherwise. Is there a way or a patch around which can be loaded to enable sound or do I uninstall and reinstall your modified version. Please help.

    ReplyDelete
  34. I am naive in this matter. Trying to learn. I have Intel Stick STK1AW32SC with 16.04.1 on it. I had downloaded original version and just saw your blog that you have modified it to enable sound and audio. Currently I am not getting sound. Everything is working fine otherwise. Is there a way or a patch around which can be loaded to enable sound or do I uninstall and reinstall your modified version. Please help.

    ReplyDelete
  35. Hi there,
    I have a STK1A8LFC stick with original Ubuntu 14.04 LTS on it. Wifi does not work with my WPA2/AES lan setup so I thought I'll give your latest 16.04 "MATE" a try. Got the iso and dd'd it to a USB drive. I can select the USB stick using the uefi boot menu (F10). Grub screen shows and I select "Try Ubuntu MATE without installing". I select that. Then for a split second, I see a message like "efi: requested map not found", then the MATE logo screen shows up and soon after ... I am back to my existing 14.04 LTS installation. What am I missing here, since everybody else seems to have no problem booting from usb?
    Any hints are greatly appreciated.

    Thank You,
    Markus.

    ReplyDelete
  36. Hello, I would like to download ubuntu 16.04 but I do not have access to the file. How do I get access?

    ReplyDelete
    Replies
    1. It has been superseded. Respin a 16.04 LTS desktop 64-bit ISO using my 'isorespin.sh' script (see latest posts).

      Delete
  37. Disabling built-in wifi module via BIOS (updated it to latest v35 just in case too) solved STCK1A8LFC stick freeze problem for me even without any Ubuntu 14.04 kernel updates and c-state manipulations (tried them - not helped). Had to put external USB wifi dongle to still have wireless compatibility.

    ReplyDelete