建立DragonBoard 410c的Yocto映像,如何建立Chromium [英] Building Yocto image for DragonBoard 410c, how to build Chromium

查看:336
本文介绍了建立DragonBoard 410c的Yocto映像,如何建立Chromium的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用Sato和Chromium为 DragonBoard 410c 生成图像?

How to generate an image with Sato and Chromium for the DragonBoard 410c?

qcom-oe-manifest开始 Dragonboard-410c-OpenEmbedded-and-中引用Yocto文档

将Sato桌面和Chromium添加到此基本配置的正确/正确方法是什么?

What is the correct/proper way to add Sato desktop and Chromium to this base config?

我做了什么:


  • 添加了 x11-base x11-sato 添加到 IMAGE_FEATURES

  • chromium alsa-utils lsb 添加到 CORE_IMAGE_BASE_INSTALL

  • Added x11-base x11-sato to IMAGE_FEATURES
  • Added chromium alsa-utils lsb to CORE_IMAGE_BASE_INSTALL
/oe-qcom-yocto/sources$ more ./meta-rpb/recipes-samples/images/my-image.bb

SUMMARY = "Basic console image"

IMAGE_FEATURES += "x11-base x11-sato splash package-management ssh-server-dropbear hwcodecs"

LICENSE = "MIT"

inherit core-image distro_features_check extrausers

# let's make sure we have a good image..
REQUIRED_DISTRO_FEATURES = "pam systemd"

CORE_IMAGE_BASE_INSTALL += " \
    chromium alsa-utils lsb \
    coreutils gptfdisk kernel-modules connman 96boards-tools \
"

EXTRA_USERS_PARAMS = "\
useradd -p '' linaro; \
"

然后运行 bitbake -v

~/oe-qcom-yocto/build-jethro$  bitbake -v my-image


NOTE: Started PRServer with DBfile: /home/joel/oe-qcom-yocto/build-jethro/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 51063, PID: 1432
Loading cache: 100% |############################################################################################################################################################################| ETA:  00:00:00
Loaded 2948 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
NOTE: selecting pigz-native to satisfy gzip-native due to PREFERRED_PROVIDERS
NOTE: selecting pseudo-native to satisfy virtual/fakeroot-native due to PREFERRED_PROVIDERS
NOTE: selecting linux-linaro-qcomlt to satisfy virtual/kernel due to PREFERRED_PROVIDERS
NOTE: selecting opkg-native to satisfy opkg-native due to PREFERRED_PROVIDERS
NOTE: selecting opkg-utils-native to satisfy virtual/update-alternatives-native due to PREFERRED_PROVIDERS
ERROR: Nothing RPROVIDES 'chromium' (but /home/joel/oe-qcom-yocto/build-jethro/conf/../../sources/meta-rpb/recipes-samples/images/my-image.bb RDEPENDS on or otherwise requires it)
ERROR: chromium was skipped: incompatible with machine dragonboard-410c (not in COMPATIBLE_MACHINE)
NOTE: Runtime target 'chromium' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['chromium']
NOTE: Target 'my-image' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['my-image', 'chromium']
ERROR: Required build target 'my-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['my-image', 'chromium']

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.



在<$ c中添加了 dragonboard-410c $ c> COMPATIBLE_MACHINE -新错误



Added dragonboard-410c to COMPATIBLE_MACHINE - new ERROR

...
NOTE: selecting gettext to satisfy virtual/gettext due to PREFERRED_PROVIDERS
ERROR: Nothing PROVIDES 'libav' (but /home/joel/oe-qcom-yocto/build-jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium_40.0.2214.91.bb DEPENDS on or otherwise requires it)
ERROR: libav was skipped: because it has a restricted license not whitelisted in LICENSE_FLAGS_WHITELIST
NOTE: Target 'libav' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libav']
NOTE: Runtime target 'chromium' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['chromium', 'libav']
NOTE: Target 'my-image' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['my-image', 'chromium', 'libav']
ERROR: Required build target 'my-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['my-image', 'chromium', 'libav']



UPDATE



的末尾添加了 LICENSE_FLAGS_WHITELIST = commercial build_jethro / conf / local.conf 文件,它正在构建我的映像

UPDATE

Added LICENSE_FLAGS_WHITELIST = "commercial" at the end of build_jethro/conf/local.conf file and it's building my image

WARNING: Failed to fetch URL file://include.gypi, attempting MIRRORS if available
ERROR: Fetcher failure: Unable to find file file://include.gypi anywhere. The paths that were searched were:
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium-40.0.2214.91/rpb
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium/rpb
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/files/rpb
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium-40.0.2214.91/aarch64
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium/aarch64
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/files/aarch64
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium-40.0.2214.91/dragonboard-410c
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium/dragonboard-410c
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/files/dragonboard-410c
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium-40.0.2214.91/aarch64
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium/aarch64
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/files/aarch64
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium-40.0.2214.91/
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium/
    /home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/files/
    /home/joel/oe-qcom-yocto/sources/downloads
