Raspberry Pi + Qt5 + Yocto – parte 1

Raspberry Pi usando Qt5
Este post faz parte da série Raspberry pi + Qt5 + Yocto. Leia também os outros posts da série:

Nesta série de artigos sobre o uso do Yocto Project veremos como criar uma distribuição Linux embarcado com o Qt5 para a Raspberry Pi usando seu acelerador gráfico VideoCore IV. Na segunda parte veremos como gerar um SDK e integrá-lo ao QtCreator para que possamos desenvolver e compilar aplicações para o nosso target. Se você ainda não teve contato com o Yocto, sugiro que faça o tutorial do Henrique Rossi sobre Beaglebone Black + Yocto.

Anteriormente foi publicada uma série  para a Beaglebone Black, porém usando a versão QtEmbedded (Qt4).

Umas das principais evoluções do Qt5 em relação ao Qt4 é o melhor uso da GPU, dentre outras características.

Preparando o Host

O Yocto Project suporta oficialmente as seguintes distribuições GNU/Linux como ambiente de construção:

  • Ubuntu 12.04, 13.10 e 14.04
  • Fedora 19 e 20 
  • CentOS 6.4 e 6.5
  • Debian 7.0, 7.1, 7.2, 7.3 e 7.4
  • openSUSE 12.2, 12.3 e 13.1

Para que ele execute no Host alguns pacotes necessitam ser instalados.

Ubuntu e Debian:

Fedora:

openSUSE:

CentOS:

Montando o Ambiente de construção

Vamos criar os diretórios e baixar os fontes necessários:

Note que estamos usando a versão “daisy” do Yocto Project. E baixamos também o layer meta-raspberrypi que possui o BSP (Board Support Package) com os fontes necessários (bootloader, kernel, bibliotecas para o acelerador gráfico, etc.) para rodar a nossa distribuição na Raspberry pi. Além disso iremos utilizar os layers meta-qt5 (que possuem as receitas para compilar o Qt5), meta-openembedded (com aplicativos adicionais) e o meta-embarcados (com as customizações necessárias para gerarmos a imagem de testes).

Agora vamos configurar o ambiente para gerarmos os artefatos de software:

Edite o arquivo ~/yocto/build-daisy/conf/bblayers.conf  para que fique da seguinte maneira:

O arquivo bblayers.conf configura quais serão as camadas a serem consideradas pelo sistema de build.

Adicione as seguintes variáveis no começo do arquivo ~/yocto/build-daisy/conf/local.conf

Note que configuramos nossa machine como sendo a raspberrypi (serve tanto para os modelos A, B e B+), mudamos o diretório de download para podermos reutilizar os fontes baixados em outros projetos e usaremos o gerenciador de pacotes ipk (ele é mais indicado para sistemas embarcados porque não exige muitos recursos para funcionar). Além disso configuramos a GPU para usar 128MB de memória RAM.

Gerando a imagem com Qt5

Depois de baixado os fontes e ter configurado o sistema de build , vamos gerar uma imagem com diversos aplicativos de demostração (qt5-image-demo) do Qt5 (no momento de escrita desse artigo a versão do Qt utilizada é a 5.3.2).

Esta é a configuração de build que foi utilizada:

Gravando a imagem

A camada meta-raspberrypi possui uma classe que implementa a construção da imagem do sistema a ser gravada diretamente em um SDcard.

O Yocto gerou a imagem do SDcard que está disponível em: ~/yocto/build-daisy/tmp/deploy/images/raspberrypi/. De posse desse arquivo podemos gravá-lo no SDcard.

Insira um SDcard card no computador PC ou notebook (sistema host) e descubra qual o device node criado pelo sistema operacional. Tente um dos seguintes comandos:

Caso, por exemplo, o device node criado seja /dev/sdb, use o seguinte comando:

Testando a imagem

Remova o SDcard do computador e insira-o na Rpi, conecte-a a uma TV por um cabo HDMI, e a um mouse através do conector USB da placa. Você precisará acessar o sistema via conexão serial. Para fazer a conexão entre o HOST e a Rpi siga os passos dessa wiki.

Abaixo segue o log da serial depois do boot do sistema:

Vamos rodar o Qt5 Cinematic Experience que é um exemplo bastante interessante que visa explorar diversos recursos usando aceleração gráfica por hardware. Para isso faça o login como root e execute o programa: 

Note que subimos o aplicativo com a opção “-platform eglfs”, isso configura o Qt para utilizar o OpenGL através do pluging EGLFS.

A figura 1 mostra um screenshot do Qt5 Cinematic Experience.

Raspberry Pi usando Qt5
Figura 1 – Qt5 Cinematic Experience

Agora vamos rodar o exemplo do QtSmartHome:

A figura 2 mostra um screenshot do QtSmartHome:

Raspberry Pi usando Qt5
Figura 2 – QtSmartHome

Agora vamos rodar o exemplo Qt5EveryWhereDemo:

A figura 3 mostra um screenshot do Qt5EveryWhereDemo:

Raspberry Pi usando Qt5
Figura 3 – Qt5EveryWhereDemo

Aproveite para explorar os diversos exemplos presentes no caminho /usr/share/qt5 e lembre-se de sempre passar a opção “-platform eglfs” quando carregar os programas.

Dicas e Truques

Para remover o cursor piscante na tela rode o comando:

Para desabilitar o desligamento da saída de vídeo rode o comando:

O que vem por aí

Na próxima parte veremos como gerar uma toolchain com o Qt5 para ser integrada a IDE QtCreator para desenvolvimento e compilação das aplicações Qt.

Saiba mais

Embedded Linux Build Systems

Desvendando Yocto Project – Primeiros passos

Raspberrypi + Yocto

Outros artigos da série

Raspberry Pi + Qt5 + Yocto – parte 2 >>
Website | Veja + conteúdo

Formado em Engenharia de Controle e Automação pela UNIFEI e CEO do Embarcados, atualmente trabalho na Inglaterra com Desenvolvimento de Sistemas Linux Embarcado Real Time. Sou consultor e desenvolvedor de software para Sistemas Embarcados com vasta experiência em projetos com processadores de 8bits a 32bits, sistemas bare metal, RTOS, Linux Embarcado e Android Embarcado. Um apaixonado por Pink Floyd e Empreendedorismo.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Comentários:
Notificações
Notificar
guest
59 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Vinicius Maciel
vinifr
05/09/2015 15:55

Ola Diego,

Construí uma imagem com a seguinte configuração:

MACHINE = “raspberrypi”
DISTRO = “poky”
DL_DIR = “/home/projs/extras/dl”
PACKAGE_CLASSES = “package_ipk”
DISTRO_FEATURES_remove = “x11 wayland”
IMAGE_FEATURES += “package-management”
IMAGE_INSTALL += “openssh”
# Set Rpi GPU Memory to 128MB
GPU_MEM = “128”

Compilou tudo ok e gravei a imagem no uSD, mas quando está dando boot, aparece o erro:
Kernel panic – not syncing: No init found. Try passing init= option to kernel.

Você tem a ideia de qual seja o problema? Ocorreu isso comigo e com um amigo meu.

Vinicius Maciel
vinifr
14/08/2015 15:24

Essas instruções servem para Rasberry A+?

Diego Sueiro
Diego Sueiro
Reply to  vinifr
14/08/2015 15:34

Servem sim.

Michael
Michael
10/07/2015 05:08

I’m trying to run this tutorial, but I keep getting the following error:

ERROR: No recipes available for:
/home/MYHOME/yocto/poky/meta-embarcados/recipes-browser/chromium/chromium_%.bbappend

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

Running nano /home/MYHOME/yocto/poky/meta-embarcados/recipes-browser/chromium/chromium_%.bbappend gives me this:
LDFLAGS += “-Wl,–no-keep-memory”
PARALLEL_MAKE = “-j 4”

Diego Sueiro
Diego Sueiro
Reply to  Michael
10/07/2015 07:30

Michael,

You are not using daisy branch, right?

On daisy branch you are not going to have this problem.

But to bypass this put the following line on your conf/local.conf:
BBMASK = “meta-embarcados/recipes-browser/chromium/chromium_%.bbappend”

joël maranhão
23/05/2015 15:50

quiz experimentar QtWebEngine com um exemplo muito simple tirado dessa pagina http://doc.qt.io/qt-5/qtwebengine-index.html

Sera que QtWebEngine faz parte de algum Qt licensing?

