Koen Kooi is best known in the Embedded Linux Community for his work on the OpenEmbedded Project, and Angstrom Distribution. Koen tirelessly provides support to the BeagleBoard community and can be found demonstrating the capabilities of the BeagleBoard at many of the Embedded Linux conferences around the world.
The following is an interview with Koen where he shares a little about his current work and passions.
1. Can you tell us who you are, what you do, where you work, and what you're currently working on professionally and personally?
My name is Koen Kooi and I'm currently working in the Texas Instruments UK DSP System Applications team. I support customers using our ARM and ARM + DSP based products and a substantial part of my time is dedicated to developing and integrating showcases for new product lines. I'm one of the founders and lead developers of the Angstrom Distribution and currently serve on the technical steering committee of the OpenEmbedded Project. My favourite pet project is the BeagleBoard platform which I have been involved with since early 2008.
2. Can you describe your history with Linux and Open Source Software?
I started using linux in highschool during the late nineties with Redhat 4.2 and kernel 2.0.3x. I started getting involved with open source after buying an iPAQ in 2003 and wanting to run linux on that. One thing led to another and I now have contributions accepted into projects ranging from low level like u-boot, linux, udev to high level ones like GNOME.
3. When and why did you become involved with Embedded Linux?
Shortly after getting that iPAQ I found out that it was not supported yet, but that people were working on it. After a while I wanted to try the latest and greatest myself and had to learn about cross-compiling, bootloaders, serial uploads and all the other nice things associated with embedded. At that time the OpenEmbedded project was getting started by the OpenZaurus community and the plan was hatched to base the next Familiar Linux version on that instead of repackaging debian packages. After I asked too many questions I got volunteered to be release manager for Familiar Linux and I have kept doing that type of work, but now for Angstrom.
4. What aspect of hacking embedded linux and/or embedded devices is the most fun for you, and why?
The devices I started with were PDAs and it felt great to be able to hold all the hard work put into it in your hand. Seeing the results on that small screen feels more direct than seeing them on the substantial screen on your desk. Later on I found out that working on new and hard stuff is even more fun! So in 2006 Angstrom was the first distribution to use the ARM EABI standard and I built the toolchain that bootstrapped the Debian armel port. Nowadays I'm working for a silicon vendor, so I get to work on the very latest toys from ARM.
5. Do you have a set of favourite tools, both hardware and software that you recommend most frequently?
I'm an electrical engineer with no programming skill to speak of, so my tools are a bit different from the average embedded hacker :) My most valued hardware tools are the serial cable and digital multimeter. The software tools I recommend are OpenEmbedded for developers and the online Narcissus service for people who quickly need a rootfs or toolchain for their hardware. But the tool I get to recommend most is still Google. You can make a fortune by just typing in most requests into Google and reading back the first hit.
6. MontaVista Linux currently supports open SDKs for the BeagleBoard and several other development boards. What's your opinion of commercial Linux companies supporting boards?
It's a good way for companies to see what they can expect for their own products if they decide to hire an OSV (Operating System Vendor) like MontaVista. It is almost too easy nowadays to build your own embedded distro, but people vastly underestimate the work involved maintaining and updating it. But since it's so easy people want to have a good look at the offerings before spending money.
7. How important is community in the Embedded Linux world?
The big successfull projects in the embedded space (OpenEmbedded, Buildroot, etc) are all from a community background so I'd say that the community is really important. A lot of the other building blocks like u-boot are done by relatively small companies and they need the community to fill the gaps they lack the manpower for. The company behind uboot is now using OpenEmbedded for their distro development.
The community also tries to keep everyone honest, it has a really low tolerance for accepting hacks which also keeps the quality high. Having OSVs like MontaVista involved does help to drive things forward, since in the "real" world there are things like deadlines and deliverables.
8. What do you feel is the greatest change in the Embedded Linux ecosystem over the last two years, both for better and worse?
I would like to say the world dominance of OE, but we aren't there yet :) The greatest change has been Android which suddenly put embedded linux in the spotlight. Android also makes life difficult for non-Android linux developers since it doesn't track mainline aggressively and drivers need Android-specific hacks to work. But it is forcing silicon vendors to get their popular SoCs (System On a Chip) supported in the mainline kernel, which is a good thing.
9. Where do you see the Embedded Linux hardware and software development moving in the next 12 months? For example, will the trend toward build systems continue?
I expect the distinction between build system and SDK to be come less and less so that developers and system integrators can share the same tools.