See you at the Automotive Linux Summit in Tokyo

Automotive Linux Summit connects the developer community driving the innovation in automotive Linux together with the vendors and users providing and using the code in order to drive the future of embedded devices in the automotive arena. Once again this year, ALS will gather over 1,000 attendees from global companies leading and accelerating the development and adoption of a fully open software stack for the connected car.

Konsulko Group works closely with Automotive Grade Linux to support AGL development, releases and demos. If you are in Tokyo at ALS, please be sure to say hello to Scott Murray and Matt Ranostay from Konsulko, and don’t forget to congratulate AGL Executive Director Dan Cauchy as an ECD Top Embedded Innovator of 2018!

Konsulko Group sponsors TuxCon 2018

Konsulko Group was proud to be a Gold Sponsor of TuxCon 2018 in Plovdiv, Bulgaria on June 9th and 10th. TuxCon is an annual community event about free and open source software and hardware. It is organized by volunteers and free for all visitors. Twitter hashtag: #TuxCon.

Headquartered in California, Konsulko Group works with our customers throughout North America, Europe and Asia. Our European subsidiary, Konsulko Ltd is based in Sofia, Bulgaria.

If you are building a new product, we’d love to talk with you about engaging Konsulko’s engineering expertise and experience on your project. Or if you’re a software developer with a passion for Linux, please contact us about joining the Konsulko team.

Konsulko Group presented two technical talks at ELC North America 2018

Konsulko engineers gave two well-received presentations at the Embedded Linux Conference, the premier vendor-neutral technical conference for companies and developers using Linux in embedded products. Slides and abstracts are available at the links below.


Tuesday, March 13 • 2:00pm – 2:50pm
Automating Open Source Hardware Lightning with Home Assistant and MQTT – presented by Leon Anavi


Tuesday, March 13 • 4:20pm – 5:10pm
poky-tiny and Beyond, or Trying to put the Yocto in Yocto Project – presented by Scott Murray

ELC North America was held in Portland, Oregon, March 12-14, 2018.

What We Learned from Jim Ready

When Jim Ready passed away at the end of December, he left a legacy in the world of software development that continues to this day and will continue for many years to come. He drove the commercial acceptance of Linux as an embedded operating system in its early days, taking it all the way from “how can this work?” to widespread adoption across one industry after another.

Jim was also an articulate (if occasionally reluctant) spokesman for both Embedded Linux as a community and using the open source methodology for commercial software — the symbiotic parts of a never-ending process.

With his pioneering work with VRTX and Ready Systems, Jim was already well respected in embedded systems when he founded MontaVista Software in the final months of the last century (1999) with the Internet bubble bursting and Linux still very young (and very PC and server focused).

He had the crazy idea that open source software could be a viable commercial solution for every conceivable embedded device. This was a huge leap, basing a business not on the tightly controlled “precious jewel” world of RTOSs, but instead on the constantly evolving, messy organism that was the Linux community. That required looking at commercial software development in the open source model, moving beyond static releases, updates and lifecycle programs, focusing on process instead of product, on outcomes instead of systems, on management and integration instead of authorship.

Many of us at the Konsulko Group worked at MontaVista in those early years. We experienced first hand the paradigm shift and the hard work it took to make it happen. Jim gave us the chance to do something we loved (and in most cases already pursued as a hobby) and turn it into our life’s work. Almost two decades later, through the lasting relationships we formed and the lessons we learned working with him, we are thankful for the opportunities, mentoring and friendship Jim gave us, and that’s part of his legacy as well.

Konsulko joins Developer Panel Keynote at AGL AMM in Tokyo

At the Automotive Grade Linux All Member Meeting at the Hilton Tokyo, Scott Murray, Konsulko Group Senior Staff Software Engineer, will bring his 20+ years experience developing with Linux, plus expertise building custom distributions with OpenEmbedded and the Yocto Project, to the Developer Panel Keynote on Tuesday, February 20, 2018, 11:10am – 11:50am. It promises to be a lively and informative discussion among some of the top engineers working with AGL. If you are planning to attend the AMM, don’t miss this session. We hope to see you in Tokyo!

