Friday, November 17, 2017

Linux 4.14.0 on the Alix 2c3 and 2d3

Up to recently the kernel 4.1.0-rc6 was the last one I was able to run on my Alix 2c3. Tag v4.1-rc7 would only do boot loop: grub loads the image and it reboots immediately without any output on serial.
I tried running git bisect but I haven't found anything useful: f18c34e48 would be the first bad commit but that seems strange. I think the commit only unmasked some other issue. Reverting it would make a few later commits work, but for e75c73ad6 the revert no longer helps.
But there is some good news: kernel 4.13.5 does not boot-loop and it does not freeze. It dies on a kernel BUG in the driver for the cs5535 timer (a spurious interrupt), but that can be fixed. The issue was introduced in 8f9327cbb, so it's been present in tags ≥ v4.3-rc7. For the record, the bug is only there because of a spurious interrupt at an unexpected moment. If the spurious interrupt wasn't there, the code would work OK. The interrupt looks like an Alix oddity. The issue is fixed in eb39a7c03, it's included in kernels ≥ v4.14-rc6.
All in all, upstream kernels ≥ 4.14-rc6 work again on the Alix 2 (I tested them on Alix 2c3 and Alix 2d3). :-)
Here is my 4.14.0 config. It's tuned for my needs - you most likely want to adapt the configuration for things like wifi and usb drivers, filesystems... But it should provide a working initial setup.

Sunday, January 15, 2017

The new Ubuntu SDK, part 3

[Update: Changed links to source code from and to which is where the current tools probably live.]
Ubuntu SDK IDE offers custom project templates. Either CMake or qmake based.
I wonder how does the C++ compilation with CMake work in the Ubuntu SDK, so let's explore the "QML App with C++ plugin (cmake)" template. The source code for it can be seen in the qtcreator-plugin-ubuntu package. It includes all the parts required for a click package, wrapped in CMake:

Saturday, January 14, 2017

The new Ubuntu SDK, part 2

[Update: Changed links to source code from and to which is where the current tools probably live.]

Continuing from part 1, which shows how to use the current Ubuntu SDK from the command line, let's have a look at how does the build from the SDK IDE (rebranded Qt Creator) work.
There are two relevant packages:

Friday, January 13, 2017

The new Ubuntu SDK, part 1

[Update: Changed links to source code from and to which is where the current tools probably live.]

In September of 2016 Canonical released an updated version of the Ubuntu SDK. The main change there was a move from the schroot-based build images (kits) to LXD-based images as can be read in the announcement. Some more details are mentioned in the beta announcement. But that's about all I found about this change.

Luckily, there are some other places where one can see how does the new SDK work and how to use it from the command line: