导航:首页 > 源码编译 > 清除yocto编译的缓存

清除yocto编译的缓存

发布时间:2022-09-23 01:06:42

1. 如何安装yocto

1.Yocto简介:
Yocto 是一个开源社区,它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。

2.Yocto定制准备工作
(1)确保电脑能联网,并且有100G的空闲,电脑配置不低于4核
(2)获取yocto脚本:$git clone git://git.yoctoproject.org/poky
(3)获取硬件相关层:$git clone git://git.yoctoproject.org/meta-intel.git
(4)关于yocto的帮助:http://www.yoctoproject.org/documentation

3.开始搭建环境
(1)$source poky/oe-init-build-env xxx
xxx$cd conf
xxx/conf$ vim bblayers.conf
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "4"
BBFILES ?= ""
BBLAYERS ?= " \
/hda5/hmi/x86/yocto/poky/meta \
/hda5/hmi/x86/yocto/poky/meta-yocto \
/hda5/hmi/x86/yocto/poky/meta-intel \
/hda5/hmi/x86/yocto/poky/meta-intel/meta-crownbay \
(2)修改local.conf
xxx/conf$ vim local.conf
#MACHINE ??= "qemux86"
MACHINE ??= "crownbay"

4.开始编译
注:(官方下载的只是脚本,yocto一边下载一边编译所以很慢而且还受资源下载限制和电脑配置,下载的文件在工作目录中的downloads中,第一次下载后保存好downloads以后就方便了)
(1)配置内核
xxx$ bitbake linux_yocto -c menuconfig
(2)定制微型yocto
xxx$ bitbake core-image-minimal
(3)定制桌面型yocto
xxx$ bitbake coure-image-sato
(4) hob config
xxx$ hob
可以在图形化界面中方便的定制系统。

2. yocto交叉编译工具在哪个目录

概述YoctoProject是一个开源协作项目,它提供了一些模板、工具和方法来支持面向嵌入式产品的自定义Linux系统,不管硬件架构是什么。我想要告诉那些对yocto这个名称不甚理解的用户的是,术语yocto是最小的SI单元。最为一个前缀,yocto表示10^-24。本文将提供一个分步指导,向您介绍如何使用YoctoProject的行业标准开源工具为嵌入式设备创建自定义的Linux操作系统,并使用QEMU在一台虚拟机中启动操作系统。YoctoProject是由大型硬件公司和操作系统供应商资助的、由Linux基金会赞助的开源项目,提供了一些行业领先的工具、方法和元数据来构建Linux系统。YoctoProject的两大主要组件由YoctoProject和OpenEmbedded项目一起维护,这两个组件是BitBake和OpenEmbedded-Core,前者是构建引擎,后者是运行构建过程所使用的一套核心配方(recipe)。下一节会介绍所有项目组件。YoctoProject简介作为一个协作项目,YoctoProject有时也称为“umbrella”项目,它吸纳了许多不同的开发流程部分。在整个YoctoProject中,这些部分被称为项目,包括构建工具、称为核心配方的构建指令元数据、库、实用程序和图形用户界面(GUI)。PokyPoky是YoctoProject的一个参考构建系统。它包含BitBake、OpenEmbedded-Core、一个板卡支持包(BSP)以及整合到构建过程中的其他任何程序包或层。Poky这一名称也指使用参考构建系统得到的默认Linux发行版,它可能极其小(core-image-minimal),也可能是带有GUI的整个Linux系统(core-image-sato)。您可以将Poky构建系统看作是整个项目的一个参考系统,即运行中进程的一个工作示例。在下载YoctoProject时,实际上也下载了可用于构建默认系统的这些工具、实用程序、库、工具链和元数据的实例。这一参考系统以及它创建的参考发行版都被命名为Poky。您还可以将此作为一个起点来创建您自己的发行版,当然,您可以对此发行版随意命名。所有构建系统都需要的一个项目是工具链:一个编译器、汇编程序、链接器以及为给定架构创建二进制可执行文件所需的其他二进制实用程序。Poky使用了GNUCompilerCollection(GCC),不过您也可以指定其他工具链。Poky使用了一种名为交叉编译的技术:在一个架构上使用工具链为另一个架构构建二进制可执行文件(例如,在基于x86的系统上构建ARM发行版)。开发人员常常在嵌入式系统开发中使用交叉编译来利用主机系统的高性能。元数据集元数据集按层进行排列,这样一来每一层都可以为下面的层提供单独的功能。基层是OpenEmbedded-Core或oe-core,提供了所有构建项目所必需的常见配方、类和相关功能。然后您可以通过在oe-core之上添加新层来定制构建。OpenEmbedded-Core由YoctoProject和OpenEmbedded项目共同维护。将YoctoProject与OpenEmbedded分开的层是meta-yocto层,该层提供了Poky发行版配置和一组核心的参考BSP。

