Toradex Colibri iMX6 e Yocto Project Fido (1.8)

Colibri iMX6 e Yocto

Introdução

Utilizando o Yocto Project 1.8, codinome Fido, o módulo Colibri iMX6 e Placa base IRIS da Toradex, iremos preparar o ambiente, clonar os repositórios do Yocto Project, Freescale e Toradex e explorar o básico para se customizar e construir uma distribuição Linux para esse modulo, sem ter que criar meta camadas e realizar muitas modificações.

Em seguida gravar a imagem gerada em um cartão microSD, conectar o console serial e acessar o terminal para visualizar o processo de boot e logar no sistema.

Para conhecer mais sobre este kit, pode acessar o artigo CoM Toradex COLIBRI T20 e Carrier Board Iris escrito por Thiago Lima que explora em detalhes sobre a Placa Base IRIS, e o artigo Toradex – Colibri i.MX6 onde realizo uma abordagem geral sobre o módulo  e seus recursos disponíveis.

Preparando o Host

No Yocto Project Fido as seguintes distribuições Linux são oficialmente suportadas pela ferramenta:

  • Ubuntu 14.04 (LTS)
  • Ubuntu 14.10
  • Fedora release 21
  • CentOS release 6.x
  • CentOS release 7.x
  • Debian GNU/Linux 7.x (Wheezy)
  • Debian GNU/Linux 8.x (Jessie)
  • OpenSUSE 13.2

Para o correto funcionamento do ecossistema Yocto Project algumas ferramentas devem ser instaladas, mais detalhes acesse Required Packages for the Host Development System.

Ubuntu/Debian

$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat libsdl1.2-dev xterm

Fedora

$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue socat findutils which SDL-devel xterm perl-Thread-Queue

OpenSuse

$ sudo zypper install python gcc gcc-c++ git chrpath make wget python-xml diffstat makeinfo python-curses patch socat libSDL-devel xterm

CentOS

$ sudo yum install gawk make wget tar bzip2 gzip python unzip perl patch diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat SDL-devel xterm

Pronto. As dependências do host estão instaladas baseado em cada distribuição.

Preparando o ambiente Host

Agora que possuímos todas as dependências instaladas, vamos criar nosso ambiente e clonar os repositórios para o correto funcionamento do Yocto Project e a meta camada da Toradex, para possuir todo suporte e customização na tarefa de construir uma distribuição para o módulo Colibri iMX6.

Criando o diretório yocto no /home do seu usuário e clonando os repositórios.

$ mkdir ~/yocto
$ cd ~/yocto
$ git clone https://git.yoctoproject.org/git/poky -b fido poky-toradex 
$ cd poky-toradex 
$ git clone https://github.com/Freescale/meta-fsl-arm.git -b fido 
$ git clone git://git.toradex.com/meta-toradex.git -b V2.5 

Vou abrir um parênteses agora, sobre o branch do repositório da camada Toradex, onde não temos o mesmo codinome utilizado por diversas camadas ou pelo próprio OpenEmbedded. Abaixo uma tabela da relação dos nomes utilizados nos branchs da OpenEmbedded (core), Yocto Project e diversas camadas do projeto versus o equivalente para Toradex.

Toradex Version

Ångström Distribution

OpenEmbedded/Yocto Codename

Yocto Project Release

2.1

v2013.06

dylan

1.4

2.2

v2013.12

dora

1.5

2.3

v2014.06

daisy

1.6

2.4

v2014.12

dizzy

1.7

2.5

v2015.06

fido

1.8

Podemos ver na tabela acima de onde surgiu o V2.5 do repositório da Toradex.

Criando os artefatos do nosso projeto, que irei dar o nome de colibri-imx6.

$ source oe-init-build-env colibri_imx6

Customizando o projeto

Alterando o arquivo local.conf para dar suporte ao hardware do Colibri iMX6 e algumas personalizações e adaptações para a correta construção da distribuição.

Editando o ~/yocto/poky-toradex/colibri-imx6/conf/local.conf.

# 
# Machine Selection 
# 
MACHINE ??= "colibri-imx6" 


# Threads x Process Parallel
BB_NUMBER_THREADS ?= "4" 
PARALLEL_MAKE ?= "-j 4" 


# Ignore check/compile recipes where (.bbappend) has no corresponding recipe file .bb 
BB_DANGLINGAPPENDS_WARNONLY = "1" 


# Accept EULA layer FSL 
ACCEPT_FSL_EULA = "1" 


# Set new hostname 
hostname_pn-base-files = "colibri-imx6-brasil" 


# 
# Where to place downloads 
# 
DL_DIR ?= "${TOPDIR}/../downloads" 


# 
# Where to place shared-state files 
# 
SSTATE_DIR ?= "${TOPDIR}/sstate-cache" 


# 
# Where to place the build output 
# 
TMPDIR = "${TOPDIR}/tmp" 


# 
# Default policy config 
# 
DISTRO ?= "poky" 


# 
# Package Management configuration 
# 
PACKAGE_CLASSES ?= "package_ipk" 


# 
# Extra image configuration defaults 
# 
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-dropbear" 


# 
# Additional image features 
# 
USER_CLASSES ?= "buildstats image-mklibs image-prelink" 


# 
# Interactive shell configuration 
# 
PATCHRESOLVE = "noop" 


# 
# Disk Space Monitoring during the build 
# 
BB_DISKMON_DIRS = "\ 
    STOPTASKS,${TMPDIR},1G,100K \ 
    STOPTASKS,${DL_DIR},1G,100K \ 
    STOPTASKS,${SSTATE_DIR},1G,100K \ 
    ABORT,${TMPDIR},100M,1K \ 
    ABORT,${DL_DIR},100M,1K \ 
    ABORT,${SSTATE_DIR},100M,1K" 


# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to 
# track the version of this file when it was generated. This can safely be ignored if 
# this doesn't mean anything to you. 
CONF_VERSION = "1"

O conf/local.conf acima pode ser copiado como exemplo, o importante a ser alterado é:

Seleciona a correta MACHINE para o modulo i.MX6, no caso a Toradex já fornece a descrição para o módulo, chamado colibri-imx6.

MACHINE ??= “colibri-imx6”

Aceitar o EULA para uso da meta camada da Freescale que é dependência.

ACCEPT_FSL_EULA = “1”

Ignorar os alertas para os .bbappend caso não existam as receitas .bb.

BB_DANGLINGAPPENDS_WARNONLY =”1”

Não é obrigatório, mas na linha 21 eu altero o hostname que será gerado na imagem.

hostname_pn-base-files = “colibri-imx6-brasil”

Adicionando suporte a SSH na linha 57, para poder ter acesso via rede.

EXTRA_IMAGE_FEATURES = “debug-tweaks ssh-server-dropbear”

Editando o ~/yocto/poky-toradex/colibri-imx6/conf/bblayers.conf.

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf 
# changes incompatibly 
LCONF_VERSION = "6" 

BBPATH = "${TOPDIR}" 
BBFILES ?= "" 

BBLAYERS ?= " \ 
  ${TOPDIR}/../meta \ 
  ${TOPDIR}/../meta-yocto \ 
  ${TOPDIR}/../meta-yocto-bsp \ 
  ${TOPDIR}/../meta-toradex \ 
  ${TOPDIR}/../meta-fsl-arm \ 
" 
BBLAYERS_NON_REMOVABLE ?= " \ 
  ${TOPDIR}/../meta \ 
  ${TOPDIR}/../meta-yocto \ 
" 

Acima apenas adicionamos a meta camada da Toradex na linha 12 e da Freescale na linha 13.

Construindo um distribuição mínina

Abaixo o comando na linha 1 para construir uma imagem mínima e o resumo da build utilizada no processo de construção.

$ bitbake core-image-minimal 
WARNING: Unable to get checksum for gpioconfig SRC_URI entry GPIOConfig: file could not be found                                                       | ETA:  00:00:42 
Parsing recipes: 100% |################################################################################################################################| Time: 00:00:55 
Parsing of 984 .bb files complete (0 cached, 984 parsed). 1402 targets, 85 skipped, 0 masked, 0 errors. 
Loaded 1403 entries from dependency cache. 
WARNING: No recipes available for: 
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-connectivity/samba/samba_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes/trdx-config/angstrom-feed-configs.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-fsl/packagegroups/packagegroup-fsl-tools-gpu.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-graphics/xserver-common/xserver-common_%.bbappend 
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-benchmark/glmark2/glmark2_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-qt/qt5/qtmultimedia_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-kernel/linux/linux-toradex_4.1.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-lxde/lxterminal/lxterminal_%.bbappen
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-core/glibc/glibc_linaro-2.20.bbappen
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-support/fbset/fbset-modes.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-support/libusbg/libusbg_git.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-mozilla/firefox/firefox_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-qt/qt5/qtbase_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-gnome/gvfs/gvfs_1.10.1.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-core/psplash/psplash-angstrom_git.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-lxde/lxde-icon-theme/lxde-icon-theme_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-qt/qt5/qtwebkit_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-support/opencv/opencv_2.4.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-support/florence/florence_0.5.1.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-bsp/u-boot/u-boot-toradex_2015.04.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-lxde/lxdm/lxdm_git.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-lxde/lxde-common/lxde-common_%.bbappend
/home/bueno/yocto/poky-toradex/colibri_imx6/../meta-toradex/recipes-multimedia/webm/libvpx_%.bbappend 
NOTE: Resolving any missing task queue dependencies 