root@raspberrypi2:~# /usr/bin/qt5/qmlscene qb.qml -platform eglfs
file:///home/root/qb.qml:3 module “QtWebEngine” is not installed

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
23/05/2015 17:22

Você tem que adicionar o qtwebengine no IMAGE_INSTALL da receita da tua imagem.

joël maranhão
Reply to  Diego Sueiro
24/05/2015 07:57

Diego vc me ajudo demais, obrigado mesmo, aprendi bastante.

Eu achei outro erro, mas pra não abusar do seu tempo coloquei no stackoverflow, talvez alguém na comunidade ajude tambem. Acho que esse Unable to fetch URL from any source, cai um pouco fora do seu tutorial. Valeu!

http://stackoverflow.com/questions/30422646/how-do-i-install-qtwebengine-qtwebkit-on-sbc-using-yocto-unable-to-fetch-url

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
24/05/2015 08:58

Joel,

A receita do está apontando para um branch (1.0) que não existe. Provavelmente ele foi removido. O commit “21f6ce84ecca9a4ff2aa980b21d2e5174c78d14b” agora está no branch “5.5”.

Crie um arquivo qtwebengine_%.bbappend com a seguinte variável:
QT_MODULE_BRANCH = “5.5”

Eu tive que fazer essa modificação para compilar o qtwebengine, porém como ainda não terminei todas as validações eu ainda não subi as modificações no meta-embarcados.

Prepare-se o qtwebengine demora séculos para compilar.

joël maranhão
Reply to  Diego Sueiro
24/05/2015 12:49

Qual seria o lugar recomendado para criar esse qtwebengine_%.bbappend, pode ser no folder meta-embarcados/meta-rpi/recipes-core/images/

… entre tanto, como estou bastante impatiente, acabei mexendo com o ../poky-dizzy/meta-qt5/recipes-qt/qt5/qtwebengine_5.3.2+git.bb QT_MODULE_BRANCH = “5.5” … com certeza não é o certo, mas parece que esteja fazendo o do_fetch dessa vez e compilou … mas continuo com o mesmo erro “QtWebEngine is not installed” quando quero experimentar meu QML.

Porem no RPi2 achei algo de novo
root@raspberrypi2:~# find / -name QtWeb*
/usr/lib/qt5/libexec/QtWebEngineProcess

fica na pasta *libexec*, eu esperava

/usr/lib/qt5/qml/QtWebEngine

joël maranhão
Reply to  Diego Sueiro
06/06/2015 09:53

UPDATE (so compartilhando caso seja de util a outros)

Para ter o QML plugins tambem tive que aditionar qtwebengine-qmlplugins

veja mais informação nessa thread http://stackoverflow.com/questions/30422646/how-to-install-run-qml-qtwebengine-qtwebkit-on-sbc-using-yocto-unable-to-f

Agora consigo lançar meu QtWebEngine QML, so que tenho que importar versão 0.9 (not 1.0) … infelizmente estou com um novo problema, QtWebEngine não abre a pagina web

http://stackoverflow.com/questions/30682749/running-simple-qtwebengine-app-on-raspberry-pi-2-page-not-showing

Tempo para ler a Parte 2 do seu tutorial. Obrigado!!!

joël maranhão
23/05/2015 10:24

Oi, Eu preciso acertar um parametros video no /boot/config.txt, na imagem que acabo de criar esse file não existe, eu adicionei pensando que a RPi2 iria simplemente ler o config.txt no boot, mas talvez o workflow seja differente.

no meu config.txt

hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (here we are forcing 800x480!)
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0
max_usb_current=1

algumas ideia de como se faz isso? existem recipes para o config.txt?

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
23/05/2015 10:42

Joel,

Tem algumas variáveis do config.txt que você consegue alterar no local.conf:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/about/

A receita que implementa isso é:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/tree/recipes-bcm/bootfiles/rpi-config_0.1.bb?id=14734e73a3e77ed66d21ab1fb734350478b08d54

Você pode criar um bbappend para adicionar as variáveis que você deseja e ainda adicionar a Rpi2 como compatível através dessa variável no bbappend também:
COMPATIBLE_MACHINE += “raspberrypi2”

Para que este arquivo esteja na imagem é preciso que você adicione no IMAGE_INSTALL o pacote rpi-config.