3. yocto 如何编译

Yocto 是一个开源社区,它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。[1]
Yocto Project™是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系统和嵌入式产品,而无需关心硬件体系。适合嵌入式Linux开发人员使用。极大地简化你的开发过程,因为你不用再从头裁剪一个完整的Linux发布版本,后者通常包括许多你并不需要的软件。
Yocto项目通过Poky来构建一个系统,并提供了一个开放源码的开发环境,针对目标为ARM,MIPS,PowerPC和x86架构,而平台包括x86-64和模拟器。
你可以使用Yocto项目的组件来设计,开发,构建,调试,仿真和对使用了Linux, X windows系统, 基于移动设备的GNOME应用框架和Qt框架的完整的软件堆栈进行测试.
Yocto兼容OpenEmbedded项目,你可以简单可靠地进行编译和开发.完全支持通过QEMU模拟器的广泛的硬件和设备的仿真.
Yocto项目可以为多种设备生成映像.
通过Yocto项目开发出来的映像可以在一个QEMU模拟器中进行引导,开发环境可以作为一个开发嵌入式软件的良好的测试平台.

4. 如何在yocto下安装deb文件

开始搭建环境
(1)$source poky/oe-init-build-env xxx
xxx$cd conf
xxx/conf$ vim bblayers.conf
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "4"
BBFILES ?= ""
BBLAYERS ?= " \
/hda5/hmi/x86/yocto/poky/meta \
/hda5/hmi/x86/yocto/poky/meta-yocto \
/hda5/hmi/x86/yocto/poky/meta-intel \
/hda5/hmi/x86/yocto/poky/meta-intel/meta-crownbay \
(2)修改local.conf
xxx/conf$ vim local.conf
#MACHINE ??= "qemux86"
MACHINE ??= "crownbay"

4.开始编译
注:(官方下载的只是脚本,yocto一边下载一边编译所以很慢而且还受资源下载限制和电脑配置,下载的文件在工作目录中的downloads中,第一次下载后保存好downloads以后就方便了)
(1)配置内核
xxx$ bitbake linux_yocto -c menuconfig
(2)定制微型yocto
xxx$ bitbake core-image-minimal
(3)定制桌面型yocto
xxx$ bitbake coure-image-sato
(4) hob config
xxx$ hob
可以在图形化界面中方便的定制系统。

5. yocto 怎样编译busybox

Yocto 是一个开源社区,它通过提供模版、工具和方法帮助开发者创建基于linux内核的定制系统,支持ARM, PPC, MIPS, x86 (32 & 64 bit)硬件体系架构。[1] Yocto Project™是一个开源的协作软件,提供模板、工具和方法帮你创建定制的 Linux 系

6. 怎么样用YOCTO编译出带apache,mysql和php的镜像

PHP,已经单独编译并烧写可运行了,我事这么做的:
用bitbake php
之后会生成tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/php/目录,
在tmp/work/cortexa9hf-vfp-neon-poky-linux-gnueabi/php/5.5.20-r0/image/目录下面有需要添加到rootfs当中的文件,
需要在local.conf文件中修改CORE_IMAGE_EXTRA_INSTALL 变量,加上 php才能在安装到rootfs下面

7. linux 内核 镜像 工具 哪些 yocto