Konsulko at February conferences in Europe and Japan

The Konsulko Group will be well represented at February 2018 conferences with members of the team attending:
* FOSDEM Brussels February 3-4
* Automobile Grade Linux All Member Meeting Tokyo February 20-21
* 4YFN & Mobile World Congress Barcelona February 26-March 1
* Embedded World Nuremberg February 27-March 1
Hope to see you there. Please contact us if you’d like to meet up at one of the shows.

New video released of “The Konsulko Story”

CEO Pete Popov and CTO Matt Porter talk about the Konsulko Group’s 20-years of experience with Embedded Linux, and introduce the Konsulko team.

Created by multimedia director Alex Vlacos, the video was filmed in October 2017 during the Embedded Linux Conference in Prague, where key Konsulko engineers gathered to give technical papers and demonstrate new technology.

Tool Time: Quilt

All of us have our favorite tools and workflows. For me, I am a fan of git. One of the things I really like about it is git stash, because it lets me keep drafts of my changes and develop them incrementally. But there are times where you need to adapt your workflow to fit within the requirements your customer provides. For example, I’m working with subversion currently with a customer. And while I’m familiar with git-svn, it’s not always the right choice. So I dug around in my toolbox and found quilt from my pre-git days. It’s not quite the same as my usual workflow, but with a minimal of mental gymnastics I’m productive and working rather than fighting with my tools.

Here’s my quick guide to getting started using quilt. As a first step it’s worth looking at the quilt sub-commands:

$ quilt help
Usage: quilt [--trace[=verbose]] [--quiltrc=XX] command [-h] ...
       quilt --version
Commands are:
        add       fold    new       remove    top
        annotate  fork    next      rename    unapplied
        applied   graph   patches   revert    upgrade
        delete    grep    pop       series
        diff      header  previous  setup
        edit      import  push      shell
        files     mail    refresh   snapshot

Global options:

--trace
        Runs the command in bash trace mode (-x). For internal debugging.

--quiltrc file
        Use the specified configuration file instead of ~/.quiltrc (or
        /etc/quilt.quiltrc if ~/.quiltrc does not exist).  See the pdf
        documentation for details about its possible contents.  The
        special value "-" causes quilt not to read any configuration
        file.

--version
        Print the version number and exit immediately.

Some of these are going to look familiar. This is because quilt was one of the inspirations for git. Some of the commands are a little different. For example, quilt fold is the equivalent of doing git rebase –interactive and using the squash and fixup keywords. Using quilt header is like setting your commit message when you git commit your changes. It even has quilt snapshot, which behaves like git stash, but I’m going to set it aside in favor or making new patches as I go. With all of this covered, it’s time to show a sample workflow:

$ quilt new first.patch
Patch first.patch is now on top
$ quilt add src/stuff.c
File src/stuff.c added to patch first.patch
$ ${EDITOR} src/stuff.c
$ quilt refresh
Refreshed patch first.patch
$ quilt new second.patch
Patch second.patch is now on top
$ quilt add src/stuff.c
File src/stuff.c added to patch second.patch
$ # ... and so on

What you’ll notice from the commands is what I feel is the hard part of this work flow, you must tell quilt what to track. Because it’s not your revision control system, quilt doesn’t know what the original state of a file is before you change it. However, with a little time you’ll be doing quilt new, quilt edit and quilt refresh without a second thought.

One noteworthy thing about quilt is the workflow for reviewing your changes. To see what your current patch looks like compared with the state of the tree prior to any changes, you do quilt diff. Note that this is akin to git diff HEAD in that it will disregard changes made since your last quilt refresh. To get the same type of output as git diff, you do quilt diff -z. When you wish to review your series of changes quilt pop will unapply the current patch, and quilt push will apply the next patch in your series. quilt series will list all patches in the series with quilt next, and quilt previous lists the next and previous patches in the series, respectively.