Sunday, July 10, 2016

MPTCP, Raspberrry PI and Yocto - UPDATED

The goal of this post is to describe how to create a Yocto image for a Raspberry PI3 with MPTCP support

The starting point for this tutorial is my post RaspberryPI3 and Yocto.

To build Yocto with MPTCP support you need:

  • RPI layer from (master branch)
  • My mptcp layer from

Here you can find the patch applied to RPI layer to manage kernel extension with bbappend. It is not included in pyro branch of RPI layer:

Download the new layers

You can download the new layers with:
git clone
git clone

Add the new layers

To add the new layers, you have to modify the file "conf/bblayers.conf", as described in this example:

  /personal/yocto/poky-pyro-17.0.1/meta \
  /personal/yocto/poky-pyro-17.0.1/meta-poky \
  /personal/yocto/poky-pyro-17.0.1/meta-yocto-bsp \
  /personal/yocto/poky-pyro-17.0.1/meta-raspberrypi \
  /personal/yocto/poky-pyro-17.0.1/meta-openembedded/meta-oe \
  /personal/yocto/poky-pyro-17.0.1/meta-mytechpg/meta-mtpg-mptcp \


Build it and test it!

Then, you can create the new image and test it, as described in the RPI3 tutorial.

To build a more complete environment, I suggest you can to use this command:
bitbake core-image-full-cmdline

MPTCP and yocto

You can find the kernel recipes in meta-mtpg-mptcp/recipes-kernel/linux.
The kernel release is defined in RPI recipe and the file linux-raspberrypi_4.9.bbappend  simply adds kernel patch and new configs.
To update MPTCP (or change its configuration), it is sufficient to modify 6010_mptcp-4.9.44.patch or mptcp.cfg.