嵌入式Linux系统移植开发-(1)基于Yocto构建嵌入式u-boot,内核,文件系统.pdf


-
Yocto是什么?简单地概括,它是一个工具,可以用来构建u-boot,kernel,文件系统,交叉编译工具链,等等。Yocto提供了一套完整的全面的嵌入式Linux移植解决方案。使嵌入式Linux系统移植告别了以前通过源码一步步移植的刀耕火种年代。Yocto解决了嵌入式Linux行业内各自为政的乱象,它为芯片厂家,操作系统,和设备厂商之间的协作提供广泛一致的行业支持。
Embeds Professiona/ Embeded loT Solutions Provider 重新执行以下命令,初始化repo仓厍: repo init-u git: //git. freescale. com/imx/ fsl-arm-yocto-bsp git-b imx- 4. 1-krogoth 初始化成功后,如下图所示: t/tsL-reLease-bsps repo init -u git: //git. freescale. ccm/imx/tsL-arm-yecto-bsp git -b 1mx-4 1-krogo 330 do:a 76) I patc) 13243:6F0ea 38-6UL patch scm-1mx-3.14.52-1,1.80a->orig1n/5cm-1nx-3.14.52-1.1.0_0a scm-imx-3,14.52-1,1. 1 ga -> origin/scm-1nx-3 14.5 ouridentity1s:emrbediotcenbedioto163.coms If you want to change this. please re-run ' repo init: with ---onfig-nae Testing colorized autput (for 'repo diff,, 'repo status) agenta cyan white epo has been initialized in /or to project/ fsl ubuntu命今行终端 se-hsps 重新开始进行repo仓库同步: repo sy -j8 仓库同步需要一段时问,同步完成后,如卜图所示: cents Fetching prc]ects: 100%(10/10 Fetching projects: 100%(10/10,, done. enbedicteemkediot-virtual-machine: /opt/ yocto project/fsl-release-tsps embedictcemtediot-virtual-machine: /opt/yocto_project/fsL-reLease-tsps embedictgembediot-virtual-machine: /opt/yocto project/fsl-release-bsps embedictcembediot-virtual-machine: /opt /yocto project/fsl-release-bsps I ubuntu命令行终端 (6)repo同步成功后,就可以开始进行锐像构建了,在fs- release-bsp目录下,使用以下命 令格式配置镜像的构建参数: DISTRO=<distro name> MACHINE=<machine name> source fsl-setup-release sh-b <build dir> DISTRO有以下参数可选: fsl-imx-x11 fsl-imx - wayland fsl-imx-xwayland fsl-imx-fb 在这里,我们选择fs-imx-×11这个选项,同吋注意,NXP官方不再支持 DirectFB MACHINE有以下参数可选: imx6qpsabreauto imx6qpsabresd mxbulevk imx6u|14×14evk imx6ull9xgevk imx6dlsabreauto imx6dlsabresd EmbedoT ETbedoT Professiona/ Embeded loT Solutions Provider imx6qsabreauto abresd imx6slevk imx6solosabreauto imx6solosabresd mx6sxsabresd imx6sxsabreauto imx7dsabresd 在这里,我们选择imx6uek这个选项。 最终,配置镜像构建参数的完整命令,如下所示: DISTRO=fsI-imx-x11 MACHINE=imx6ulevk source fsl-setup-release sh-b /fsl build_x11 fs- setup- release.sh是构建脚本,如脚本不可执行,需使用 chmod命令添加可执行权限。 b< build din>表示构建的在指定目录。 执行完以上的配置参数的命令后,会提示需要接受EULA协议,按空格键直到协议最后,然 后按“y”确认接受,最后,完成后如下图所示: you accept thc EULA you just rcad? ly/n) een accepted he Yocto Project has extensi entation about oe including a reference manual which can he found at ittp://yoc toro:ect. org/ documentation http://ww.openembeddtoaenembeddedseeth For more information about 0 he1 website You can now run bitbake <target> targets are din-sdk support our bui ld environment has been configured with i686 倌XX11 BUILD DIR= buiLd xlls bunu命令行终端 (7)在 Yocto这个系统中,使用 bitbake工具来进行各种系统或第三方库的构建和安装。 bitbake是一个软件组建的自动化构建工具,它可以像make命令一样控制如何构建一个系统 或解决系统构建过稈中的依赖问题。但 bitbake又不像make依赖 makefile那样单一, bitbake 可以搜集和管理大量没有依赖关系的配置描述文件(一股称为配方 recipe),然后根据这些 描述文件自动按照正确的顺序进行构建。注意: bitbake工具只能在普通用户下进行使用 在本次配置的 Yocto环境中, bitbake支持以下镜像的构建: core-image-minimal meta-toolchain meta-toolchain-sdk adt-installer meta-ide-support 在这里,我们需要构建个最小的嵌入式 Linux系统,因此,执行以下命令构建·个最小的 嵌入式 Linux系统: bitbake core-image-minimal 这个最小的嵌入式Linu系统,构建的过程非常漫长,取决于你的K速带宽和电脑配置。因 EmbedoT ETbedoT Professiona/ Embeded loT Solutions Provider 为 bitbake是一边下载一边编译的,构建过程如下图所示 linex-cnueabt stems 注意:如果构建过程中出现网络中断或关闭了构建的终端,只需要在fs}- release-bsp目 录下执行以下命令:D|STRO= fsl-imx- x11 MACHINE=mx6 ulevk source fsl-setup-release.sh -b./ fsl build_×11,重新配置构建的环境,然后再进入 fsl build×11目录下,重新执行 bitbake 命令就可以继续构建。 Yocto构建core-mage- minimal成功后,如下图所示: lemtediolQembediot-vir tual -machine: /opt/yoc Lo_project/fsl-release-bsp/fsl_build_x115 bitbake core-inaye-miininal NOTE: Your cont/bblayers, cont has be WARNING:Host distribution "Ubuntu-16 04" has not been validated with this ver sion of the build sys tem; you may pos oading cache:1θθ兴|###謀#####詩菥排#詳#罅#罅#謀蒜##排萨 oaded 2791 entries from dependency cache sing of 2215. bb files complete (2200 cached, 15 parsed). 2790 targets, 212 skipped, 5 masked, 0 errors NOTE: Resolving any missing task queue dependencies Build Configuration: BB VERSION BUILD SYS x86 64-Linux NATIVELSBSTRING ="Ubuntu-16c4" SYS arA-paky-Linux-gnueabi MACIL DISTRO 四x-X11 DISTRO VERSION 15-2,⊙,0" TUNE FEATURES fp callconvention-hard cortexal ncta- yocto "HEAD!f5d32a5913319ad6ac2141438ba1aa17576326ab" pieta-0e ncta-multimmedia HEAD: 247b1267bbe95719cd4877d2d3cfbaf2a2f4865a peta-'sl-arn ="HEAD: be78894e46820111575470rb23e5le6ba523508d ncta- fsl-arn- extra="HEAD: 3dfbe2fc7c703cac0891b3ffda0c9393701F2396 reta-f「st-deos="HEAD:a65c8f8ad1c「29adbe4b4653「28bec2dd492 ncta bsp meta-sdk HFAD: 0451819F7e07da962bd899f 5befe2Gafee1476ca meta-browser HEAD: 77736988073a5dgofcff9de005c8177332ede 387" neta-gnome peta-networking neta.python NOTE: Preparing runoueue NOTE:Executing Setscene T asks NOTE:Executing RunQueue Tasks NOTE: Tasks summary: Attempted 2077 tasks of whtch 2077 didn't need to be rerun and all succeeded 图 ntediotaembediot-virtual-machine: opt/yocto pro'ect/fsl-reLease-bsp/fsl build_ xi1s ubuntu命今行终端 (8)由于各种不可描述的原因,国内的普通网络在访问外国的源码服务器时,可能会出现 源码下载错误,源码下毂中断等笭情况,一般遇到这种情况的时候,可以先忽略其错误或警 告,等整个 Yocto构建完成后,再重新执行 bitbake。网络环境这个因素不是每个开发者都能 主导的,这个只能看运气。有条件的开发者可以不断寻找优质的网络环境。 EmbedoT ETbedoT Professiona/ Embeded loT Solutions Provider (9)最小的嵌入式 Linux系统构建完成后,在 Yocto工程的构建日录甲,已经包含了 kernel 和u-boot的源代码,以及根文件系统目录。其源码目录如下图所示: u-boot源码目录: /opt/yocto project/fsl-release-bsp/fsl build x11/tmp/work/imx6ulevk-poky-linux-gnueabi/u-bo ot-imx/2016.03-ro/git Linux kernel源码目录 /opt/yocto project/fsl-release-bsp/fsl build x11/tmp/work-shared/imxbulevkkernel-source 根文件目录 /opt/yocto project/fsl-release-bsp/fsl build x11/tmp/ deploy/images/imx6ulevk/ core-image-min imal-imx6uleyk-20190621012322 rootfs tar bz2 为了方便管理,我们把u-boot源码、 Linux kernel源码和 rootfs根文件目录统一存放在 /opt/mx6ubsp目录下,并对源码文件夹重新命名,完成后,如下图所示: ◎最近使月的 imx6ul bsp 合Home 名称 大小 广桌面 29项又件夹 6月21日 视频 rootfs-imx6ul 15项文件夹 6月21日 图片 -boot-imxou 29项又件夹 15:03 口文档 164.1MB归档 6月22日 rootfs-imx6uL tar bz2 6月21日 音乐 u boot imx6ulzip 287MB归档 6月22日 可回收站 (10)使用 Yocto除了能获取源码,还帮我们成功编译出各个源码的镜像文件,这些镜像可 以直接烧录至官方的丌发套件(imx6ul-evk)里面运行,镜像文件存放在以下目录: /opt/yocto _project/fsI-release-bsp/fsl_ build x11/tmp/deploy/images/imx6ulevk (11)至此,imx6u的最小系统,u-boot, kernel, rootfs凵经构建完成,卜一步可以基于使 用 Yocto构建的最小系统进行移植工作,以這型我们自己定制的开发板平台。在这个章节里 面,只是简单地措述了如何使用 Yocto构建ⅰMX6UL的最小系统,并且构建出来的iMX6UL 的各种镜像是以NXP官方开发套件(imX6ueVk)为基础的,对于用户自定义的开发板,还 需要进行一些移植工作,才能使u-boot, kernel, rootfs运行在自定义的开发板上。 (12) Yocto是一个很强人的构建工具,其功能不仅仅是用来获取BsP源码和简单地编译源 码,开发者还可以使用 Yocto对其开发板添加各种第三方开发库,而不需要每次都使用原始 的刀耕火种(从零开始编译源码,解决第三方依赖)方式进行开发,对开发效率的提高有很 大的帮助。也可以基于 Yocto的构建规则,把自己定义的开发板卡添加到 Yocto的构建工程 中,便于向第三方进行发布。但同时, Yocto也是个很庞大的构建系统,里面有很多基本 的构建规则需要开发者不断去熟悉才能灵活运用,遇到问题要善于使用搜索引擎去寻找答 案,最好的参考教程还是 Yocto Project的官方文档,开发者只有不断学习,不断提高,才能 把 Yocto这个工具用好,才能在开发中起到事半功倍的作用。 点击这里,访问作者博客 EmbedoT

