Saturday, February 13, 2016

Creating a BSP Layer using yocto-bsp

What is a BSP layer?
A BSP layer contains a set of recipes which when built can result in an image that will run on a particular board.

Few examples for yocto BSP layers are
meta-fsl
meta-ti
meta-intel
meta-raspberrypi etc

Creating this layer has been made user-friendly with the help of yocto-bsp command.

To run the yocto-bsp command, export the yocto environment settings by sourcing the oe-init-build-env script.

The usage of the command is shown in the below image.
yocto-bsp help message

Before going into create learn what the command has to offer with its list subcommand.

If you run the command yocto-bsp help list you will get a detailed message with info on the list of architectures supported and the properties of the BSP.

To create a BSP for the arm architecture run the below command. The below commands are run in fido version of Yocto.

yocto-bsp create <bsp_name> arm

Note:
1) You can mention the directory in which the meta-bsp has to be created with the -o option.
2) You can pass the values of properties using a JSON file with the -i option.

Below is an example for ashversity BSP

ashversity BSP creation







The command first checks your git connectivity and provides you with the option whether or not to use the latest kernel. If you choose the option as yes then you will be prompted with the machine branch, but if you choose no you will be provided with the options shown in the below image.
List of Kernel choices



If your choice is other than custom you will be prompted regarding the next property. But if your choice is custom you will be prompted with further queries shown below.




If you choose no for remote git repo then you have to provide the path for the local git repo.

You can specify the branch and the commit id of your kernel. You will be prompted for kernel version, version extension and defconfig file's path.

You are presented with the following options, if your choice of kernel is other than custom.

Yocto kernel options






You can choose symmetric multi processing support if you need it.

There are a few more properties(common to custom and yocto kernel) that is needed by BSP. The properties are shown in the below image.


You have to mention the tuning optimization according to your arm architecture. The other options are self explanatory.

Finally your BSP is created and is ready for further customization. The contents of BSP and modifying it will be explained in the following post.

No comments:

Post a Comment