Deepin15.8系统下安装QorIQ Linux SDK v2.0 yocto成功完美运行的随笔

2019.2.17日:最终安装成功,完美解决!

2019.2.16日:最终安装未成功,但是过程中排除 了几个bug,前进了几步,仅供参考。

写在最前面,yocto安装是有系统要求的,Deepin 15.8不在此Freescale SDK安装的官方适配范围内,楼主只是一时兴起,强行安装。

 

 

首先在VMware分配QorIQ Linux SDK v2.0 SOURCE.iso光盘镜像给虚拟机,会自动挂载在 /media/eric/yocto目录下。

打开terminal  执行:

-> /media/eric/yocto/install

-> cd /home/eric/QorIQ-SDK-V2.0-20160527-yocto

-> ./sources/meta-freescale/scripts/host-prepare.sh

->. ./fsl-setup-env -m t4240qds

 期间会遇到如下库找不到的情况,执行下面的命令。

sudo apt-get install build-essential 
sudo apt-get install diffstat 
sudo apt-get install texinfo 
sudo apt-get install git 
sudo apt-get install chrpath 
sudo apt-get install libsdl1.2-dev

-> bitbake fsl-toolchain

编译到这里,一般会提示:

ERROR: Function failed: Fetcher failure: Fetch command failed with exit code 128, output:
fatal: the '--set-upstream' option is no longer supported. Please use '--track' or '--set-upstream-to' instead.

ERROR: Logfile of failure stored in: /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/work/x86_64-linux/gnu-config-native/20150728+gitAUTOINC+b576fa87c1-r0/temp/log.do_unpack.102114
Log data follows:
| DEBUG: Executing python function do_unpack
| DEBUG: Executing python function base_do_unpack

这样的错误提示,解决方法是:

修改/home/eric/QorIQ-SDK-V2.0-20160527-yocto/sources/poky/bitbake/lib/bb/fetch2/git.py  

runfetchcmd("%s branch --set-upstream %s origin/%s" % (ud.basecmd, branchname, \
branchname), d)

改成 