Build Configuration: 
BB_VERSION        = "1.26.0" 
BUILD_SYS         = "x86_64-linux" 
NATIVELSBSTRING   = "LinuxMint-15" 
TARGET_SYS        = "arm-poky-linux-gnueabi" 
MACHINE           = "colibri-imx6" 
DISTRO            = "poky" 
DISTRO_VERSION    = "1.8.1" 
TUNE_FEATURES     = "arm armv7a vfp thumb neon callconvention-hard" 
TARGET_FPU        = "vfp-neon" 
meta              
meta-yocto        
meta-yocto-bsp    = "fido:c1162207c92fc4f07b62e8c2177832350c412467" 
meta-toradex      = "V2.5:521c0567bb583bfb29dafc9b1a059d7d6109d08a" 
meta-fsl-arm      = "fido:c9f259a4bf8472dfa3ff75f1c3fcbe5e0ded7aaf" 

Nesta etapa aconselho ir tomar um café, ou melhor, faça uma pipoca e assista Star Wars – O despertar da força. Brincadeiras a parte, mas esta etapa é demorada pois todos os pacotes para criar a distribuição serão baixados, descompactados, configurados, compilados, além do mesmo processo para o kernel e o bootloader. E no final a criação do rootfs e as imagens configuradas para serem geradas.

Gravando imagem

Vamos gravar a imagem gerada em um cartão microSD, no caso vamos usar a com extensão .sdcard.

Todos os arquivos (U-boot, Kernel, Rootfs e demais) gerados pelo Yocto Project ficam em:

~/yocto/poky-toradex/colibri_imx6/tmp/deploy/images/colibri-imx6 

Listando o diretório:

/home/bueno/yocto/poky-toradex/colibri_imx6/tmp/deploy/images/colibri-imx6 $ ls -1 
core-image-minimal-colibri-imx6-20160131213940.rootfs.ext3 
core-image-minimal-colibri-imx6-20160131213940.rootfs.manifest 
core-image-minimal-colibri-imx6-20160131213940.rootfs.sdcard 
core-image-minimal-colibri-imx6-20160131213940.rootfs.tar.bz2 
core-image-minimal-colibri-imx6.ext3 
core-image-minimal-colibri-imx6.manifest 
core-image-minimal-colibri-imx6.sdcard 
core-image-minimal-colibri-imx6.tar.bz2 
modules--3.14.28+gitr0632def1c9981e3974f724025f39b2c1588d8ee6-V2.5b3-colibri-imx6-20160116164504.tgz 
modules-colibri-imx6.tgz 
README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt 
u-boot-colibri-imx6.imx 
u-boot-colibri-imx6-r0+gitrb66337d357cca761bf8627acbb1ec991f425f0b4-r0.imx 
u-boot.imx 
uImage 
uImage--3.14.28+gitr0632def1c9981e3974f724025f39b2c1588d8ee6-V2.5b3-colibri-imx6-20160116164504.bin 
uImage--3.14.28+gitr0632def1c9981e3974f724025f39b2c1588d8ee6-V2.5b3-imx6dl-colibri-cam-eval-v3-20160116164504.dtb 
uImage--3.14.28+gitr0632def1c9981e3974f724025f39b2c1588d8ee6-V2.5b3-imx6dl-colibri-eval-v3-20160116164504.dtb 
uImage-colibri-imx6.bin 
uImage-imx6dl-colibri-cam-eval-v3.dtb 
uImage-imx6dl-colibri-eval-v3.dtb

Conecte o microSD/SDCard, identifiquei o device usado pelo cartão (muito importante e tenha cautela nesta etapa).

