YOCTO 2019

Yocto ,是一个开源社区它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。Yocto Project™是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式Linux开发人员使用。极大地简化你的开发过程,因为你不用再从头裁剪一个完整的Linux发布版本,后者通常包括许多你并不需要的软件。

搭建YOCTO环境,首先是要有一个Ubuntu系统,本人装的系统是Ubuntu-14.04,值得注意的是Ubuntu系统无论是真机还是虚拟机,硬盘分配空间至少要有100G左右,否则可能会出现硬盘空间不足的问题。

虚拟机环境搭建

1).参考nxp官网,下载Freescale_Yocto_Project_User's_Guide

Yocto protect需要安装一些包在虚拟机,重要的包如下:

 

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \

build-essential chrpath socat libsdl1.2-dev

 

sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html\

docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \

libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc

 

接下来就是安装此包:

sudo apt-get install u-boot-tools

 

repo工具创建

repo是一种代码版本管理工具,它是由一系列的Python脚本组成,封装了一系列的Git命令,用来统一管理多个Git仓库。

官方的repo脚本下载方法:

$:mkdir ~/bin
$: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$: chmod a+x ~/bin/repo
$: PATH=${PATH}:~/bin

 

但由于官网被墙,要么处理,要么就用别的repo,我用的是如下repo工具

curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o repo

或者 vim ~/bin/repo 修改

#  REPO_URL = 'https://gerrit.googlesource.com/git-repo'
   REPO_URL = 'https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/'

 

下载代码

下载之前先配置一下git

git config --global user.name "Your Name"
$ git config --global user.email "Your Email"

./repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.52-1.1.0_ga

./repo sync

 

配置yocto bsp环境

 

DISTRO=fsl-imx-fb MACHINE=imx6qsabresd source fsl-setup-release.sh –b build-fb

bitbake fsl-image-gui

如果需要配置qt的话,就用此命令

bitbake fsl-image-qt5

此过程会持续较长时间,虚拟机的话大概需要1-2天,服务器的话大概半天就可以了,主要看电脑或者是服务器的配置

 

Yocto使用技巧

0.使用之前先在根目录:source fsl-setup-release.sh

1.编译完成后的内核,uboot, rootfs,都会放在build目录下的tmp/deploy/images/MACHINE

YOCTO 2019_第1张图片

2. 查找uboot,kernel目录

3.编译内核

4.查找包

YOCTO 2019_第2张图片

5.手动下载source code 

有时候yocto下载会很慢很慢,这时候可以手动下载,比如

可以在本地自己手动git clone git://github.com/Itseez/opencv.git;branch-2.4

然后的yocto里修改bb文件中的SRC ,改为本地路径即可,获取 bitbake opencv -c fetch

6.共享yocto已经下载的文件,加快下载的话可以加大线程数  -j8

YOCTO 2019_第3张图片

包管理器: PACKAGE_CLASS ?= "package_rpm"

Distrbution的License :LICENSE_FLAGS_WHITELIST="commercial"

静态库的添加:SDKIMAGE_FEATURES_append = "staticdev-pkgs"

7.bitbake 参数用法说明 -c 

比如:

YOCTO 2019_第4张图片

YOCTO 2019_第5张图片

比如 bitbake fsl-image-qt5 -c fetchall 下载而不编译

8. yocto  编译架构

Yocto中软件包是放在bb文件中的,然后很多的bb文件集成一个recipe,然后许多的recipe又组成一个meta layer,因此,要添加一个包其实就是在recipe下面添加一个bb(bitbake配置文件)。

9.yocto 在rootfs中添加软件

找到rootfs的 bb文件,假设用的是bitbake fsl-image-gui

则查找  find -name "fsl-image-gui*.bb"

然后打开bb文件,添加软件包即可

10.制作sdk 脱离yocto开发

bitbake fsl-image-qt5 -c populate_sdk

你可能感兴趣的:(嵌入式linux)