what 1.yocto_project is.
Yocto Project is an open source collaboration project. It can provide templates, tools (cross-compilation tool chains, etc.) for building embedded systems. For more information on Yocto_project, please read the following blog:
http://www.ibm.com/developerworks/cn/linux/l-yocto-linux/
(Disclaimer: Blogs are quoted from others and are hereby described) 2.yocto_project use profile 2.1 to get Yocto_project source Pack and build yocto_project development environment
Here, the author speaks only of the Yocto_project configuration in the Ubuntu-12.04 environment, and the other versions of Linux are described in the reference blog above.
1. Download the Ubuntu-12.04 prerequisite plug-in to initialize the Yocto_project environment:
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \
docbook-utils python-pysqlite2 Hel P2man make gcc g++ desktop-file-utils \ Libgl1-mesa-dev Libglu1-mesa-dev mercurial autoconf automake Groff Curl Lzop
A Sciidoc
2. Use repo to obtain Yocto_project source pack:
1. Create A bin folder in the home directory.
$ mkdir ~/bin (This step could be needed if the Bin folder already exists)
$ curl Http://commondatastorage.googleapi S.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
2. Add the following line to the-BASHRC file to ensure, the ~/bin folder is in your PATH variable.
Export Path=~/bin: $PATH
$ git config--global user.name "Your name"
$ git config--global user.email "Your email"
$ git config--list
3. The following example shows how to download the Yocto_project used by the BSP development of NXP (Freescale) vendors, where fsl-release-bsp is a directory created by itself:
$ mkdir fsl-release-bsp
$ cd fsl-release-bsp
$ repo init-u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git- b Imx-3.14.38-6ul7d_beta
2.2 using Yocto_project for NXP (Freescale) BSP Development Example Description
2.2.1 Configuration Environment Variables
1. Unzip the download Good Yocto_project Toolkit, to the tool package root directory, see the following files:
/yocto_project$ ls
fsl-release-bsp_1025.tgz fsl-setup-release.sh README setup-environment Sources
2.2.2 Yocto_project Project download and compile
Description: Yocto_project project is very large after compiling, it is recommended to reserve 120G space for Yocto_project.
2. Select the name of the board you want to compile, specify the compilation build directory, specify the GUI type of the generated file system (-FB,-x11,-wayland)
Use examples:
$ machine=<machine name> Source Fsl-setup-release.sh-b <build dir>-E <backend>
Like I. Mx6ul platform CPU, compile build directory to specify Build-fb:gui type as-FB:
/yocto_project$ machine=imx6ulevk source Fsl-setup-release.sh-b build-fb-e FB
The following message appears the first time you compile:
The local.conf file contains the machine and distro specifications:
machine?? = ' imx6qsabresd '
distro? = ' Poky '
accept_fsl_eula = ' 1 ' The
MACHINE configuration can be changed by editing th is file, if necessary.
Accept_fsl_eula in the local.conf file indicates this you have accepted the EULA.
Anyway, you choose to accept it, and then always hit enter until you start compiling. OK, the first compile yocto_project very long, a good bit of computer configuration will be a day, with a virtual machine with Linux system environment to compile words, will let you wait until the egg pain, so, you can keep the computer running, and then you go to the girls.
3.yocto_project skills and Tips 3.1. How to speed up Yocto_project compilation
Modify the build-dir/conf/local.conf configuration file, modify the following figure:
3.2 Compilation error, how to recompile.
If the compilation error, will sources/poky/meta/recipes-sato/images some of the packages in this file to remove, at the end of their own need to add the appropriate package
For example: Image_install = "Nodejs"
Note: The package name here must be provided in accordance with the official, not taken for granted. 3.3 Compile the generated u-boot, kernel, and file system mirroring where.
After the compilation completes, the generated u-boot, kernel, and file system mirrors are in the Build-dir/tmp/deploy/images/machine_board (IMX6ULEVK) directory, as shown in the figure:
~/newland-work/yocto_project/build-fb/tmp/deploy/images/imx6ulevk$ ls Fsl-image-gui-imx6ulevk-20150908123149.rootfs.ext3 fsl-image-gui-imx6ulevk.manifest zImage Fsl-ima Ge-gui-imx6ulevk-20150908123149.rootfs.manifest Fsl-image-gui-imx6ulevk.sdcard ZImage--3.14.38-r0-im X6UL-14X14-EVK-20150908123149.DTB Fsl-image-gui-imx6ulevk-20150908123149.rootfs.sdcard FSL-IMAGE-GUI-IMX6ULEVK.TAR.BZ2 ZIMAGE--3.14.38-R0-IMX6UL-14X14-EVK-CSI-20150908123149.DTB Fsl-image-g UI-IMX6ULEVK-20150908123149.ROOTFS.TAR.BZ2 modules--3.14.38-r0-imx6ulevk-20150908123149.tgz Zimage--3.14.38-r0-imx6ulevk-20150908123149.bin FSL-IMAGE-GUI-IMX6ULEVK-20150908214837.ROOTFS.EXT3 Modules-imx6ulevk.tgz ZIMAGE-IMX6UL-14X14-EVK-CSI.DTB fsl-image-gui-imx6ulevk-20150908214837
. rootfs.manifest Readme_-_do_not_delete_files_in_this_directory.txt ZIMAGE-IMX6UL-14X14-EVK.DTB Fsl-image-gui-imx6ulevk-20150908214837.rootfs.sdcard U-boot.imx Zimage-imx6ulevk.bin Fsl-image-gui-imx6ulevk-20150908214837.rootfs. tar.bz2 u-boot-imx6ulevk.imx fsl-image-gui-imx6ulevk.ext3 U-boot-sd-2015.04-r0.imx
3.4 How to compile U-boot, Linux kernel separately.
3.4.1 Separate compilation U-boot
The Bitbake command compiles the u-boot individually:
$ bitbake-c compile-f u-boot-imx
$ bitbake-c deploy-f U-BOOT-IMX//Specify compilation generated U-boot mirroring to deploy 3.4.2 compile the Linux kernel separately
The bitbake command compiles the kernel individually:
Bitbake-c compile-f linux-imx//compile kernel
Bitbake-c deploy-f LINUX-IMX//deployment kernel mirrored to deploy directory