ERROR: Function failed: Fetcher failure for URL: 'file://include.gypi'. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/joel/oe-qcom-yocto/build_jethro/tmp-rpb-glibc/work/aarch64-oe-linux/chromium/40.0.2214.91-r0/temp/log.do_fetch.10845
ERROR: Task 197 (/home/joel/oe-qcom-yocto/build_jethro/conf/../../sources/meta-browser/recipes-browser/chromium/chromium_40.0.2214.91.bb, do_fetch) failed with exit code '1'



include.gypi

include.gypi in the Chromium recipe

joel@linux-Lenovo-G50-70:~/oe-qcom-yocto/sources$ grep -r "include.gypi" *
meta-browser/recipes-browser/chromium/chromium_40.0.2214.91.bb:        file://include.gypi \
meta-browser/recipes-browser/chromium/chromium_40.0.2214.91.bb: -I ${WORKDIR}/include.gypi \



< h3>添加了 aarch64

创建了元浏览器/配方浏览器/铬/铬/ aarch64 文件夹,并添加了 include.gypi oe-defaults.gypi 减轻

Added aarch64

Created meta-browser/recipes-browser/chromium/chromium/aarch64 folder and added include.gypi and oe-defaults.gypi as recommended by LightenS

meta-browser/recipes-browser/chromium/chromium/aarch64$ more include.gypi

{
  'variables': {
    'target_arch': 'arm64',
    'use_allocator': 0,
    'use_xkbcommon': 1,
     'v8_use_external_startup_data' : 0,
     'v8_use_snapshot' : 'false',
  }, 
}



oe-defaults.gypi

oe-defaults.gypi

meta-browser/recipes-browser/chromium/chromium/aarch64$ more oe-defaults.gypi

{
  'variables': {
    'use_system_bzip2': 1,
    'disable_nacl': 1,
    'proprietary_codecs': 1,
    'v8_use_snapshot': 1,
    'ffmpeg_branding' : 'Chrome',
    'use_system_ffmpeg': 0,
    'linux_link_kerberos': 0,
    'use_kerberos': 0,
    'use_cups': 0,
    'use_gnome_keyring': 0,
    'linux_link_gnome_keyring': 0
  }, 
}



新问题



NEW Issue

 [301/16647] CXX obj/breakpad/src/client/linux/minidump_writer/breakpad_client.linux_ptrace_dumper.o
| 
| [301/16647] CXX obj/breakpad/src/client/linux/minidump_writer/breakpad_client.linux_ptrace_dumper.o
| FAILED: aarch64-oe-linux-g++  --sysroot=/home/joel/oe-qcom-yocto/build_jethro/tmp-rpb-glibc/sysroots/dragonboard-410c -MMD -MF obj/breakpad/src/client/linux/dump_writer_common/breakpad_client.thread_info.o.d -DV8_DEPRECATION_WARNINGS -D_FILE_OFFSET_BITS=64 -DNO_TCMALLOC -DDISABLE_NACL -DCHROMIUM_BUILD -DTOOLKIT_VIEWS=1 -DUI_COMPOSITOR_IMAGE_TRANSPORT -DUSE_AURA=1 -DUSE_ASH=1 -DUSE_PANGO=1 -DUSE_CAIRO=1 -DUSE_DEFAULT_RENDER_THEME=1 -DUSE_LIBJPEG_TURBO=1 -DUSE_X11=1 -DUSE_CLIPBOARD_AURAX11=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DUSE_XI2_MT=2 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DUSE_UDEV -DDONT_EMBED_BUILD_METADATA -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DCLD2_DATA_SOURCE=static -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_MANAGED_USERS=1 -DENABLE_MDNS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_LOAD_COMPLETION_HACKS=1 -DUSE_LIBPCI=1 -DUSE_GLIB=1 -DUSE_NSS=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../breakpad/src -I../../breakpad/src/client -I../../breakpad/src/third_party/linux/include -I../.. -I../../breakpad -fstack-protector --param=ssp-buffer-size=4 -pthread -fno-strict-aliasing -Wno-unused-parameter -Wno-missing-field-initializers -fvisibility=hidden -pipe -fPIC -Wno-unused-local-typedefs -Wno-format -Wno-unused-result -O2 -fno-ident -fdata-sections -ffunction-sections -funwind-tables -Wno-error=unused-local-typedefs -O2 -pipe -g -feliminate-unused-debug-types -fvisibility-inlines-hidden -fno-exceptions -fno-rtti -fno-threadsafe-statics -fvisibility-inlines-hidden -Wno-deprecated -std=gnu++11 -Wno-narrowing -Wno-literal-suffix  -c ../../breakpad/src/client/linux/dump_writer_common/thread_info.cc -o obj/breakpad/src/client/linux/dump_writer_common/breakpad_client.thread_info.o
| In file included from ../../breakpad/src/client/linux/dump_writer_common/thread_info.cc:30:0:
| ../../breakpad/src/client/linux/dump_writer_common/thread_info.h:69:23: error: field 'regs' has incomplete type 'google_breakpad::user_pt_regs'
|    struct user_pt_regs regs;
|                        ^
| ../../breakpad/src/client/linux/dump_writer_common/thread_info.h:69:10: note: forward declaration of 'struct google_breakpad::user_pt_regs'
|    struct user_pt_regs regs;
|           ^
| ../../breakpad/src/client/linux/dump_writer_common/thread_info.h:70:28: error: field 'fpregs' has incomplete type 'google_breakpad::user_fpsimd_state'
|    struct user_fpsimd_state fpregs;
|                             ^
| ../../breakpad/src/client/linux/dump_writer_common/thread_info.h:70:10: note: forward declaration of 'struct google_breakpad::user_fpsimd_state'
|    struct user_fpsimd_state fpregs;
|