Para auxiliar em descobrir o device correto podemos usar o dmesg, e em seguida conectar o cartão:

$ sudo tail -f /var/log/dmesg | grep sd
...
[27028.632279] sd 17:0:0:0: Attached scsi generic sg2 type 0 
[27029.481421] sd 17:0:0:0: [sdb] 1930240 512-byte logical blocks: (988 MB/942 MiB) 
[27029.481445] sd 17:0:0:0: [sdb] Write Protect is off 
[27029.481449] sd 17:0:0:0: [sdb] Mode Sense: 67 10 00 00 
[27029.481473] sd 17:0:0:0: [sdb] Cache data unavailable 
[27029.481475] sd 17:0:0:0: [sdb] Assuming drive cache: write through 
[27029.486286] sd 17:0:0:0: [sdb] Cache data unavailable 
[27029.486289] sd 17:0:0:0: [sdb] Assuming drive cache: write through 
[27029.487957]  sdb: sdb1 sdb2 
[27029.491716] sd 17:0:0:0: [sdb] Cache data unavailable 
[27029.491721] sd 17:0:0:0: [sdb] Assuming drive cache: write through 
...

Neste caso é o /dev/sdb, agora o comando para gravar a imagem no cartão.

$ sudo dd if=core-image-minimal-colibri-imx6-20160131213940.rootfs.sdcard of=/dev/sdb 
49152+0 records in 
49152+0 records out 
25165824 bytes (25 MB) copied, 10,0132 s, 2,5 MB/s 

Remova o cartão, conecte no slot localizado na parte inferior da Placa Base IRIS, mas ainda não alimente a placa!

Primeiro boot

Primeiro você deve se conectar ao Console Serial. Na placa base IRIS pode ser através do conector X13[UARTA] usando um Conversor USB-Serial para DTK/Intel ou através do GPIO com um Conversor USB-Serial TTL 3.3V usando a seguinte pinagem: Pino 2 para GND, Pino 27 para RX e Pino 28 para TX do conversor.

Utilizei ambos os modos para validar e obtive acesso ao console serial com sucesso, conforme pode ser visto na Figura 1.

Figura01
Figura 1 – Toradex Modulo Colibri iMX6 com Placa Base IRIS e conexão serial console

Mais informações sobre todas as conexões e pinagem da Placa Base IRIS, acesse Manual Técnico Placa Base IRIS, caso necessite de mais informações pode baixar o esquemático da placa ou acessar Placa Base IRIS.

Usando o utilitário minicom iremos acessar o console serial pelo device /dev/ttyUSB0.

$ sudo minicom -D /dev/ttyUSB0 -b 115200 
Welcome to minicom 2.6.2 

OPÇÕES: I18n 
Compilado em Feb  8 2013, 07:03:03. 
Port /dev/ttyUSB0, 18:09:44 

Pressione CTRL-A Z para ajuda sobre teclas especiais 


Colibri iMX6 #

Caso uma tela como abaixo seja exibida:

.---O---.                                           
|       |                  .-.           o o        
|   |   |-----.-----.-----.| |   .----..-----.-----. 
|       |     | __  |  ---'| '--.|  .-'|     |     | 
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | | 
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-' 
                -'  | 
                '---' 

The Angstrom Distribution colibri-imx6 ttymxc0 

Angstrom v2014.06 - Kernel 3.10.17 

Colibri_iMX6_LinuxImageV2.3_20141219 

colibri-imx6 login:

Você deu boot pela eMMC do modulo Colibri i.MX6, para usar a imagem do microSD, você deve alimentar a placa e na sequência pressionar qualquer tecla no computador para interromper a contagem do bootloader e entrar no modo-interativo.

Ao energizar a placa eu pressionei “espaço” e paramos na seguinte etapa:

U-Boot 2014.04 (Dec 19 2014 - 18:25:08) 
 
CPU:   Freescale i.MX6DL rev1.2 at 792 MHz 
Reset cause: WDOG 
Board: Toradex Colibri iMX6 
I2C:   ready 
DRAM:  512 MiB 
PMIC: device id: 0x10, revision id: 0x11 
PMIC: programmed 
MMC:   FSL_SDHC: 0, FSL_SDHC: 1 
auto-detected panel vga-rgb 
Display: vga-rgb (640x480) 
In:    serial 
Out:   serial 
Err:   serial 
Net:   using phy at 0 
FEC [PRIME] 
Hit any key to stop autoboot:  0 
Colibri iMX6 #