91KB
《嵌入式Linux应用程序开发标准教程》(第2版全)[高清版]附源码.rar
2013-01-13《嵌入式Linux应用程序开发标准教程(第2版)》主要分为3个部分,包括Linux基础、搭建嵌入式Linux环境和嵌入式Linux的应用开发。Linux基础部分从Linux基础、基本操作命令讲起,为L
172.22MB
ARM嵌入式LINUX系统开发详解 第2版 弓雷著-超清带详细书签
2019-01-26“Linux典藏大系”自2010年陆续出版以来,因其内容丰富、讲解细腻、通俗易懂和实用性强等特色而深受广大读者的喜爱,2014年2月“Linux典藏大系“全新升级版(第2版)正式出版,第2版图书迎合了
3.75MB
ARM嵌入式Linux系统开发详解 典藏大系 文字版
2019-02-03本书由浅入深,全面、系统地介绍了基于ARM体系结构的嵌入式Linux系统开发所涉及的方方面面技术,并提供了大量实例供读者实战演练。另外,本书提供了9小时多媒体教学视频及书中涉及的实例源程序,便于读者高
- 基于Yocto构建嵌入式Linux系统U-boot、kernel内核、rootfs文件系统 8032020-06-10前言 Yocto 是一个很强大的构建工具,其功能不仅仅是用来获取BSP源码和简单地编译源码,开发者还可以使用Yocto对其 开发板添加各种第三方开发库,而不需要每次重新从零开始编译源码,解决第三方依赖的方式进行开发,对开发效率的 提高有很大的帮助。也可以基于Yocto的构建规则,把自己定义的开发板卡添加到Yocto的构建工程中,便于向第三方进 行发布。但同时,Yocto也是一个很庞大的构建系统,里面有很多基本的构建规则需要开发者不断去熟悉才能灵活运 用,遇到问题要善于使用搜索引擎去寻找答案,最好的参考教程还
ARM嵌入式Linux系统开发下载_course
2020-11-24ARM嵌入式Linux系统开发技术详解(博文)杨水清 张剑 施云飞等编著 影印本 用于交流--15章 相关下载链接://download.csdn.net/download/niucunfei/324
27.55MB
yocto-Embedded Linux嵌入开发电子书4本合集
2018-01-19Embedded Linux Projects Using Yocto Project Cookbook Packt.Embedded.Linux.Development.with.Yocto.Pro
13.45MB
典藏大系 ARM嵌入式Linux系统开发详解
2018-08-16“Linux典藏大系”自2010年陆续出版以来,因其内容丰富、讲解细腻、通俗易懂和实用性强等特色而深受广大读者的喜爱,2014年2月“Linux典藏大系“全新升级版(第2版)正式出版,第2版图书迎合了
10.39MB
嵌入式linuxC语言程序设计基础教程
2017-11-23简单清楚的介绍嵌入式linux c 的基本要求和主要应用场景。重点点拨了指针和算法
269KB
嵌入式Linux操作系统的研究.pdf
2019-05-13在Linux内核以及Linux应用环境的研究基础上,采用操作系统模块分解改进的方法,实现在不同系统芯片(system on chip,SoC)硬件平台上可运行的嵌入式Linux操作系统.分解改进的模块
26.58MB
ARM嵌入式Linux系统开发详解_清华大学出版社_2010.01_弓雷等编著.part2.rar
2013-01-29以前上传的有错误,第三部分不能上传。 这次重传,分为两部分。 ARM嵌入式Linux系统开发详解_清华大学出版社_2010.01_弓雷等编著.part2.rar
113.38MB
嵌入式Linux应用开发完全手册
2016-10-11本书全部实例代码及相关工具。, 基于ARM 9+Linux 206平台,从基础讲起,引导读者快速入门,实例丰富,可直接应用于工程实践。, 本书全面介绍了嵌入式Linux系统开发过程中,从底层系统支持到
ARM嵌入式Linux系统开发技术详解 杨水清.part1.rar下载_course
2019-11-11ARM嵌入式Linux系统开发技术详解 杨水清著,网上好多是嵌入式Linux系统开发技术详解——基于ARM,很难得才找到杨水清的真作! 相关下载链接://download.csdn.net/downl
168.87MB
图灵书籍(ARM嵌入式LINUX系统开发详解(第2版).pdf)
2017-11-24嵌入式系统是目前最流行的计算机应用技术之一。《ARM嵌入式Linux系统开发详解》本书由浅入深地讲解基于ARM体系结构的嵌入式Linux系统开发,内容包括嵌入式系统的基本概念、应用领域等基础知识;AR
10.81MB
嵌入式Linux应用程序开发详解pdf(整本)
2009-01-13这是我收集到的比较好的资源,与大家共享哈。。。 嵌入式Linux应用程序开发详解-目录: 第1章 Linux快速入门 1 1.1 嵌入式Linux基础 1 1.1.1 Linux发展概述 1 1.1.
113.77MB
嵌入式Linux应用开发完全手册 带书签 高清完整PDF版 韦东山
2011-09-08本书全面介绍了嵌入式linux系统开发过程中,从底层系统支持到上层gui应用的方方面面,内容涵盖linux操作系统的安装及相关工具的使用、配置,嵌入式编程所需要的基础知识(交叉编译工具的选项设置、ma
84KB
基于嵌入式Linux的智能手机系统设计.pdf
2008-01-16基于嵌入式Linux的智能手机系统设计.pdf
-
博客
2021-03-04
2021-03-04
-
学院
MySQL 性能优化(思路拓展及实操)
MySQL 性能优化(思路拓展及实操)
-
下载
achen725_world-源码
achen725_world-源码
-
下载
kds:多平台Kotlin 1.3的数据结构库-源码
kds:多平台Kotlin 1.3的数据结构库-源码
-
学院
PPT大神之路高清教程
PPT大神之路高清教程
-
博客
第十一届蓝桥杯大赛第二场省赛试题c++b组 D:跑步锻炼 答案+解析
第十一届蓝桥杯大赛第二场省赛试题c++b组 D:跑步锻炼 答案+解析
-
下载
Install.bat
Install.bat
-
学院
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
博客
PTA乙级 1010 一元多项式求导
PTA乙级 1010 一元多项式求导
-
学院
华为1+X认证——网络系统建设与运维(初级)
华为1+X认证——网络系统建设与运维(初级)
-
学院
MySQL DML 语言(插入、更新与删除数据)
MySQL DML 语言(插入、更新与删除数据)
-
博客
无向图应该开两倍的数组来存储list
无向图应该开两倍的数组来存储list
-
学院
MySQL 四类管理日志(详解及高阶配置)
MySQL 四类管理日志(详解及高阶配置)
-
下载
fancensus_demo-源码
fancensus_demo-源码
-
学院
【布道者】Linux极速入门
【布道者】Linux极速入门
-
学院
VMware vSphere ESXi 7 精讲/VCSA/VSAN
VMware vSphere ESXi 7 精讲/VCSA/VSAN
-
博客
jQuery实现三级菜单
jQuery实现三级菜单
-
学院
实现 MySQL 读写分离的利器 mysql-proxy
实现 MySQL 读写分离的利器 mysql-proxy
-
学院
xxljob源码分析
xxljob源码分析
-
学院
Windows系统管理
Windows系统管理
-
学院
【爱码农】C#制作MDI文本编辑器
【爱码农】C#制作MDI文本编辑器
-
博客
如何修复“您的系统已耗尽应用程序内存”错误法
如何修复“您的系统已耗尽应用程序内存”错误法
-
下载
nps-nlw4-api:Projeto criado na NLW#04佩拉火箭座-源码
nps-nlw4-api:Projeto criado na NLW#04佩拉火箭座-源码
-
学院
LVS + Keepalived 实现 MySQL 负载均衡与高可用
LVS + Keepalived 实现 MySQL 负载均衡与高可用
-
博客
java JDBC
java JDBC
-
下载
毛概课件 第六章社会主义初级阶段理论.ppt
毛概课件 第六章社会主义初级阶段理论.ppt
-
下载
CIFAR10-img-classification-tensorflow-master.zip
CIFAR10-img-classification-tensorflow-master.zip
-
学院
MySQL 触发器
MySQL 触发器
-
博客
Auth0任命Jameeka Green Aaron为首席信息安全官
Auth0任命Jameeka Green Aaron为首席信息安全官
-
下载
lawsings.github.io:github页面测试-源码
lawsings.github.io:github页面测试-源码