joël maranhão
Reply to  Diego Sueiro
25/05/2015 10:45

bem, eu tentei algo criei o archivo ./poky-dizzy/meta-embarcados/meta-rpi/recipes-core/images/rpi-config_%.bbappend com o seguinte COMPATIBLE_MACHINE += "raspberrypi2" IMAGE_INSTALL += " rpi-config " depois otto@Marcus Vinícius Martins Meneses:~/yocto/build-dizzy$ bitbake qt5-image-demo Loading cache: 100% Loaded 1952 entries from dependency cache. Parsing recipes: 100% Parsing of 1501 .bb files complete (1500 cached, 1 parsed). 1951 targets, 197 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies ERROR: Nothing RPROVIDES 'rpi-config' (but /home/otto/yocto/build-dizzy/../poky-dizzy/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb RDEPENDS on or otherwise requires it) ERROR: rpi-config was skipped: incompatible with machine raspberrypi2 (not in COMPATIBLE_MACHINE) NOTE: Runtime target 'rpi-config' is unbuildable, removing... Missing or unbuildable dependency chain was: ['rpi-config']… Leia mais »

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
25/05/2015 11:42

Joel, Você misturou as configurações em uma receita só. Vamos por partes. rpi-config: “meta-embarcados/meta-rpi/recipes-bsp/bootfiles/rpi-config_git.bbappend” com o conteúdo: COMPATIBLE_MACHINE += “raspberrypi2” do_deploy[dirs]_remove = “${DEPLOYDIR}/bcm2835-bootfiles” qt5-image-demo: “meta-embarcados/meta-bbb/recipes-core/images/qt5-image-demo.bbappend”: IMAGE_INSTALL += ” packagegroup-qt5-machine-related rpi-config ” Veja se agora vai. Mas note que as variáveis que você quer configurar não estão sendo consideradas na receita original “meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb”. Para implementá-las você terá que no arquivo “meta-embarcados/meta-rpi/recipes-bsp/bootfiles/rpi-config_git.bbappend” criar a função abaixo e incluir as variáveis: do_deploy_append() { echo “hdmi_force_hotplug=1” >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo “hdmi_group=2” >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo “hdmi_mode=1” >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo “hdmi_mode=87” >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo “hdmi_cvt 800 480 60 6 0 0 0” >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt echo “max_usb_current=1” >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt } Eu não testei essas… Leia mais »

joël maranhão
Reply to  Diego Sueiro
25/05/2015 12:11

eu até não me importo colocar as variáveis depois manualmente, mas acho bem legal que se possa configurar com Yocto.

O que faz esse do_deploy[dirs]_remove? ele deu um ParseError, mas nao tou vendo o que esta errado?


ERROR: ParseError at /home/otto/yocto/build-dizzy/../poky-dizzy/meta-embarcados/recipes-bsp/bootfiles/rpi-config_git.bbappend:2: unparsed line: 'do_deploy[dirs]_remove = "${DEPLOYDIR}/bcm2835-bootfiles"' | ETA: --:--:--

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
25/05/2015 12:22

Remove essa linha e vê se vai.

joël maranhão
Reply to  Diego Sueiro
25/05/2015 12:44

Sim eu tentei isso logo que teve o erro, mas deu

ERROR: Nothing RPROVIDES 'rpi-config' (but /home/otto/yocto/build-dizzy/../poky-dizzy/meta-embarcados/recipes-core/images/qt5-image-demo.bb, /home/otto/yocto/build-dizzy/../poky-dizzy/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb RDEPENDS on or otherwise requires it)
ERROR: rpi-config was skipped: incompatible with machine raspberrypi2 (not in COMPATIBLE_MACHINE)
NOTE: Runtime target 'rpi-config' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['rpi-config']
ERROR: Required build target 'qt5-image-demo' has no buildable providers.
Missing or unbuildable dependency chain was: ['qt5-image-demo', 'rpi-config']

joël maranhão
Reply to  joël maranhão
26/05/2015 19:26

UPDATE

Entretanto consegui resolver meu showstopper com o config.txt (mas não resolvi o error ainda)

http://raspberrypi.stackexchange.com/questions/31842/how-do-i-generate-configure-config-txt-for-raspberry-pi2-using-yocto