Realizando o procedimento para dar boot pela microSD, executando o comando a seguir.

Colibri iMX6 # run sdboot

E no final teremos nossa distribuição Poky iniciada. Para acessar, o usuário é root e a senha em branco.

Poky (Yocto Project Reference Distro) 1.8.1 colibri-imx6-brasil /dev/ttymxc0 

colibri-imx6-brasil login: root 
login[449]: root login on 'ttymxc0' 
root@colibri-imx6-brasil:~# 

Por default a rede esta no modo DHCP, então se conectar em algum roteador ou alguma rede com DHCP habilitado a placa já irá atribuir um IP automaticamente e poderá acessar a mesma via SSH, no meu caso foi atribuído o IP 192.168.0.8.

$ ssh root@192.168.0.8

Uma visão geral pela distribuição.

root@colibri-imx6-brasil:~# df -h
Filesystem                Size      Used Available Use% Mounted on
/dev/root                 6.7M      5.0M      1.4M  78% /
devtmpfs                121.0M         0    121.0M   0% /dev
tmpfs                   249.1M    192.0K    248.9M   0% /run
tmpfs                   249.1M     32.0K    249.1M   0% /var/volatile
root@colibri-imx6-brasil:~# free
             total         used         free       shared      buffers
Mem:        510168        73020       437148            0          932
-/+ buffers:              72088       438080
Swap:            0            0            0
root@colibri-imx6-brasil:~#

Usando os comando df e free, podemos ver que o rootfs esta ocupando menos de 8M e o Linux usando apenas 74M de memória RAM.

O que vem por aí

Demos o primeiro passo para uma base sólida na preparação, customização e construção de uma distribuição Linux para o módulo Colibri iMX6 da Toradex usando o Yocto Project, onde a partir de agora avançaremos a cada artigo explorando recursos do Placa Base IRIS e do módulo Colibri iMX6 e adicionando novas ferramentas e recursos.

Aguarde, pois veremos muito Shell Script, Python e Qt5 com este kit.

Referências

https://www.yoctoproject.org/docs/1.8/ref-manual/ref-manual.html
https://www.toradex.com/pt_br/products/carrier-boards/iris-carrier-board
https://developer.toradex.com/knowledge-base/flashing-linux-on-imx6-modules#Colibri_iMX6
https://www.toradex.com/pt_br/computer-on-modules/colibri-arm-family/nxp-freescale-imx6
https://developer.toradex.com/software-resources/arm-family/linux/linux-booting
https://en.wikipedia.org/wiki/Secure_Shell
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
15 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Ânderson Ignácio da Silva
Ânderson Ignácio da Silva
29/02/2016 15:40

Olá Cleiton, no momento de gerar a imagem o seguinte erro aparece ao utilizar o comando “bitbake core-image-minimal”: ERROR: Error parsing configuration files Traceback (most recent call last): File “/projects/yocto/poky-toradex/bitbake/lib/bb/cookerdata.py”, line 240, in CookerDataBuilder.parseBaseConfiguration(): try: > self.parseConfigurationFiles(self.prefiles, self.postfiles) except SyntaxError: File “/projects/yocto/poky-toradex/bitbake/lib/bb/cookerdata.py”, line 305, in CookerDataBuilder.parseConfigurationFiles(prefiles=[], postfiles=[]): if data.getVar(“BB_WORKERCONTEXT”, False) is None: > bb.fetch.fetcher_init(data) bb.codeparser.parser_cache_init(data) File “/projects/yocto/poky-toradex/bitbake/lib/bb/fetch2/__init__.py”, line 497, in fetcher_init(d=): pass > revs.clear() else: File “/projects/yocto/poky-toradex/bitbake/lib/bb/persist_data.py”, line 147, in SQLTable.clear(): def clear(self): > self._execute(“DELETE FROM %s;” % self.table) File “/projects/yocto/poky-toradex/bitbake/lib/bb/persist_data.py”, line 66, in SQLTable._execute(*query=(‘DELETE FROM BB_URI_HEADREVS;’,)): try: > return self.cursor.execute(*query) except sqlite3.OperationalError as exc: OperationalError: attempt to write a… Leia mais »

Cleiton Bueno
Reply to  Ânderson Ignácio da Silva
02/03/2016 20:58