linux内核镜像格式
一、Linux内核镜像格式
Linux内核有多种格式的镜像,包括vmlinux、Image、zImage、bzImage、uImage、xipImage、bootpImage等.
(1)kernel镜像格式:vmlinux
vmlinuz是可引导的、可压缩的内核镜像,vm代表Virtual Memory.Linux支持虚拟内存,因此得名vm.它是由用户对内核源码编译得到,实质是elf格式的文件.也就是说,vmlinux是编译出来的最原始的内核文件,未压缩.这种格式的镜像文件多存放在PC机上.
【 attention】elf格式文件
ELF,Executable and Linkable Format,可执行可链接格式,是UNIX实验室作为应用程序二进制接口而发布的,扩展名为elf.可以简单的认为,在elf格式的文件中,除二进制代 码外,还包括该可执行文件的某些信息,比如符号表等.
(2)kernel镜像格式:Image
Image是经过obj处理的只包含二进制数据的内核代码,它已经不是elf格式了,但这种格式的内核镜像还没有经过压缩.
【 attention】obj
GNU使用工具程序obj作用是拷贝一个目标文件的内容到另一个目标文件中,也就是说,可以将一种格式的目标文件转换成另一种格式的目标文件. 通过使用binary作为输出目标(-o binary),可产生一个原始的二进制文件,实质上是将所有的符号和重定位信息都将被抛弃,只剩下二进制数据.
(3)kernel镜像格式:zImage
zImage是ARM linux常用的一种压缩镜像文件,它是由vmlinux加上解压代码经gzip压缩而成,命令格式是#make zImage.这种格式的Linux镜像文件多存放在NAND上.
(4)kernel镜像格式:bzImage
bz表示big zImage,其格式与zImage类似,但采用了不同的压缩算法,注意,bzImage的压缩率更高.
(5)kernel镜像格式:uImage
uImage是uboot专用的镜像文件,它是在zImage之前加上一个长度为0x40的头信息(tag),在头信息内说明了该镜像文件的类型、加载 位置、生成时间、大小等信息.换句话说,若直接从uImage的0x40位置开始执行,则zImage和uImage没有任何区别.命令格式是#make uImage.这种格式的Linux镜像文件多存放在NAND上.
(6)kernel镜像格式:xipImage
这种格式的Linux镜像文件多存放在NorFlash上,且运行时不需要拷贝到内存SDRAM中,可以直接在NorFlash中运行.

二、Linux内核镜像的产生过程
在嵌入式Linux中,内核的启动过程分为两个阶段.其中,第一阶段启动代码放在arch/arm/kernel/head.S文件中,该文件与体系 结果相关,与用户的开发板无关,主要是初始化ARM内核等.第二阶段启动代码是init目录下的main.c.现以执行命令#make zImage为例来说明,arm-linux内核镜像的产生过程.
(1)当用户对Linux内核源码进行编译时,kernel的第1/2阶段代码会生成可执行文件vmlinux,该文件是未被压缩的镜像文件,非常大,不能直接下载到NAND中,通常放在PC机上,这也是最原始的Linux镜像文件.试验时该文件约50M.
(2)镜像文件vmlinux由于很大,肯定不能直接烧入NAND中,因此需要进行二进制化,即经过obj处理,使之只包含二进制数据的内核代 码,去除不需要的文件信息等,这样就制作成了image镜像文件.该镜像文件也是未压缩,只是经过了二进制化而变小.试验时该文件约5M.
(3) 一般来说,内存SDRAM中的内核镜像是经过压缩的,只是在运行时再将其解压.所以,编译时会先使用gzip将镜像文件image进行压缩(压缩比约为 2:1),再将压缩后的镜像文件和源码中的两个文件arch/arm/boot/compressed/head.S、arch/arm/boot /compressed/misc.c一起链接生成压缩后的镜像文件compress/vmlinux.试验时该文件约为2.5M.注意,这两个源码文件 是解压程序,用于将内存SDRAM中的压缩镜像zImage进行解压.
(4)压缩后的镜像文件compress/vmlinux经过二进制化,最终生成镜像文件zImage,试验时该文件约为2.5M.当然,在内存 SDRAM中运行压缩镜像文件zImage时,会首先调用两个解压程序arch/arm /boot/compressed/head.S、arch/arm/boot/compressed/misc.c将自身解压,然后再执行kernel 的第一阶段启动代码arch/arm/kernel/head.S.简而言之,在内存中运行内核时,kernel先自身解压,再执行第一阶段启动代码.试 验时运行在内存中的镜像文件约为5M,与image镜像文件大小相同.
(

阅读全文

与清除yocto编译的缓存相关的资料

热点内容
框架源码研读 浏览:444
仙侣奇缘3如何架设服务器 浏览:952
单片机RRC指令 浏览:887
默认加密文件密码 浏览:3
怎么用反诈中心app查询电话 浏览:708
linuxvi操作 浏览:296
什么是实木压缩板 浏览:639
加密空投与硬分叉指南 浏览:15
加密wps文档密码忘了怎么办 浏览:685
冲程算法 浏览:988
鸡料与鸡粪的算法 浏览:833
phpif变量为空值 浏览:59
iot编译器异常 浏览:600
代理服务器被禁用怎么上网 浏览:411
隐私加密怎么设置密码 浏览:940
马丁靴补色解压 浏览:565
在设置app上怎么找到个人热点 浏览:754
按照档案号生成文件夹 浏览:1001
程序员转方向 浏览:111
lol敏捷加密 浏览:882