How to bring fully distributed and secure communication capabilities to embedded products and IOT (Part 1).

Jami is a communication tool developed by Savoir-faire Linux. It is available for Windows, MacOS, standard Linux distribution like Ubuntu or Fedora and smartphones (Android and iOS). In order to give the opportunity to use Jami in embedded products and IOT, we decided to include Jami in Yocto, the Linux distribution creator. This addition is a huge step for providing secured communications between all kind of devices. This article gives a presentation of Jami as well as Yocto. Finally, it gives the reason why we added Jami in Yocto and how to use our work.

Jami: a free and secured communication tool

Jami is a free and open source audio, video and text peer-to-peer communication platform. It does not require a server, and implements distributed and secure end-to-end encrypted communications for multiple platforms. Moreover, this distributed architecture offers private life protection on the Internet.

Jami is intended for mainstream users as well as professionals. It provides users with a universal, autonomous, free and secure communication tool. Recently, Jami has implemented some new and interesting features. One of the main is the video conferencing system that allows to have a large group of participants. Then, the possibility to create rendezvous points. These are accounts that can be called at any time even if the creator is absent or in another call. And to finish, Jami’s team developed Jami Account Management Server (JAMS). JAMS allows you to create and manage your own community of Jami users.

Jami is available at https://jami.net

Yocto project, a simple way to customize your Linux distribution

The Yocto project is an open source collaboration project that helps to produce custom Linux distributions for multiple platforms. Savoir-faire Linux is a member and an active contributor to the Yocto Project Participants.

From a reference distribution named Poky, Yocto gives the freedom to take layers already created but also to make your own. The goal of these layers is to include or customize any features you want in your final distribution. Each layer contains recipes which describe what you want to install in your Linux image.

Bitbake, the building tool of Yocto, will then generate a Linux image ready to be flashed on your embedded device, according to the content of your recipes.

More information at http://yoctoproject.org

Why add Jami in Yocto?

We packaged Jami in Yocto in order to use Jami in any custom distribution and make it easier to add it in your image.

We created a layer to wrap the application and all its dependencies. The created layer provides the graphical application of Jami that includes the backend daemon (https://git.jami.net/savoirfairelinux/ring-daemon) and the multiplatform QT client (https://git.jami.net/savoirfairelinux/jami-client-qt).

To use it, download the layer, add it to your configuration and just append Jami to an image that provides a graphical environment. Then, you will be able to create an account and call any other Jami user, as if you were on your standard Linux distribution.

For the moment, Jami has just been tested on an x86-64 Yocto distribution, but adding Jami in Yocto opens the opportunity to use it on every platform supported by Yocto.

The layer is available at https://github.com/savoirfairelinux/meta-jami

Feel free to install and try it out! We look forward to receiving your feedback.

Leave a comment

Your email address will not be published. Required fields are marked *

Similar articles

Image of an arrow

Introduction Continuous Integration (CI) is a development practice that consists in constant and frequent merges of a team’s contributions into a shared repository. Code quality, reliability and non-regression are verified thanks to automated  builds and testing prior merging each modification. Unlike software applications, there are multiple things to consider when setting up a CI with […]

A previous article was dealing with recommendations concerning the set up Linux RT and its application software. This article will provide an industrial use case and focus on the performance measurement on a dedicated hardware.   A Practical Demonstration SFL performed tests to demonstrate these principles on a custom board containing a Cirrus Logic EP9302 […]

Using Linux with the PREEMPT_RT option can make it possible to run a modern, secure kernel on an older, limited performance single board computer (SBC), perhaps avoiding a costly hardware upgrade campaign. This topic will be addressed in two parts. The first article will consider Real-Time Linux implementation in the kernel. The second article will […]

The first article in this series presented the motivations and advantages of embedding a container image into a Linux embedded system and considered the challenges that this new paradigm brings up. The second article presented different approaches to embed a container into the Yocto build system, with Docker engine installed on the target machine. A […]