Olá Anderson, em que momento da construção ocorre isso? Como esta configurado seu ambiente de Yocto?
Tentou executar um bitbake -c cleanall core-image-minimal e depois bitbake core-image-minimal?
Alias, nunca havia visto este erro.

Ânderson Ignácio da Silva
Ânderson Ignácio da Silva
Reply to  Cleiton Bueno
03/03/2016 01:16

Olá Cleiton,

Obrigado pela resposta! Conforme você citou, executei o bitbake -c cleanall … e apresentou o mesmo erro similar, acredito que deva ser algo relacionado a ferramente bitbake. Realmente não entendo o porque disso já que estou com as mesmas versões do branch que você… =/

Diego Sueiro
Diego Sueiro
Reply to  Ânderson Ignácio da Silva
03/03/2016 03:45

Rode o bitbake com o parâmetro -D e veja se ele mostra qual é o arquivo de base de dados que está como leitura e mude-o para aceitar escrita.
Se não resolver, a melhor coisa a fazer é deletar a pasta tmp e começar tudo de novo.

Ânderson Ignácio da Silva
Ânderson Ignácio da Silva
Reply to  Diego Sueiro
04/03/2016 00:36

Olá Diego,

Realizei novamente os procedimentos do tutorial desde o começo em duas máquinas docker uma do debian8.3(jessie) e outra do ubuntu:14.04 e em ambas ocorreram os mesmos problemas citados anteriormente, testando em containers confirmei isto, poderia me passar em que sistema você testou esse tutorial e/ou validá-lo novamente se possível?

Diego Sueiro
Diego Sueiro
Reply to  Ânderson Ignácio da Silva
04/03/2016 05:02

Olá Anderson,

Eu não realizei esse tutorial em específico.

Eu uso Ubuntu 14.04 e nunca tive esse tipo de problema com o Yocto/OE.

Sugiro que dê uma olhada na wiki e fórum da Toradex para suporte:
https://developer.toradex.com
https://www.toradex.com/community

Cleiton Bueno
Reply to  Ânderson Ignácio da Silva
11/03/2016 09:33

Conseguiu solucionar o problema Anderson?

Ânderson Ignácio da Silva
Ânderson Ignácio da Silva
Reply to  Cleiton Bueno
14/03/2016 14:59

Olá Cleiton,

Infelizmente não consegui fazer funcionar mesmo refazendo todos os passos em outra distribuição, também dei uma olhada sobre o bitbake e esse erro e vi outras pessoas com esse mesmo problema. Sinceramente estou investigando outra solução do yocto para esta placa…

Cleiton Bueno
Reply to  Ânderson Ignácio da Silva
14/03/2016 15:02

Certo.
Qual a distribuição que você usa e qual configuração do seu hardware?
Recomendaria você subir uma VM com Virtualbox mesmo utilizando Ubuntu e deixar com pelo menos 2 Cores e no mínimo 4G de RAM e tentar fazer os procedimentos novamente.

Ânderson Ignácio da Silva
Ânderson Ignácio da Silva
Reply to  Cleiton Bueno
14/03/2016 15:16

Utilizo Debian Jessie 8.0, irei instalar uma VM para testar novamente.

Cleiton Bueno
Reply to  Ânderson Ignácio da Silva
14/03/2016 15:26

Ok, reporte aqui qualquer problema.

Cleiton Bueno
Reply to  Ânderson Ignácio da Silva
03/03/2016 08:19

O erro de readonly database é estranho, não havia visto ainda. Se estivesse usando um HD externo ou alguma outra partição e por algum equivoco estivesse como ro, teria sentido, mas por ser o /home é para estar ok.

Quando você fez os procedimentos de clonar e configurar foi com usuário comum certo, não usou o root não né?

Eu também usaria a dica do Diego, remover o conteúdo de colibri_imx6/tmp/ e verificar novamente.

Ânderson Ignácio da Silva
Ânderson Ignácio da Silva
Reply to  Cleiton Bueno
03/03/2016 09:31

Quando clonei realmente não estava como root, vou limpar o colibri_imx6/tmp e tentar o rebuild. Obrigado pelas dicas!

André Curvello
03/02/2016 08:35

Logo eu testo na minha Colibri aqui, viu!

Cleiton Bueno
Reply to  André Curvello
03/02/2016 21:19

Opa, e qualquer problema é só reportar aqui 😉

Home » Software » Sistemas Operacionais » Toradex Colibri iMX6 e Yocto Project Fido (1.8)

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste: