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.
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









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 »
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.
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ê… =/
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.
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?
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
Conseguiu solucionar o problema Anderson?
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…
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.
Utilizo Debian Jessie 8.0, irei instalar uma VM para testar novamente.
Ok, reporte aqui qualquer problema.
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.
Quando clonei realmente não estava como root, vou limpar o colibri_imx6/tmp e tentar o rebuild. Obrigado pelas dicas!
Logo eu testo na minha Colibri aqui, viu!
Opa, e qualquer problema é só reportar aqui 😉