Minha verdadeira dor de cabeça é fazer instalar QtWebEngine para QML no meu RPi2. Passando essa etapa terei resolvido o meu objetivo principal e.g. run Chromium layout engine on RPi2. Isso ainda não vi em nenhum tutorial.

joël maranhão
20/05/2015 11:20

Como posso adaptar a configuração para Raspberry Pi 2?

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
20/05/2015 11:46

Olá Joel,

Estou para soltar um post para fazer justamente isso.

Mas por hora use o meta-raspberrypi no branch “fido” ou “master”.
E o meta-embarcados no branch “dizzy”.
No local.conf coloque MACHINE = “raspberrypi2”

Eu ainda não testei, portanto não tenho como garantir que vá funcionar. 😉

joël maranhão
Reply to  Diego Sueiro
20/05/2015 13:06

Fantastico. Muito obrigado Diego.

Entre tanto tambem achei esse link interessante http://www.cnx-software.com/2015/02/27/yocto-project-raspberry-pi-2-board-minimal-image/

Mais uma vez valeu, abraço de Baden-Baden, Germany

joël maranhão
Reply to  Diego Sueiro
21/05/2015 19:36

testei o seguinte mkdir -p ~/yocto/dl cd ~/yocto git clone -b daisy git://git.yoctoproject.org/poky poky-daisy cd poky-daisy git clone git://git.yoctoproject.org/meta-raspberrypi git clone -b dizzy https://github.com/meta-qt5/meta-qt5.git git clone -b daisy git://git.openembedded.org/meta-openembedded git clone -b dizzy https://bitbucket.org/embarcados/meta-embarcados.git cd ~/yocto . poky-daisy/oe-init-build-env build-daisy bitbake qt5-image-demo mas deu um error 🙁 vou tentar de novo amanha, mas se o erro inspirar qualquer solução, I’ll take any pointers otto@Marcus Vinícius Martins Meneses:~/yocto/build-daisy$ bitbake qt5-image-demo WARNING: Host distribution "Debian-7.8" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution. Loading cache:… Leia mais »

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
22/05/2015 06:11

Joel,

Coloca todos os repos no dizzy com exceção do meta-raspberrypi.
E atualiza a tua cópia local do meta-embarcados que eu adicionei uns fixes.

joël maranhão
Reply to  Diego Sueiro
22/05/2015 09:12

fixe, avancei mais um pouco mas agora tenho outra probleminha. (sou completamente newbie com Yocto e Qt)


NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'qttranslations' (but /home/otto/yocto/build-dizzy/../poky-dizzy/meta-embarcados/recipes-core/packagegroups/packagegroup-qt5.bb RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'qttranslations' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['qttranslations']
NOTE: Runtime target 'packagegroup-qt5-base' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-qt5-base', 'qttranslations']
ERROR: Required build target 'qt5-image-demo' has no buildable providers.
Missing or unbuildable dependency chain was: ['qt5-image-demo', 'packagegroup-qt5-base', 'qttranslations']

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
22/05/2015 09:46

Putz,

Esqueci de tirar o qttranslations. Atualiza o repo do meta-embarcados novamente que eu corrigi.

joël maranhão
Reply to  Diego Sueiro
22/05/2015 10:15

Funcionou! 🙂 agora o error ta com o meta-qt5

BTW Aonde é que vc define o qt5-image-demo


ERROR: Nothing PROVIDES 'ruby-native' (but /home/otto/yocto/build-dizzy/../poky-dizzy/meta-qt5/recipes-qt/qt5/qtwebkit_5.3.2.bb DEPENDS on or otherwise requires it). Close matches:
db-native
bc-native
byacc-native
NOTE: Runtime target 'qtquick1' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['qtquick1', 'qtwebkit', 'ruby-native']
NOTE: Runtime target 'packagegroup-qt5-base' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['packagegroup-qt5-base', 'qtquick1', 'qtwebkit', 'ruby-native']
ERROR: Required build target 'qt5-image-demo' has no buildable providers.
Missing or unbuildable dependency chain was: ['qt5-image-demo', 'packagegroup-qt5-base', 'qtquick1', 'qtwebkit', 'ruby-native']

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
22/05/2015 10:30

Joel,

Agora no arquivo conf/bblayers.conf adicione a linha:
${TOPDIR}/../poky-daisy/meta-openembedded/meta-ruby

joël maranhão
Reply to  Diego Sueiro
22/05/2015 11:29

it’s building!!!! so far so good. Valeu! otto@Marcus Vinícius Martins Meneses:~/yocto/build-dizzy$ bitbake qt5-image-demo WARNING: Host distribution "Debian-7.8" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution. Parsing recipes: 100% |########################################################################################################################################################################################| Time: 00:01:13 Parsing of 1501 .bb files complete (0 cached, 1501 parsed). 1951 targets, 196 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies Build Configuration: BB_VERSION = "1.24.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "Debian-7.8" TARGET_SYS = "arm-poky-linux-gnueabi" MACHINE = "raspberrypi2" DISTRO = "poky" DISTRO_VERSION = "1.7.2" TUNE_FEATURES = "arm… Leia mais »

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
22/05/2015 11:46

Boa.

Agora vai almoçar e depois relaxa que no final do dia você vai ter a imagem pronta.

joël maranhão
Reply to  Diego Sueiro
23/05/2015 07:12

Funcionou certinho!!

Marcelo Anjos
Marcelo Anjos
08/03/2015 00:13

Caro Digo ,agora 2 hs depois outro erro !!!

conhece …

WARNING: Failed to fetch URL git://qt.gitorious.org/qt/qt3d.git;branch=dev, attempting MIRRORS if available
ERROR: Fetcher failure: Fetch command failed with exit code 128, output:
Cloning into bare repository ‘/home/panetone/yocto/build-daisy/../dl/git2/qt.gitorious.org.qt.qt3d.git’…
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

ERROR: Function failed: Fetcher failure for URL: ‘git://qt.gitorious.org/qt/qt3d.git;branch=dev’. Unable to fetch URL from any source.
ERROR: Logfile of failure stored in: /home/panetone/yocto/build-daisy/tmp/work/armv6-vfp-poky-linux-gnueabi/qt3d/5.3.99+5.4.0-beta1+gitAUTOINC+8a9723d742-r0/temp/log.do_fetch.4674
ERROR: Task 282 (/home/panetone/yocto/build-daisy/../poky-daisy/meta-qt5/recipes-qt/qt5/qt3d_git.bb, do_fetch) failed with exit code ‘1’

Marcelo Anjos
Marcelo Anjos
Reply to  Marcelo Anjos
08/03/2015 17:19

Caro Diego
Consegui fazer bitbake com o seguinte comando

bitbake -k core-image-minimal

pois me parece que este qt3d saiu do git

tem como compilar o resto eliminando apenas este???

obrigado

Diego Sueiro
Diego Sueiro
Reply to  Marcelo Anjos
08/03/2015 17:25

Marcelo,

Sim, tem algum problema no repo do qt3d e dá pra criar uma imagem sem ele, mas só que eu só terei acesso ao meu PC amanhã para poder te passar as instruções.

Marcelo Anjos
Marcelo Anjos
Reply to  Diego Sueiro
08/03/2015 17:41

ok obrigado
se não for encomodar. desculpe postar hj..
abraços

Diego Sueiro
Diego Sueiro
Reply to  Marcelo Anjos
09/03/2015 15:35

Marcelo,

Você tentou construir a imagem novamente? Verifiquei no repo do qt3d e o endereço está correto, pode ser que ocorreu alguma instabilidade.

Marcelo Anjos
Marcelo Anjos
Reply to  Diego Sueiro
09/03/2015 16:27

Mesmo def…

ouvi algumas pessoas falarem que se deve mudar a config do qt5

para DEV, mas não sei onde mudar isto pois usaria outros fontes???

acho que este problema apareceu para as pessoas que tentaram compilar após janeiro deste ano !!!!

vou ver se consigo algo ai posto aqui, mas mesmo assim obrigado pela ajuda…

Marcelo Anjos
Marcelo Anjos
07/03/2015 16:10

Belo Tutorial Diego

Tive um probleminha, refiz por 2 vezes, mas aparece o erro abaixo,pode me ajudar…

abraços

Diego Sueiro
Diego Sueiro
Reply to  Marcelo Anjos
07/03/2015 16:22

Olá Marcelo,

Obrigado pelo apoio.

Nunca me deparei com esse erro antes.
Qual é o tipo de sistema de arquivos que está instalado o ambiente?

Marcelo Anjos
Marcelo Anjos
Reply to  Diego Sueiro
07/03/2015 16:50

ubuntu 14.04 64 bits
kernell 3.13.0-47-generic

Diego Sueiro
Diego Sueiro
Reply to  Marcelo Anjos
07/03/2015 16:31

Marcelo,

Dei uma pesquisada e esse erro pode estar relacionado ao uso do eCryptfs como sistema de arquivos.
Se este for o teu caso, sugiro que crie outro usuário sem criptografia do home.

Marcelo Anjos
Marcelo Anjos
Reply to  Diego Sueiro
07/03/2015 16:51

Boa…

pode ser… vou tentar

te informo , e novamente PARABÊNS pelos seus tutoriais,,estão sendo muito úteis !!!!

abração

Marcelo Anjos
Marcelo Anjos
Reply to  Marcelo Anjos
07/03/2015 17:24

Vc … Sabeeee..

era isto o problema.

obrigado.

Fernando de França
10/12/2014 11:56

Digamos que eu queira incluir na imagem coisas essenciais como dpkg, apt-get, open-ssh… por onde começo?

Diego Sueiro
Diego Sueiro
Reply to  Fernando de França
10/12/2014 14:59

Fernando,

Para usar o dpkg como gerenciador de pacote você terá que editar o arquivo “conf/local.conf” da seguinte maneira:
PACKAGE_CLASSES = “deb”

A maneira mais simples de se adicionar pacotes em uma imagem é editar o arquivo “conf/local.conf” usando a variável IMAGE_INSTALL.
Por exemplo:

IMAGE_INSTALL += “apt openssh”

Para ver quais são os pacotes disponíveis acesse essa ferramenta:
http://layers.openembedded.org/layerindex/branch/master/recipes/

Se tiver algum problema avise.

joël maranhão
Reply to  Diego Sueiro
23/05/2015 07:11

Diego eu tentei (mas com Raspberry Pi2) e deu um error


otto@Marcus Vinícius Martins Meneses:~/yocto/build-dizzy$ bitbake qt5-image-demo
ERROR: Traceback (most recent call last):
File "/home/otto/yocto/poky-dizzy/bitbake/lib/bb/cookerdata.py", line 174, in wrapped
return func(fn, *args)
File "/home/otto/yocto/poky-dizzy/bitbake/lib/bb/cookerdata.py", line 188, in _inherit
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
File "/home/otto/yocto/poky-dizzy/bitbake/lib/bb/parse/parse_py/BBHandler.py", line 92, in inherit
include(fn, file, lineno, d, "inherit")
File "/home/otto/yocto/poky-dizzy/bitbake/lib/bb/parse/parse_py/ConfHandler.py", line 100, in include
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
ParseError: ParseError in configuration INHERITs: Could not inherit file classes/deb.bbclass

ERROR: Unable to parse deb: ParseError in configuration INHERITs: Could not inherit file classes/deb.bbclass

Diego Sueiro
Diego Sueiro
Reply to  joël maranhão
23/05/2015 08:58

Hummm, erro nada sugestivo.

Vou tentar replicar esse build aqui e te dou um retorno.

joël maranhão
Reply to  Diego Sueiro
23/05/2015 10:40

Mas consegui install packages deixando

PACKAGE_CLASSES = “package_ipk” # conf/local.conf

e adicionando

# ./poky-dizzy/meta-embarcados/meta-rpi/recipes-core/images/qt5-image-demo.bbappend

IMAGE_INSTALL += ”
packagegroup-qt5-machine-related
apt
openssh

depois de criar minha imagem pude acessar meu RPi2 via SSH!! 🙂 legal!

Claudio
Claudio
03/12/2014 00:02

acesso aos GPIO, I2C, SPI e UART é possível usando o yocto com a raspberry?

Diego Sueiro
Diego Sueiro
Reply to  Claudio
03/12/2014 05:53

Olá Claudio,

Sim é possível. O Linux kernel utilizado pelo Yocto é o mesmo do Raspbian.

Abraços

Claudio
Claudio
Reply to  Diego Sueiro
03/12/2014 19:23

Show! valeu Diego!
Abraços

Talvez você goste:

Séries



Outros da Série

Menu