系统:ubuntu14.04 LTS

切换软件下载源,确保下载资源是最快。

安装必要软件工具:

  ~$ apt-get install vim

  ~$ apt-get install openssh-server

切换root权限:

  ~$ sudo su

1. 执行以下命令,安装如下软件

  ~# apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat

  ~# apt-get install u-boot-tools

  ~# 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

2. 下载repo

  ~# mkdir ~/bin
  ~# curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo > ~/bin/repo  //获取repo
  ~# chmod a+x ~/bin/repo
  ~# export PATH=~/bin:$PATH

3. 初始化repo并git下源码,依据网速可能要一个小时左右

  ~# mkdir fsl_6dl_release
  ~# cd fsl_6dl_release
  ~/fsl_6dl_release# git config --global user.name "Your Name"
  ~/fsl_6dl_release# git config --global user.email "Your Email"
  ~/fsl_6dl_release# repo init -u git://git.freescale.com/imx/fsl-arm-yocto-bsp.git -b imx-3.14.28-1.0.0_ga
  ~/fsl_6dl_release# repo sync

至此基本环境搭建完毕。

4. 安装NFS

  ~$ sudo apt-get install nfs-kernel-server

  ~$ sudo mkdir /imx6

  ~$ sudo vi /etc/exports

  最后一行添加:/imx6 *(rw,sync,no_root_squash,no_subtree_check)

  ~$ sudo /etc/init.d/rpcbind restart

  ~$ sudo /etc/init.d/nfs-kernel-server restart

5. 编译yocto工程

  这里我测试过两个image,一个是fsl-image-qt5,编译耗时20小时,文件大小60G;另一个是fsl-image-gui,文件大概40G左右。同学们可以依据自己的需求编译不同版本。说明一下, -b 可以指定你要将文件编译到哪个目录,-e是选择编译的后端,有fb、dfb、wayland、x11等可供选择,这里我选择的是wayland,如果你对其他几个开发顺手的话也可以选其他的。编译大概4个小时左右。

  (1)构建交叉编译环境

    cd fsl_6dl_release

    ~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayland/ -e wayland

  (1)配置

    编译fsl-image-gui : ~/fsl_6dl_release/build-wayland$ vi conf/local.conf   修改配置文件,改为如下内容(修改前会报错,删掉相关的内容后编译通过)

      MACHINE ??= 'imx6dsabresd'
      DISTRO ?= 'poky'
      PACKAGE_CLASSES ?= "package_rpm"
      EXTRA_IMAGE_FEATURES = "debug-tweaks"
      USER_CLASSES ?= "buildstats image-mklibs image-prelink"
      PATCHRESOLVE = "noop"
      BB_DISKMON_DIRS = "\
      STOPTASKS,${TMPDIR},1G,100K \
      STOPTASKS,${DL_DIR},1G,100K \
      STOPTASKS,${SSTATE_DIR},1G,100K \
      ABORT,${TMPDIR},100M,1K \
      ABORT,${DL_DIR},100M,1K \
      ABORT,${SSTATE_DIR},100M,1K"
      CONF_VERSION = "1"

      BB_NUMBER_THREADS = '8'  //电脑8线程,编译时可以起8个编译任务

      PARALLEL_MAKE = '-j 8'

      ACCEPT_FSL_EULA = ""

    编译fsl-image-qt5,配置文件不用修改,(BB_NUMBER_THREADS = '8',但是编译的时候还是一个任务)。

  (2)编译

      cd fsl_6dl_release

      ~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayland/ -e wayland

      ~/fsl_6dl_release/build-wayland$ bitbake fsl-image-qt5

6. 编译工具链

  cd fsl_6dl_release  //如果重启虚拟机,需要执行以建立bitbake环境

  ~/fsl_6dl_release$ MACHINE=imx6dlsabresd source fsl-setup-release.sh -b build-wayland/ -e wayland  //如果重启虚拟机,需要执行以建立bitbake环境

  ~/fsl_6dl_release/build-wayland$ bitbake meta-toolchain-qt5  //qt工具链

  编译完成后请进入<build dir>/tmp/deploy/sdk 目录下找到工具链,是一个安装文件,可以用在其他系统上。

7. 安装编译工具链

  当执行完bitbake meta-toolchain-qt5后,工具链及生成脚本了。

  执行以下命令查看(版本不一定跟我的一样):

  ~/fsl_6dl_release/build-wayland$ ls tmp/deploy/sdk/poky-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.7.sh

 
  安装qt交叉编译工具
  ~/fsl_6dl_release/build-wayland$ sh tmp/deploy/sdk/poky-glibc-x86_64-meta-toolchain-qt5-cortexa9hf-vfp-neon-toolchain-1.7.sh
  
8. 查看编译完成的目录结构
 
  ~/fsl_6dl_release$ tree -d -L 2 -A
.
├── build-wayland        //我的编译目录
│   ├── cache                //编译缓存
│   ├── conf                    //配置
│   ├── downloads        //
│   ├── sstate-cache        //保存状态,如果没有改变下次不再重新编译包
│   └── tmp                      //镜像,代码
├── downloads    //下载的东西
│   ├── debian
│   ├── etc
│   ├── git2
│   └── home
└── sources                //repo下载的yocto
    ├── base
    ├── meta-browser
    ├── meta-fsl-arm
    ├── meta-fsl-arm-extra
    ├── meta-fsl-bsp-release
    ├── meta-fsl-demos
    ├── meta-openembedded
    ├── meta-qt5
    └── poky
 
  ~/fsl_6dl_release/build-wayland/tmp$ tree -d -L 2 -A
.
├── buildstats                //编译时状态记录,如果中断可以续编
│   ├── fsl-image-gui-imx6dlsabresd
│   └── meta-toolchain-imx6dlsabresd
├── cache                     //编译过程中的缓存
│   └── default-glibc
├── deploy                    //生成的镜像、文件系统及安装插件
│   ├── images
│   ├── licenses
│   ├── rpm
│   └── sdk
├── log                        //进程编译过程中的log信息
│   └── cooker
├── sstate-control        //编译完成的包会在这里建立文件以标识
├── stamps
│   ├── all-poky-linux
│   ├── cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi
│   ├── cortexa9hf-vfp-neon-poky-linux-gnueabi
│   ├── imx6dlsabresd-poky-linux-gnueabi
│   ├── work-shared
│   ├── x86_64-linux
│   ├── x86_64-nativesdk-pokysdk-linux
│   ├── x86_64-poky-linux-gnueabi
│   └── x86_64-pokysdk-linux
├── sysroots                //缓存的工具连,但是你用不了
│   ├── imx6dlsabresd
│   ├── imx6dlsabresd-tcbootstrap
│   ├── x86_64-linux
│   ├── x86_64-nativesdk-pokysdk-linux
│   └── x86_64-nativesdk-pokysdk-linux-tcbootstrap
├── work                    //你的代码都在这里
│   ├── all-poky-linux
│   ├── cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi
│   ├── cortexa9hf-vfp-neon-poky-linux-gnueabi
│   ├── imx6dlsabresd-poky-linux-gnueabi
│   ├── x86_64-linux
│   ├── x86_64-nativesdk-pokysdk-linux
│   ├── x86_64-poky-linux-gnueabi
│   └── x86_64-pokysdk-linux
└── work-shared
    └── gcc-4.9.1-r0
 
  kernel源码目录:~/fsl_6dl_release/build-wayland/tmp/work/imx6dlsabresd-poky-linux-gnueabi/linux-imx/3.14.28-r0/git$
  u-boot源码目录:~/fsl_6dl_release/build-wayland/tmp/work/imx6dlsabresd-poky-linux-gnueabi/u-boot-imx/2014.04-r0/git$
 
9. 安装Qt5
 

imx6 yocto移植 环境搭建的更多相关文章

  1. 第四章Android移植环境搭建

    第四章Android移植环境搭建 这一章主要学习如何搭建 Android 移植的环境.因为 Android 底层是基于 Linux 内核的,所以本章从交叉编译环境等嵌入式开发环境的搭建开始,介绍了 B ...

  2. 寒武纪加速平台(MLU200系列) 摸鱼指南(二)--- 模型移植-环境搭建

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  3. rockchip的yocto编译环境搭建

    作者:良知犹存 转载授权以及围观:欢迎添加微信公众号:Conscience_Remains 总述   嵌入式的朋友们,应该知道Linux驱动开发过程中,需要进行搭建交叉编译工具链环境.移植u-boot ...

  4. iMX6 yocto平台QT交叉编译环境搭建

    转:https://blog.csdn.net/morixinguan/article/details/79351909 . /opt/fsl-imx-fb/4.9.11-1.0.0/environm ...

  5. Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解

    作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...

  6. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  7. linux4.10.8 内核移植(一)---环境搭建及适配单板。

    一.环境搭建 源码包下载:git clone https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.8.tar.gz 或者直接去kernel. ...

  8. u-boot 移植(一)编译环境搭建

    u-boot 移植(一)编译环境搭建 soc:s3c2440 board:jz2440 uboot:u-boot-2016.11 toolchain:gcc-linaro-7.4.1-2019.02- ...

  9. Linux移植到自己的开发板(一)环境搭建

    环境搭建 vmware:VMware Workstation 15 Pro Linux系统:Ubuntu16.04 x64 1. 在Windows系统安装VMware15软件: 2. 网上下载并解压u ...

随机推荐

  1. keepalived+LVS-DR集群

    一.Keepalived介绍 keepalived 是一个类似于 layer3, 4 & 5 交换机制的软件,也就是我们平时说的第 3 层.第 4 层和第 5层交换. Keepalived 的 ...

  2. 阿里云Centos7挂载数据盘

    查看磁盘情况 fdisk -l fdisk /dev/vdb 根据提示,分别输入 n. p. . enter.enter.wq fdisk -l mkfs.ext3 /dev/vdb1 挂载磁盘,写入 ...

  3. View的介绍和运用 && FlexBox布局

    开始我们今天的项目学习啦~~~~~~ 1> 第一步当然是创建项目啦: 进入终端: 创建ViewDemo项目 命令如下啦,你看懂了对吧...嘻嘻!!! 2>View的介绍和运用 项目安装创建 ...

  4. 第一个React Native项目

    1>下图操作创建第一个React Native项目: 用Xcode运行界面如下: 记住: 在使用项目文件期间,终端记住不要关闭的哟!!! 改变了程序代码,需要刷新运行,使用快捷键: Comman ...

  5. java 增强for循环对于空集和null的判断

    List<String> list = null; for (String str : list) {//会报空指针异常 System.out.println(str); } List&l ...

  6. Mac 常用配置(JDK切换,ll命令设置)

    打开 /Users/用户/.bash_profile文件 1.JDK切换,添加如下内容 export JAVA_6_HOME=`/usr/libexec/java_home -v 1.6` # 设置 ...

  7. Unreal Engine* 4/英特尔® VTune™ Amplifier 使用指南

    借助英特尔 VTune Amplifier,可以通过单一易用的分析界面获得先进的分析功能.UE4 和英特尔 VTune Amplifier 相互配合,支持调查代码并进行分析,从而在多个内核上顺畅运行. ...

  8. 综合对比 Kafka、RabbitMQ、RocketMQ、ActiveMQ 四个分布式消息队列

    来源:http://t.cn/RVDWcfe 一.资料文档 Kafka:中.有kafka作者自己写的书,网上资料也有一些.rabbitmq:多.有一些不错的书,网上资料多.zeromq:少.没有专门写 ...

  9. 关于Bootstrap Table使用生成冻结窗格的表格

    参考资料 : <JS组件系列——Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案> <http://issues.wenzhixin.net.cn/bootst ...

  10. PYTHON 100days学习笔记008-1:数据结构补充

    目录 Day008_01:数据结构补充 1.列表list 1.1 将列表当作堆栈使用 1.2 将列表当作队列使用 1.3 列表推导式 1.4 嵌套列表解析 1.5 del语句 2.元组和序列 3.集合 ...