FOSDEM (Free and Open Source Software Developers’ European Meeting) takes place every year during the first week-end of February. This year the developer-oriented event expects to bring over 5000 geeks to share ideas and collaborate on open source projects. Contrary to most other events, it’s free to attend, and you don’t even need to register, just show up. FOSDEM 2015 will take place on January 31- February 1 in Brussels.
There will be 551 sessions divided into 5 keynotes, 40 lightning talks, 6 certification exams, and with the bulk being developer rooms and main tracks, divided into 7 main tracks this year: Languages, Performance, Time, Typesetting, Hardware, Security and Miscellaneous.
I’m not going to attend, but it’s still interested to see what will be talked about, and I’ve concocted my own little virtual program out of the main tracks and developers’ rooms. There’s a few minutes overlap between some talks on Sunday.. Oh well.
If you won’t be able to attend, you should be able to watch the video and access the slides in a few weeks, as most sessions will be recorded.
- Satuday 10:30 – 10: 55 – Upstream Allwinner ARM SoC (A10 / sunxi) support status by Hans Goede
What is the current status of Allwinner support in upstream u-boot and the kernel, which SoCs are supported, and which features (sound, video, etc.) are supported ?
The linux-sunxi community has been slowly but steadily working on getting Allwinner SoCs like the A10 supported in upstream u-boot and the kernel.
This talk will present the current status of Allwinner support upstream. Which SoCs are supported and which ones are not (yet) supported ? Which blocks if the supported SoCs are supported, and which are not ? Why are some SoCs / blocks not supported, and what are the plans to get them supported ? This are some of the questions this talk tries to answer.
- Saturday 11:00 – 11:25 – FreeRTOS introduction by Atilla Filiz
Not all free operating systems are feature-full POSIX systems. FreeRTOS is a minimal operating system which is designed to run on micro-controllers, and provide real-time scheduling. It is used in industrial automation and automotive.
A brief introduction to FreeRTOS, depending on audience preference, will be followed by either a hands-on workshop using PCs, or a demonstration on a board. The workshop includes how to get started, what can be done with it, and what type of features and pitfalls to expect from FreeRTOS.
- Saturday 11:30 – 11:55 – Xvisor: An open-source, lightweight, embedded hypervisor for your car by Jimmy Durand Wesolowski
As ADAS and infotainment require more electronics, using an hypervisor is a solution to gather multiple boards into one. Xvisor is an open source lightweight hypervisor for embedded systems that perfectly fits the needs of the automative industry. It is a complete monolithic type-1 hypervisor with full virtualization and paravirtualisation support, showing better performances than KVM. We, OpenWide and the Institute for Technological Research SystemX, are working on its port on i.MX6 boards.
- Saturday 12:00 – 12:50 – A GPS watch made of free software and hardware by Federico Vaga, Matthieu Cattin
F*watch is an infinitely hackable GPS watch with many sensors based on a 100% Free design. Everything is Free, from the PCB and watch housing design to the software stack. Moreover, only Free software tools have been used during the development.
F*watch. Why should your watch be different?
The talk describes the development process and shows a first prototype, along with performance measurements and future plans.
- Saturday 13:00 – 13:50 – lowRISC The path to an open-source SoC by Alex Bradbury
The lowRISC project was established in the summer of 2014 with the aim of producing a complete open-source System-on-Chip in volume, with low-cost development boards. Alex Bradbury, one of the co-founders of the project will discuss the progress to date and the path to the first test chip. lowRISC implements the open RISC-V instruction set architecture and is exploring ideas on improving security via tagged memory and increasing flexibility through the addition of RISC-V ‘Minion’ cores to implement soft peripherals. This talk will discuss the potential benefits of a fully open-source hardware ecosystem, the challenges of getting to first silicon, and how the open source community at large can help.
- Saturday 14:00 – 14:45 – How to program your camera! An introduction to CHDK by Steven Goodwin
Digital cameras provide almost every feature you could want. But if they don’t, you are forced to upgrade or go without. CHDK is a project which allows you to program new functionality to the majority of Canon cameras, in either C, Lua, or Basic. The talk features background on the project, code, tools, and the methods of compiling and introducing a new firmware into the camera.
Over the course of 1 hour, Steven Goodwin will guide the audience through the entire process of taking a normal (proprietary) camera and converting it into an open source version by installing custom firmware on it. He will then cover some of the features available (such as the on-device scripting language) and continue by explaining how to build and debug your own functionality. Starting with simple grids, continuing with games, and time-lapse code. And ending with a fully recompiled firmware running on the device.
- Saturday 15:00 – 15: 50 – Video Capture and Colorspaces by Hans Verkuil
The video4linux kernel subsystem reports which colorspace the captured video uses. But what does that really mean, and what do you have to do to correctly reproduce those colors? This talk will dive into the crazy world of colorspaces and give you a practical guide to colorspace handling. I will also demonstrate colorspace handling, both right and wrong.
- Saturday 16:00 – 16:25 – perf status on ARM and ARM64 by Jean Pihet
Kernel profiling tools status on ARM and ARM64: – perf status, – ARM and ARM64 support, – callchain unwinding mechanisms and support, – patches status: merged, pending, in development, – links to discussions (LKML) and patches.
The profiling tools in the kernel are changing at a fast pace. This talk is about the support for ARM and ARM64 architecture and the development of features for these architectures, namely the callchain unwinding. The presentation goes over: – the detailed description of the feature, – the methods used to do the callchain unwinding (fp, exidx, dwarf etc.), – the status of the on-going patches, – the remaining work to be done, – the links to patches, discussions on the mailing lists, – -if needed and if time allows- a demo of the feature.
- Saturday 16:30 – 16:55 – Building a medical monitoring connected device with Yocto – Professional OS with yocto by Adrien Renault
Building a medical device requires to follow certain rules specially when health care depend on it. The presentation will explain how Yocto help us in Kaptalia to solve this issue. In particular we will focus on fast boot, update with unskilled user base, Bluetooth Low Energy, security and data privacy.
During this event we will show how our team succeeded to build our first OS, start from a company with medical expert only and no prior expertise on embedded systems. At the end, a live demonstration for using the the monitor and sensor will be held.
- Saturday 17:00 – 17:45 – Using LAVA for bisecting bugs – The Linaro Automated Validation Architecture by Riku Voipio
LAVA is a python service created by Linaro for testing software on hardware which accepts test jobs to perform on selected hardware to provide a black box to continuous integration tests. Bisecting is a technique for finding commit in version control system that broke the software. Git provides the powerful “git bisect” subcommand for this purposes. In this talk we give and introduction to LAVA and explain howto combine LAVA and git bisect to automatically find offending commits in the Linux kernel.
- Saturday 18:00 – 18:45 – How to record all TV – Creating a 30 channel DVR by Philip Downer
Prospero Technologies has made a Linux based Digital Video Recorder which constantly records all UK broadcast TV so that the consumer no longer needs to schedule recordings. This will be a talk on the technologies used to achieve this, the open source software on the consumer device and how you can build your own 30 channel DVR.
- Sunday 10:00 – 10:45 – Adding advance Connectivity and Security to an embedded project – Tizen-meta as a security and Connectivity layers for Yocto by Dominig ar Foll
More and more embedded projects require support for advance connectivity. With it, comes the requirement to enforce a better security as well as private data protection. Using the layer model of Yocto, we show how we can extract from a complex project such as Tizen, advance connectivity and security and apply it to any embedded project.
The Internet of Things (IoT) is growing fast and opens large opportunities to embedded Linux. Unfortunately traditional embedded Linux has been weak when it comes to security and complex connectivity enabling. Tizen which has been developed as a Linux base OS for connected object (phone, TV, car) is on the other side very well equipped in that area. We will start by explaining what is Tizen architecture and how it provides Security and Connectivity facilities on top of a base Linux. We will then show how Yocto and Tizen-meta can be used to create embedded devices which benefit from several years of work done by the Tizen community. In particular we will review : – the mandatory access control enabling in an embedded device – the enforcement of good behavior by applications – resource access control – connectivity layers – HTML5 App enabling. – multi user mode enabling.
- Sunday 10:40 – 11:10 – A closer look at ARM code quality by Tilmann Scheller
The ARM LLVM backend has been around for many years and generates high quality code, yet there are still standard benchmarks where GCC is generating more efficient code than LLVM. The goal of this talk is to get a better understanding of why the GCC-generated code for those benchmarks is executing more efficiently and also about finding out what we need to do on the LLVM side to address those code generation deficiencies. This talk presents current performance numbers for the SPEC CPU benchmark suites on ARM, comparing the performance of LLVM and GCC, with the main focus on the SPEC CPU integer benchmarks. To dive a little bit deeper, we will also have a closer look at the generated assembly code of selected benchmarks where LLVM is performing worse than GCC and use the results of this performance analysis to point out potential code generation opportunities for LLVM.
- Sunday 11:30 – 11:55 – Using GSM network for IoT – AT commands are not dead by Stepan Bechynsky
Connectivity is crucial for Internet of Things concept. For moving devices like position data loggers is typical solution GSM network. I will show you how you can use different types of GSM network for your IoT projects.
GSM network is easy way how to connect almost any device to internet. There are lot of GSM modules on market from different vendors but all devices has one thing in common – AT commands. There is standardized AT commands set for GSM networks. Using AT command you can send text messages, read phone number from list on SIM card, connect to internet and much more. I will show you basic command set for HTTP communication using basic GSM module SIM900 and Arduino.
- Sunday 12:00 – 12:25 – Backporting Linux mainline drivers by Hauke Mehrtens
This talk will give an overview over the Linux backports project and how to use it. The Linux backports project makes it possible to use a driver from a recent Linux mainline kernel with an older kernel version.
When you have a vendor board support package which does not use a bleeding edge mainline kernel, like it is the case most times, but you want to use some driver from a bleeding edge Linux kernel you can use backports. Backports “automatically” generates a tar with many drivers from a specific Linux mainline kernel which can be used with older kernel versions.
In this talk I will describe how the backports project, with its compatibility layer, the spatches and the normal patches. For practical usage I will show how to use backports with your own kernel in addition I will give a brief overview on how to add a new driver to backports.
- Sunday 12:30 – 12:55 – Patchwork Toolkit – Lightweight Platform for the Network of Things by Kein Thierry
Patchwork is a toolkit for connecting various devices into a network of things or, in a more broad case – Internet of Things (IoT). The main goal of creating this toolkit is to have a lightweight set of components that can help to quickly integrate different devices (i.e. Arduino, Raspberry Pi, Plugwise, etc) into a smart environment and expose specific devices’ capabilities as RESTful/SOAP/CoAP/MQTT/etc services and data streams.
The key features of patchwork include:
- Lightweight (no RAM-consuming sliced pie of Java and OSGi, only bare necessities)
- Cross-platform (can be deployed on OSX/Linux/Windows, tested on Raspberry Pi and BeagleBone Black boards)
- Language-agnostic (device agents can be written in any programming language, APIs can be consumed by app written in any programming language)
- Easily deployable (no JARs, no Eggs or Wheels for the core components, just a single native binary with statically linked dependencies)
- Easily extendable (integrate new devices without modification of the core components, drop in solution)
- Interchangeable (not happy with current existing Device Gateway or Catalog? replace it with another implementation without breaking the infrastructure)
- Not re-inventing the wheel (we re-use as many existing technologies and components as possible)
- Sunday 13:00 – 13:25 – Internet all the things – using curl in your device – everyone uses curl – how did this happen and how do you use it? by Daniel Stenberg
libcurl is the world’s most used and most popular Internet transfer library, already used in every imaginable sort of embedded device out there. How did this happen and how do you use libcurl to transfer data to or from your device?
Embedded devices are very often network connected these days. Network connected embedded devices often need to transfer data to and from them as clients, using one or more of the popular internet protocols.
Daniel once founded the project and is still lead developer and maintainer of the curl project, making curl and libcurl. He is also active within IETF and maintain several other open source projects. Daniel is employed by Mozilla.
- Sunday 13:30 – 13:55 – Porting Tizen to open source hardware devices – DIY open source hardware devices with open source software by Phil Coval (rzr) and Leon Anavi
This presentation will reveal the process of porting Tizen:Common to open source hardware developer boards with SoC manufactured by Allwinner, Rockchip or Intel such as OLinuXino, Radxa Rock, Minnowboard. The following topics will be covered:
- Building Tizen ARMv7 and x86 images from scratch
- Adapting the Linux kernel, bootloader and Tizen:Common to popular single board computers
- Do it yourself (DIY) open-source hardware Tizen tablet or laptop
- Sharing knowledge and experience of the community.
- Sunday 14:00 – 14:50 – Supporting Nouveau on the Tegra K1 System-on-chip – How NVIDIA became a Nouveau contributor by Alexandre Courbot
Although Tegra K1 uses the same Kepler architecture as NVIDIA desktop cards that Nouveau already supports, there are other challenges that need to be addressed before Nouveau can drive K1’s graphic acceleration: the fact that the GPU does not reside on the PCI bus requires architectural changes in the Nouveau core. The absence of dedicated GPU memory directly interferes with the way Nouveau is used to do memory management and leads to potentially sub-optimal behavior. Also, in a system where all devices share the same system memory, PRIME support is mandatory to perform any useful work and the relevance of a driver-agnostic memory allocator becomes perceptible.
This talk will discuss these challenges, and in particular the consequences of using a unified memory architecture, in the hope of triggering discussions that will help improving the general support of GPU architectures for new mobile platforms.
- Sunday 14:40 – 15:10 – KiCad EDA Where we’ve been, where we are, and where we hope to go by Wayne Stambaugh
A brief look at the past, present, and future of the KiCad project. The discussion will be primarily on what near and long term future development is planned for the project as well as discussing the potential for collaboration with other EDA projects.
- Sunday 15:00 – 15:45 – Starting with the Yocto Project by Alexandre Belloni
Yocto has an alleged steep learning curve. It can be a challenge for modules and evaluation board manufacturers to add support for their devices in Yocto as they don’t necessarily have a software background. This talk will highlight the steps required, techniques and good practices to create a well integrated machine configuration allowing to build images using the Yocto Linux build system. The Crystalfontz support from meta-fsl-arm-extra will be used to illustrate the talk.
- Sunday 16:00 – 16:45 – the bitbox console – making of a small, open & DIY ARM game machine by Xavier Moulet
The bitbox console is a small open hardware & open source game console. I will present the rationale behind it and the current status of the project, detail the hardware conception and particularly video signal generation from a cortex-m4 chip with no video subsystem. I will then proceed to show the different elements of the software stack : kernel, video engines, the boot loader and, finally, current programs and games, including a Gameboy emulator and a full motion video player.
If you want to build your own schedule before going, you can check the full list of events by subjects, but an easier way to organize your day is to check the sessions in chronological order, by checking out Saturday and Sunday schedules.