Difference between revisions of "Yocto Project my own quick start"

From KoanSoftware Wiki
Jump to: navigation, search
(The Packages)
(BitBake requires Python 2.7.3 or later)
Line 13: Line 13:
 
     build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
 
     build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
 
     xz-utils debianutils iputils-ping libsdl1.2-dev xterm
 
     xz-utils debianutils iputils-ping libsdl1.2-dev xterm
 
== BitBake requires Python 2.7.3 or later ==
 
 
BitBake requires Python 2.7.3 or later <BR>
 
If you have Ubuntu older that 12.04 LTS you have to install Python 2.7.5 manually
 
 
sudo apt-get install libreadline5-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
 
 
wget http://www.python.org/ftp/python/2.7.5/Python-2.7.5.tar.bz2
 
tar xjvf Python-2.7.5.tar.bz2
 
cd Python-2.7.5
 
 
./configure
 
make
 
sudo make install
 
 
python -V
 
 
  
 
== Development Code - branch krogoth ==
 
== Development Code - branch krogoth ==

Revision as of 14:32, 24 April 2018

This page is an excerpt from Yocto Project Quick Start Copyright © 2010-2013 Linux Foundation


The required packages

Packages and package installation vary depending on your development system. In general, you need to have root access and then install the required packages. The next few sections show you how to get set up with the right packages for Ubuntu.

If you have different distributions, please refer to the Yocto Project Quick Start

The packages you need for a supported Ubuntu distribution are shown in the following command:

    $ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
    build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
    xz-utils debianutils iputils-ping libsdl1.2-dev xterm

Development Code - branch krogoth

Yocto Project code can be found in the Yocto Project Source Repositories. To check out current development code using git:

$ cd $HOME/yocto
$ git clone git://git.yoctoproject.org/poky -b krogoth


$ cd $HOME/yocto/poky
$ git clone git://git.openembedded.org/meta-openembedded -b krogoth
.
└── poky
    ├── bitbake
    ├── documentation
    ├── LICENSE
    ├── meta
    ├── meta-hob
    ├── meta-skeleton
    ├── meta-yocto
    ├── meta-yocto-bsp
    ├── oe-init-build-env
    ├── README
    ├── README.hardware
    └── scripts


Download the Freescale layers:

$ cd $HOME/yocto/poky
$ git clone git://git.yoctoproject.org/meta-fsl-arm -b krogoth
$ git clone https://github.com/Freescale/meta-fsl-arm-extra.git -b krogoth

Download the Qt5 layer (if necessary):

$ cd $HOME/yocto/poky
$ git clone https://github.com/meta-qt5/meta-qt5.git -b krogoth

Initializing the Build Environment

From the parent directory your Source Directory, initialize your environment and provide a meaningful Build Directory name:

$ cd $HOME/yocto/poky
$ source ./oe-init-build-env

At this point, the build directory has been created for you and it is now your current working directory. This is the default tree you should have to build.

.
└── poky
    ├── bitbake
    ├── build      <----- run bitbake inside here
    ├── documentation
    ├── LICENSE
    ├── meta
    ├── meta-fsl-arm
    ├── meta-fsl-arm-extra
    ├── meta-hob
    ├── meta-skeleton
    ├── meta-yocto
    ├── meta-yocto-bsp
    ├── oe-init-build-env
    ├── README
    ├── README.hardware
    └── scripts


Edit the configuration files

Edit $HOME/yocto/poky/build/conf/bblayers.conf

BBLAYERS ?= " \
/home/tux/yocto/poky/meta \
/home/tux/yocto/poky/meta-yocto \
/home/tux/yocto/poky/meta-yocto-bsp \
/home/tux/yocto/poky/meta-openembedded/meta-oe \
/home/tux/yocto/poky/meta-fsl-arm \
/home/tux/yocto/poky/meta-fsl-arm-extra \
"

or if use Qt5

BBLAYERS ?= " \
/home/tux/yocto/poky/meta \
/home/tux/yocto/poky/meta-yocto \
/home/tux/yocto/poky/meta-yocto-bsp \
/home/tux/yocto/poky/meta-openembedded/meta-oe \
/home/tux/yocto/poky/meta-fsl-arm \
/home/tux/yocto/poky/meta-fsl-arm-extra \
/home/tux/yocto/poky/meta-qt5 \
/home/tux/yocto/poky/meta-openembedded/meta-ruby \
/home/tux/yocto/poky/meta-openembedded/meta-multimedia \
"

Remembed to edit also $HOME/yocto/poky/build/conf/local.conf

Building the Image

At this point, you need to select an image to build for the BeagleBoard. If this is your first build using the Yocto Project, you should try the smallest and simplest image:

    $ bitbake core-image-minimal  

Now you just wait for the build to finish.


Starting the QEMU Emulator

Before you start the QEMU emulator, be sure you have already to set up the emulation environment.

The following commands setup the emulation environment and launch QEMU. This example assumes the root filesystem (.ext3 file) and the pre-built kernel image file both reside in your home directory. The kernel and filesystem are for a 32-bit target architecture.

    $ runqemu qemux86 tmp/deploy/images/bzImage-qemux86.bin tmp/deploy/images/core-image-minimal-qemux86.ext3

The environment in which QEMU launches varies depending on the filesystem image and on the target architecture. For example, if you source the environment for the ARM target architecture and then boot the minimal QEMU image, the emulator comes up in a new shell in command-line mode. However, if you boot the SDK image, QEMU comes up with a GUI.