imx6q yocto常见问题
来源:互联网 发布:ssh安装 centos 编辑:程序博客网 时间:2024/05/18 17:04
这个问题通常在我们打包一个第三方的应用程序的时候出现,解决的办法是在对应的BB文件里面添加
FILES_${PN}-dbg += "path/.debug"
重新编译就可以通过了,path为我们打包的路径。
2 ERROR: QA Issue: xxx: Files/directories were installed but not shipped
........(这里列出一堆文件)
这个问题通常是在打包一些字库文件,图片文件之类的东东的时候报错的,解决的办法是在对应的BB文件中添加
FILES_${PN} += "path"
path为我们打包图片、字库等文件的路径。
3 设置依赖关系
我们在编译某些包的时候,这个包需要其他包的接口,如果这个包依赖的包还没有编译,那么就会报错。
我们可以在bb文件中添加依赖关系
DEPENDS += "xxx xxx xxx"
xxx为需要依赖的包名。
这样当需要依赖的包还没有编译的时候,就会先编译需要依赖的包。
如果依赖的包改变了,也会重新编译。
4 设置开机自启动的脚本
在相应的BB文件里添加
inherit update-rc.d
INITSCRIPT_NAME = "xxx.sh"
INITSCRIPT_PARAMS = "start 38 S ."
编译成功后,开机会在etc/rcS.d目录下看到S38xxx.sh的链接文件,指向etc/init.d/xxx.sh
开机就会启动这个脚本。
38是启动顺序,S是runlevel
例如也可以设置为 INITSCRIPT_PARAMS = "start 99 5 ."
那么就会在etc/rc5.d的目录下产生一个S99xxx.sh的链接文件
这里需要注意的是xxx.sh这个脚本要打包到etc/init.d/目录下。
5 如何在rootfs中添加或者减少包
rootfs需要打包那些文件是由bb文件确定的
例如我们编译命令是 bitbake fsl-image-qt5 ,那么打包的设置就在fsl-image-qt5.bb文件中,这个文件的位置在sources/meta-fsl-bsp-release/imx/meta-sdk/recipes-fsl/images/目录下
我们可以找到IMAGE_INSTALL下添加或者删除相应的包。
6 添加自己的设备树文件
1 在arch/arm/boot/dts/目录下添加自己的dts文件,例如mytest.dts
2 修改arch/arm/boot/dts/目录下的makefile文件,在dtb-$(CONFIG_ARCH_MXC) +=下增减mytest.dtb
3 修改sources/meta-fsl-bsp-release/imx/meta-bsp/conf/machine/ 目录下的im6qsabresd.conf ,在KERNEL_DEVICETREE项添加mytest.dtb,对于自己不需要编译的设备树文件,也可以在这个项下去掉。
7 设置要生成的rootfs的类型
imx6q默认生成的rootfs,有xxx.rootfs.ext3 xxx.tar.bz2 xxx.ext3 xxx.sdcard,如果都生成,占用的磁盘空间很多,生成的时间也会更长。
实际上我们烧录的rootfs通常只需要一种,这时我们可以通过修改source/meta-fsl-arm/conf/machine/include目录下的imx-base.inc文件
例如我们只需要xxx.tar.bz2文件,那么可以将SDCARD_ROOTFS ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext3"注释掉
将IMAGE_FSTYPES ?= "tar.bz2 ext3 sdcard" 改为IMAGE_FSTYPES ?= "tar.bz2 "
这样就只会生成xxx.tar.bz2一个文件了。
8 设置DISTRO_FEATURES
在默认的设置中,会有很多配方,例如bluetooth irda 3g 等等,而我们的设备上可能没有这些东西,如果把这些都编译到系统里面,rootfs会很庞大。
我们可以去掉一些不要的配方。例如我们的DISTRO=fsl-imx-x11
那么可以修改 meta-fsl-bsp-release/imx/meta-sdk/conf/distro/fsl-imx-x11.conf
在DISTRO_FEATURES_remove中加上要去掉的配方,例如 DISTRO_FEATURES_remove = "bluetooth irda wayland bluez5 alsa nfs pci 3g nfc zeroconf"
如果要添加配方可以加在DISTRO_FEATURES_append项下。
9 每编译一次image,yocto都会在deploy目录下的images目录下保存一份编译好的文件,而且不会删除之前编译的。
这样造成deploy目录越来越大,几个月之后,系统磁盘空间不足,不得不手工一一删除,费时费力。
我们可以在conf/local.conf文件下加上
RM_OLD_IMAGE = "1"
的配置。
这样每次编译后,就会删除之前同版本的image。
在ima6q中,飞思卡尔默认的操作是每次执行fsl-setup-release.sh时,会检测时候存在conf/local.conf.org,如果存在将用conf/local.conf.org恢复conf/local.conf,
所以我们如果要修改,需要将conf/local.conf和conf/local.conf.org同时修改。
10 显示配置的layer以及recipe等信息
bitbake-layers show-layers --> 显示已配置的layers
bitbake-layers show-recipes --> 显示所有可用的recipes
bitbake-layers show-overlayed --> 显示所有被覆盖的recipes
bitbake-layers show-appends --> 显示所有可用的append文件
11 出现gstreamer1.0-libav was skipped: because it has a restricted license not whitelisted in LICENSE_FLAGS_WHITELIST错误的解决办法。
在自己的*.conf文件中加上
LICENSE_FLAGS_WHITELIST = "commercial"
- imx6q yocto常见问题
- yocto environment:imx6q Cross Compile Toolchain Installation
- imx6q yocto 添加自己的应用程序
- imx6q yocto修改device tree中uart管脚配置
- imx6q的kernel在yocto中的有关内容
- yocto编译常见问题及解决方法
- Linux内核yocto在Freescale的IMX6q上启动遇到booting from net,.....
- yocto
- Yocto
- yocto
- yocto
- yocto
- yocto之yocto概述
- Imx6q Andriod
- yocto project
- yocto QEMU
- yocto layers
- Yocto Study
- Annotation注解APT(二):自定义注解
- PyCharm运行Scrapy小示例
- java
- PAT(乙级)1012
- 随机打乱和逆过程
- imx6q yocto常见问题
- PHP date strtotime
- Muduo网络库源码分析(四)EventLoopThread和EventLoopThreadPool的封装
- ubuntu wifi问题(没有driver/wifi hard blocked)
- java
- 花开两朵 天各一方
- GreenDao3.2.2集成使用以及数据库的升级
- 实例化需求SBE
- 常用SVN命令,超详细