公司动态
0001.在ubuntu2004上搭建yocto_Scarthgap环境
1、官方参考文档“Yocto Project Quick Build” 网址https://docs.yoctoproject.org/5.0.10/brief-yoctoprojectqs/index.html2、在ubuntu2004上安装软件sudo apt install build-essential chrpath cpio debianutils diffstat file gawk gcc git iputils-ping libacl1 liblz4-tool locales python3 python3-git python3-jinja2 python3-pexpect python3-pip python3-subunit socat texinfo unzip wget xz-utils zstd sudo locale-gen en_US.UTF-83、克隆poky代码git clone git://git.yoctoproject.org/poky cd poky/ git checkout -t origin/scarthgap -b scarthgap4、初始化OpenEmbedded构建环境默认创建build目录并进入build目录source oe-init-build-env 创建build_test目录并进入build_test目录source oe-init-build-env build_test5、针对Yocto Project Quick Build配置国内源的完整解决方案结合清华源、中科大源等国内主流镜像感觉没什么用可能需要对比测试才知道是否有用在build/conf/local.conf末尾添加以下配置优先推荐清华源中科大源组合 # 元数据镜像设置 SOURCE_MIRROR_URL ? http://mirrors.ustc.edu.cn/yocto BB_GENERATE_MIRROR_TARBALLS 1 # OpenEmbedded元数据镜像 PREMIRRORS \ git://.*/.* http://mirrors.tuna.tsinghua.edu.cn/git/meta-openembedded \n \ git://.*/.* http://mirrors.ustc.edu.cn/yocto/meta-openembedded \n \ https://.*/.* http://mirrors.tuna.tsinghua.edu.cn/yocto/meta-openembedded \n \ ftp://.*/.* http://mirrors.ustc.edu.cn/yocto \n # 软件包下载镜像覆盖主流协议 PREMIRRORS:prepend \ https?://.*/.* http://mirrors.ustc.edu.cn/yocto/downloads/ \n \ ftp://.*/.* http://mirrors.tuna.tsinghua.edu.cn/yocto/downloads/ \n \ git://.*/.* http://mirrors.ustc.edu.cn/yocto/sources/ \n \ gitsm://.*/.* http://mirrors.tuna.tsinghua.edu.cn/yocto/sources/ \n \ svn://.*/.* http://mirrors.ustc.edu.cn/yocto/sources/ \n6、使用并行的方式进行构建查看CPU的物理核心数nproc 若是12核则在 build/conf/local.conf 中添加 # 在 conf/local.conf 中设置 PARALLEL_MAKE -j12 BB_NUMBER_THREADS 12 使用如下命令构建 bitbake core-image-minimal在构建的过程中一直卡在如下的界面无法继续下载 NOTE: Executing Tasks Setscene tasks: 1858 of 1858 Currently 2 running tasks (1691 of 4076) 41% |############################################################ | 0: kmod-native-31-r0 do_fetch - 46s (pid 9845) 14% |################### | 1: kmod-31-r0 do_fetch - 46s (pid 9848) 先终止构建Ctrl键C 清除kmod相关任务bitbake -c cleanall kmod-native kmod 重新开始构建bitbake core-image-minimal 此时可以通过git clone的方法先将kmod的源码下载到本地端然后修改bb文件则可以解决该问题。7、构建完成后通过如下命令运行runqemu qemux86-64qemu的默认密码root8、在build目录下清除构建的内容然后从新进行构建其他镜像# 更彻底的清理包括缓存但依然保留downloads bitbake -c cleanall core-image-minimal # 正常构建新镜像自动复用downloads中的源码 bitbake core-image-sato9、由于构建的core-image-sato带图像界面如果直接使用runqemu qemux86-64的方式导致打开的qemux非常的卡根本没办法使用。可以使用如下命令以命令行的方式打开qemux不显示桌面这样就很流畅一点都不卡顿runqemu qemux86-64 nographic