runfetchcmd("%s branch --set-upstream-to origin/%s" % (ud.basecmd, \
branchname), d

修改之后,使用下面指令清除上次编译。

-> bitbake -c cleansstate fsl-toolchain

之后再执行

-> bitbake fsl-toolchain

 还会继续遇到如下错误提示:

| help2man: can't get `--help' info from automake-1.15
| Try `--no-discard-stderr' if option outputs to stderr
| make: *** [Makefile:3687: doc/automake-1.15.1] Error 255
| make: *** Waiting for unfinished jobs....
| WARNING: exit code 1 from a shell command.
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/work/x86_64-linux/automake-native/1.15-r0/temp/log.do_compile.123911)

解决方法是:修改 /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/work/x86_64-linux/automake-native/1.15-r0/build/makefile文件:

doc/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
    $(update_mans) aclocal-$(APIVERSION)
doc/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
    $(update_mans) automake-$(APIVERSION)

修改成

doc/aclocal-$(APIVERSION).1: $(aclocal_script) lib/Automake/Config.pm
    $(update_mans) aclocal-$(APIVERSION)
doc/automake-$(APIVERSION).1: $(automake_script) lib/Automake/Config.pm
    $(update_mans) automake-$(APIVERSION) --no-discard-stderr

之后再清理编译,再次执行

-> bitbake -c cleansstate fsl-toolchain

-> bitbake fsl-toolchain

又会遇到  如下报错

| Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/sysroots/x86_64-linux/usr/bin/automake line 3936.
| Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/sysroots/x86_64-linux/usr/bin/automake line 3936.
| WARNING: exit code 255 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/work/x86_64-linux/libtool-native/2.4.6-r0/temp/log.do_configure.2454)

原因是 Deepin的 perl版本较新,老的正则表达式格式不识别 ,

解决方法是:修改/home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/sysroots/x86_64-linux/usr/bin/automake文件的:

sub substitute_ac_subst_variables
{
my ($text) = @_;
$text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
return $text;
}

改成:

sub substitute_ac_subst_variables
{
  my ($text) = @_;
  # $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
  $text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
  return $text;
}

 

之后,再次执行

-> bitbake -c cleansstate fsl-toolchain

-> bitbake fsl-toolchain

出现报错 :

     tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
      ^~~~~~ 

之类的。

这个错误的原因应该是Deepin系统的编译器版本与yocto要求的编译器版本差别太大导致的, Deepin的GCC版本试试7.6,而freescale 官方要求的经过验证的ubuntu14.04中的gcc版本才4.8,所以怀疑GCC版本过高捣的鬼。

于是降低gcc版本。

执行

-> sudo apt-get install gcc-4.8

-> sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 100

同样降低g++版本

-> sudo apt-get install g++-4.8

-> sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 100

 

重新执行

-> bitbake fsl-toolchain 

又出现以下报错 

| Can't locate find.pl in @INC (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.26.2 /usr/local/share/perl/5.26.2 /usr/lib/x86_64-linux-gnu/perl5/5.26 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.26 /usr/share/perl/5.26 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at perlpath.pl line 7.
| WARNING: exit code 2 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/eric/QorIQ-SDK-V2.0-20160527-yocto/build_t4240qds/tmp/work/x86_64-linux/openssl-native/1.0.2d-r0/temp/log.do_configure.65569)
ERROR: Task 402 (virtual:native:/home/eric/QorIQ-SDK-V2.0-20160527-yocto/sources/poky/meta/recipes-connectivity/openssl/openssl_1.0.2d.bb, do_configure) failed with exit code '1'

 估计又是perl版本搞的鬼,解决方法是拷贝一个find.pl过来

-> sudo cp /home/eric/QorIQ-SDK-V2.0-20160527-yocto/sources/poky/meta/recipes-connectivity/openssl/openssl/find.pl /etc/perl/

重新执行

-> bitbake fsl-toolchain 

之后再无报错 ,直到 编译完成 。

 

完美解决!

 

最后再插一嘴,Deepin系统用着正不错,最最符合中国人的Linux版本了,受够了ubuntu上慢腾腾的 firefox, 开着 360安全浏览器,微信,流畅的,我已经仿佛忘了我是在用VMware+Linux了。

 

 

参考了以下文章:

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

https://www.cnblogs.com/zengjfgit/p/9178523.html

https://blog.csdn.net/bird_fly1024/article/details/81451662

http://www.cnblogs.com/zengjfgit/p/9178571.html

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

安装多个 perl :

https://www.cnblogs.com/aaron2015/p/5132308.html   -试了,不好用

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

备    忘 :

ubuntu 14.04中各组件版本 :

perl :  This is perl 5, version 18, subversion 2 (v5.18.2) built for x86_64-linux-gnu-thread-multi  

gcc :    gcc (Ubuntu 4.8.4-2ubuntu1~14.04.4) 4.8.4

g++:    gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.4)

make:  GNU Make 3.81

python :   Python 2.7.6 (default, Mar 22 2014, 22:59:56)    [GCC 4.8.2] on linux2

 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 

转载于:https://www.cnblogs.com/ericmfq/p/10389242.html

基于Yocto Project为NXP LS1046A构建与部署嵌入式Linux系统实战指南 在嵌入式Linux系统开发中,交叉编译工具链配置、内核裁剪与根文件系统构建是核心且复杂的基础环节。其原理在于通过一套标准化的构建框架,将源码获取、配置、编译到打包的完整流程自动化,从而确保不同平台与环境下构建结果的一致性。这一技术价值在于显著提升了开发效率、系统可维护性与产品量产时的版本复现能力,广泛应用于网络设备、工业控制、物联网网关等高性能嵌入式场景。本文聚焦于NXP LS1046A网络处理器平台,深入解析如何利用Yocto Project这一自动化构建框架,完成从主机环境准备、BSP层配置、U-Boo 阅读详情

相关推荐

QorIQ SDK v2.0-1703 Documentation QORIQ-SDK-2.0-IC-REV0.pdf

QorIQ SDK v2.0-1703 PowerPC P1010 2020 等开发必备文档!

SynQor推高功率1/8砖模块隔离DC/DC转换器

SynQor宣布推出新型隔离DC/DC转换器,作为现有InQor产品的延续投放于工业市场。工业标准1/8砖的IQ24-EGA系列产品,输入电压在18-36v范围内,在某些领域内可以替代1/4砖模块,输出功率达到25A/75W。其输出配置包括:1.8V/25A;3.3V/20A;5V/15A;7V/10A;12V/6A;15V/5A和24V/3A。     IQ24-EGA系列产品目标应用包括工业过程控制系统和工业处理。其封装方式既可以提供开架式结构,也可在恶劣的环境下提供密封的带基板设计以方便安装散热片。在2.300.9"×0.41"的尺寸下,开架式器件可提供极高的功率密度,效率可达90

qor-example, 展示 QOR SDK的示例应用程序.zip

qor-example, 展示 QOR SDK的示例应用程序 QOR示例应用程序这是一个展示和解释 QOR 特性的示例应用程序。聊天室: 快速启动版本:1.8 +# Get example app$ go get -u github.com/qor/qor-example

NXP(Freescale) QorIQ T2080 SDK安装和使用

安装 安装SDK2.0, $ sudo mount -o loop QorIQ-SDK-<version>-<target>-<yyyymmdd>-yocto.iso /mnt/cdrom $ /mnt/cdrom/install 安装更新,安装过程中提示输入SDK安装路径, $ tar -xjf SDK-V2.0-1703.tar.bz2 $ ./SDK-V...

黑客三遍猪 4182

NXP(Freescale) QorIQ T4240 CodeWarrior安装

ubuntu18.04,不是官方支持的版本,缺少32位的软件包,,否则,在Flash Programmer页面,无法添加操作。2023年7月31号安装完后,license报错,修改CW的快捷方式,在末尾添加。

黑客三遍猪 1198

LS1021A 开发环境搭建

1.进NXP官方网站,下载对应的.iso 官网 ->软件->SDK,下载到一个IMAGE.ISO + YOCOTO.ISO(必须) + SROUCE.ISO(必须) 2. .ISO拷贝到虚拟机,挂在到某个目录,可能会提示你只能使用只读模式挂在到某个目录 root@test:/work/winshare# ls arm_a7 QorIQ Linux SDK v2.0 CORTE...

yhcs1213的专栏 3467

NXP(Freescale) QorIQ T2080 DMA内存使用

参考 方法 usdpaa_mem的驱动位于drivers\staging\fsl_qbman\fsl_usdpaa.c,sdk2.0手册以下两个章节描述了DMA memory内存相关使用方法, 9.8.1.3.3 DMA memory management 9.8.2.6 USDPAA DMA API ...

黑客三遍猪 1557

T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门(Trace32QorIQ Linux SDK和QCVS)

T2080 U-BOOT与OS内核移植 准备篇(二)——开发调试环境入门一、Trace32二级目录三级目录 上一篇我们简单介绍了几种常用与T2080的开发调试工具和环境。这篇文章将带领大家进行环境的部署和配置。 回顾一下我们选择的工具集: 1.Trace32 用途一:基础资源(片上寄存器/片上SRAM、内存、FLASH和串口等)的可用性验证。 用途二:PBL(RCW)、u-boot和OS(对于Linux包括kernel、dtb和rtfs的烧录)。 用途三:RCW、u-boot和OS kernel代码调试(单

weixin_49274884的博客 2490

NXP(Freescale) QorIQ T2080独立编译BSP

参考 为Freescale QorIQ搭建Linux交叉编译环境时遇到的问题总结 zImage构成图解 编译 编译内核,报错如下,编译之前unset LDFLAGS powerpc64-fsl-linux-ld: unrecognized option '-Wl,-O1' 编译内核没有Image只有zImage和uImage,但是查看uImage和zImage一样大,应该是大64字节的啊,怀...

黑客三遍猪 2294

Fast Development Kit(FDK)-嵌入式Linux开发包介绍

自己实践中总结的一套开发工具,包括了常用的工具集我已经制作好发布在根文件系统中,目前支持Xilinx zynq,Xilinx zynqmp,NXP t2080的支持在下一步开发计划中,目前支持功能如下, zc@ubuntu:~/fdk_develope$ fdk -h Usage: fdk [OPTION...] Examples: fdk -t xilinx -p ~/hdf ...

黑客三遍猪 1316

NXP(Freescale) QorIQ T2080启动流程分析

参考 ARM U-Boot SPL过程浅析 [uboot] (第二章)uboot流程——uboot-spl编译流程

黑客三遍猪 3108

交叉编译Qt应用和发布

参考 Linux下打包发布Qt应用程序 交叉编译 $ source ~/program/QorIQ-SDK-V2.0-20160527-yocto/fsl-qoriq/2.0/ppc64/environment-setup-ppc64e6500-fsl-linux $ export PATH=/home/qe/program/qt-everywhere-opensource-src-5.9.6...

黑客三遍猪 993

yocto的bitbake过程记录

我们使用yocto编译镜像的时候,第一步是要配置编译环境,第二步就是使用bitbake工具编译出我们需要的镜像。这里我们就来分析一下使用yocto进行bitbake的过程吧。现在我们尝试一下分析bitbake一个包和一个镜像的过程。使用的是NXP官方的imx8mp的yocto。,下载用户手册,根据用户手册搭建yocto环境,编译yocto

jianjian的博客 3609

windows下部署qor

依赖环境1、git 2、mysql获取源码go get -u github.com/qor/qor-example golang的有些源码下载不了,需要手动下载。创建db表mysql -uroot -p mysql> CREATE DATABASE qor_example;运行qorcd $GOPATH/src/github.com/qor/qor-example go run main.g

pplin的专栏 2857

NXP(Freescale) QorIQ T2080 SRIO使用

参考 A problem of sending SRIO doorbell, message by T2080 SDK SDK中没有T2080的例子,但是T2080 RapidIO类似于P3041DS/P4080DS/P5020DS/T4240QDS/B4860QDS开发板的RapidIO,代码是通用的。In the recent SDK, for the processors use RMA...

黑客三遍猪 3571

QorIQ SDK环境搭建

SDK文档 nxp官方文档中心:https://nxp.sdlproducts.com/LiveContent/web/pub.xql?c=t&action=home&pub=QorIQ_SDK&lang=en-US pdf:https://www.nxp.com/docs/en/release-note/QORIQ-SDK-2-0_RN.pdf 先大概浏览一下,发现P10...

无名小卒 2150

QOR-CMS(5):使用i18n进行国际化,汉化qor-admin的i18n配置文件yaml

本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/80765024 博主地址是:http://blog.csdn.net/freewebsys 前言 https://getqor.com/cn QOR经过全新架构,以加速开发与部署内容管理系统(CMS)、电子商务系统和业务应用程序。QOR由这类系统中抽象出的通...

freewebsys的专栏 2427

【Ruby】【改gem源镜像】【Win10 + Jruby-9.1.2.0 + Rails 5.1.3 + gem 2.6.4 】

参考地址:https://ruby-china.org/topics/33843 (1)> gem sources --add http://gems.ruby-china.org 遇到问题: Error fetching https://gems.ruby-china.org/: certificate verify failed (https://gems.ruby-china.org/...

weixin_30535043的博客 13万+
ahui2016
博客等级 码龄10年 0粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值