yocto-4.9.88-wayland-imx6dl-success

编译yocto3.14.52的时候各种顺利,编译yocto4.9.88的时候,各种失败,因为yocto3.14.52的驱动里面并不集成spi dma的支持,网上查到linux4.2以后的版本驱动里面集成了spi dma的支持,所以就编译一套sdk来测试测试,看看有没有些新的东西值得借鉴

上周倒腾了整整一个星期,各种编译错误,周天带着笔记本回去,重新搭建了ubuntu16的编译环境,周一早早下班,带着笔记本回来编译,整整一晚上,周二早上起来还没有完成,带着电脑去上班,周二晚上又带着电脑回来了,终于编译完成了,没办法,公司的网络实在实在实在是太垃圾

/*
ubuntu14.04不成功
下面截图是在ubuntu14.04版本编译的起始的提示信息,果然跟提示一样,各种测试不成功,而这个版本的yocto系统的文档里面说明的编译测试版本是ubuntu14.10及ubuntu16.04.05,ubuntu14.10我也试过,好像没有下载到稳定版,也是各种问题,折腾了一个多星期,最终在ubuntu16.04里面通过测试
对于官方手册,能按照手册里面操作的,就尽量不要换步骤了吧
*/
在这里插入图片描述
测试环境:新安装的ubuntu16.04.05-LTS
首先更新源,要不然下载软件可能不成功,步骤不记录了

看了下yocto手册,要求的python版本最少在3.4
在这里插入图片描述
/*
系统的/usr/bin/python默认指向python2.7,曾经编译yocto不成功的时候,怀疑和这个python默认版本有关,强制修改python指向python3.4以后,也不行,所以系统只要安装有Python3.4以上的版本即可,yocto编译的时候会自动去寻找相关版本的库文件
cd /usr/bin
sudo rm python
sudo ln -s python3.4 python
/*

/*
安装软件之前,先注释一下
我下面安装软件的步骤分为两段,分别安装软件
*/
下面三次安装来自
在这里图片描述
文档下载地址是:https://www.nxp.com/docs/en/user-guide/i.MX_Yocto_Project_User’s_Guide_Linux.pdf

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

以下安装来自
https://www.yoctoproject.org/docs/2.4.4/ref-manual/ref-manual.html#detailed-supported-distros
sudo apt-get build-dep qemu
sudo apt-get remove oss4-dev
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
sudo apt-get install libsdl1.2-dev xterm
sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto //可选择不要这个
sudo apt-get install python-git

1.安装repo及相关配置,我的repo安装目录是/home/cc/yocto/bin
sudo mkdir /home/cc/yocto/bin -p
sudo chmod -R 777 yocto
//下面这条命令有时候不成功,多试几次
sudo curl https://storage.googleapis.com/git-repo-downloads/repo > /home/cc/yocto/bin/repo
//添加可执行权限
sudo chmod a+x /home/cc/yocto/bin/repo
//添加环境变量
export PATH=$PATH:/home/cc/yocto/bin
//配置git
git config --global user.name cc
git config --global user.email [email protected]
//查看配置结果
git config --list
2.下载bsp资源
cd /home/cc/yocto
sudo mkdir yocto-4.9.88-imx6dl-wayland
sudo chown cc: yocto-4.9.88-imx6dl-wayland/
cd yocto-4.9.88-imx6dl-wayland

/*
获取repo目前所知有两种方式:
一.sudo curl http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo > /home/cc/yocto/bin/repo
这条命令获取的repo,让我在编译3.14.52的yocto的时候异常顺利,结果自然而然想用于4.9.88的编译,结果就悲剧了,各种错误百出,ubuntu从14到16重装了n次,python默认版本修改?流量花了无数,最主要还是扎心!!!!!!
二.sudo curl https://storage.googleapis.com/git-repo-downloads/repo > /home/cc/yocto/bin/repo
注意,方式二是官方手册给出的命令,上述两条命令获取到的repo内容是大不相同的,按照方式二,在执行下一条命令即
repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-rocko -m imx-4.9.88-2.0.0_ga.xml
会需要访问google,而事实是我们的ubuntu即使windows都根本无法访问谷歌
最终我选择先解决ubuntu翻墙的问题,再继续编译
所以编译4.9.88的yocto的系统,一定要先解决ubuntu能够翻墙的问题,要不然可能会折腾很久都不行
*/

repo init -u https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-rocko -m imx-4.9.88-2.0.0_ga.xml
repo sync

完成之后的目录内容
在这里插入图片描述

4.设置系统类型机器型号
看看支持的系统类型
在这里插入图片描述
看看支持的机器型号
在这里插入图片描述
这里我们选择如下配置
DISTRO=fsl-imx-wayland MACHINE=imx6dlsabresd source fsl-setup-release.sh -b imx6dl-wayland-qt5
执行完之后自动进入到imx6dl-wayland-qt5目录

编译文件系统
可以看到支持这些类型的文件系统
在这里插入图片描述
我选择执行
bitbake fsl-image-qt5-validation-imx

不知道为什么,我的虚拟机在编译过程中自动锁屏了n次,我明明设置了never 锁屏的,而且也有系统崩溃掉的时候,再次进入系统后:
export PATH=$PATH:/home/cc/yocto/bin
cd /home/cc/yocto/yocto-4.9.88-imx6dl-wayland
repo sync
DISTRO=fsl-imx-wayland MACHINE=imx6dlsabresd source fsl-setup-release.sh -b imx6dl-wayland-qt5
bitbake fsl-image-qt5-validation-imx
这几条命令后,接着下载编译,直到成功
关于编译出来的文件的进一步测试,会在后面的笔记继续记载

猜你喜欢

转载自blog.csdn.net/qq_41903811/article/details/85077847