推荐答案

Openembedded-core中有一个Sato软件包,您可以继承到此处

There is a Sato package in Openembedded-core you could inherit to HERE

如果您想构建Sato图像,请参见Openembedded-core 这里

If you want to build Sato image, there are a list here from Openembedded-core HERE

来自 chromium.inc ,Chromium不支持您使用的主板。这是四核ARM®Cortex®A53 ,您可以尝试将计算机添加到列表中并进行编译。您的计算机应为 aarch64

From chromium.inc, Chromium does not support the board you have. Which is Quad-core ARM® Cortex® A53, You could try to add the machine to the list and compile. Your machine should be aarch64

COMPATIBLE_MACHINE = "(-)"
COMPATIBLE_MACHINE_x86 = "(.*)"
COMPATIBLE_MACHINE_x86-64 = "(.*)"
COMPATIBLE_MACHINE_armv6 = "(.*)"
COMPATIBLE_MACHINE_armv7a = "(.*)"
COMPATIBLE_MACHINE_aarch64 = "(.*)"

编辑:Chromium需要编译以下内容;

Edit: Chromium requires the following to be compiled;

DEPENDS = xz-native pciutils pulseaudio cairo nss zlib-native libav cups ninja-native gconf libexif pango libdrm

DEPENDS + = libgnome-keyring

在那些依赖项中, libav 必须列入白名单。为此,我们需要转到 conf / local.conf 并添加 LICENSE_FLAGS_WHITELIST = commercial

In those dependencies, libav needs to be WHITELISTED. To do this, we need to go to conf/local.conf and add LICENSE_FLAGS_WHITELIST = "commercial".

单击此处,并查找12.5 ,以了解有关许可的更多信息。

Click Here, and look for Section 12.5 to know more about License.

编辑:Fetcher问题:
您将需要添加 include.gypi oe-defaults.gypi 文件到 / meta-browser / recipes-browser / chromium / chromium / aarch64 /

Edit: Fetcher Issue: You will need include.gypi and oe-defaults.gypi files added to /meta-browser/recipes-browser/chromium/chromium/aarch64/

铬/铬/aarch64/include.gypi

{
  'variables': {
    'target_arch': 'arm64',
    'use_allocator': 0,
    'use_xkbcommon': 1,
     'v8_use_external_startup_data' : 0,
     'v8_use_snapshot' : 'false',
  }, 
}

铬/铬/oe-defaults.gypi

{
  'variables': {
    'use_system_bzip2': 1,
    'disable_nacl': 1,
    'proprietary_codecs': 1,
    'v8_use_snapshot': 1,
    'ffmpeg_branding' : 'Chrome',
    'use_system_ffmpeg': 0,
    'linux_link_kerberos': 0,
    'use_kerberos': 0,
    'use_cups': 0,
    'use_gnome_keyring': 0,
    'linux_link_gnome_keyring': 0
  }, 
}

编辑:用于Dragonboard的正确元浏览器应为: https:// github。 com / kuscsik / meta-browser-1 。里面有董事会需要的所有文件。

The Correct meta-browser for the dragonboard should be this : https://github.com/kuscsik/meta-browser-1. Inside, there is all the files required for the board.

这篇关于建立DragonBoard 410c的Yocto映像,如何建立Chromium的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