BeagleBone Black + Yocto

beaglebone black com yocto 7Masters

Muito tem sido comentado sobre plataformas de desenvolvimento suportadas por grandes comunidades, tal como a BeagleBone Black e a Raspberry Pi. Ambas têm atingido um grande público em específico, aquele ávido por conhecimento em Linux embarcado. Muito bem! Aqui começa um tutorial de como criar imagens personalizadas para a placa BeagleBone Black com Yocto Project

 

 

 

O que é a BeagleBone Black?

 

A BeagleBone Black é o mais novo membro da família BeagleBoard e suas características estão listadas no seu Wiki oficial. Algumas das grandes melhorias dessa placa com relação à sua versão anterior, “white”, são:

  • Processador: TI Sitara AM3359 de 1GHz;
  • Memória DRAM: DDR3L 400MHz de 512 MB;
  • Memória Flash: eMMC de 2GB e conector para microSD card.

 

E onde podemos gravar o nosso querido Linux na placa? Tanto a memória Flash eMMC quanto um microSD card podem receber todas as imagens necessárias para compor o sistema Linux, as quais, basicamente, são: 

  • Bootloader;
  • Kernel Linux;
  • Sistema de arquivos.

 

Agora que é conhecido o que gravar na placa e os dispositivos de armazenamento oferecidos por ela, como é possível gerar tais imagens? Pode-se utilizar tanto imagens pré-compiladas disponibilizadas no site oficial, ou criar imagens customizadas a partir das técnicas apresentadas no artigo Embedded Linux Build Systems, de Diego Sueiro.

 

Neste artigo será utilizado um microSD card como dispositivo de armazenamento e o Yocto Project como build system.

 

 

O que é Yocto Project?

 

O Yocto Project é um projeto open-source colaborativo que oferece templates, ferramentas e métodos para auxiliar na criação de sistemas baseados em Linux para sistemas embarcados, independente da arquitetura de hardware utilizada. O Yocto inclui em sua arquitetura o build system Poky, que, por sua vez, é derivado do build system OpenEmbedded.

 

O OpenEmbedded é composto de dois elementos principais, como mostrado abaixo: BitBake e Metadata. BitBake é uma ferramenta de build muito flexível mantida pelos projetos Yocto e OpenEmbedded, comandada pelas instruções presentes no Metadata e com a finalidade de gerar, entre outros, as imagens finais do sistema de arquivos, kernel, bootloader e SDKs.

 

beaglebone black com yocto
Figura 1: BitBake, ferramenta de build mantida pelos projetos Yocto e OpenEmbedded

 

 

Gerando as imagens para a Beaglebone Black com Yocto

 

Como sistema host foi utilizado um PC com a distribuição Ubuntu 14.04 64-bits instalada. Algumas dependências devem ser resolvidas no sistema antes de prosseguir. Para isso, execute o seguinte comando:

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

 

Para a geração das imagens da placa BeagleBone Black é necessário utilizar seus respectivos metadados, tais como receitas, classes, tarefas e configuração.

 

Precisa-se, agora, realizar o download de todos esses itens. Neste artigo é utilizada a última versão estável do Yocto, na versão 2.2 e nomeada Morty. Para isso, siga os seguintes comandos:

$ mkdir -p ~/beaglebone-black/yocto/sources
$ mkdir -p ~/beaglebone-black/yocto/builds
$ cd ~/beaglebone-black/yocto/sources
$ git clone -b morty git://git.yoctoproject.org/poky.git poky-morty
$ cd ~/beaglebone-black/yocto/
$ source sources/poky-morty/oe-init-build-env builds/build-bbb-morty

 

É criado o diretório build-bbb-morty, contendo o sub-diretório conf, onde são armazenados os arquivos de configuração do projeto local.conf e bblayers.conf. Os dois arquivos precisam ser alterados.

  

Arquivo local.conf

 

A linha onde a variável MACHINE é configurada precisa ser substituída pelo seguinte conteúdo:

MACHINE ?= "beaglebone"

 

Adicione o seguinte conteúdo:

DL_DIR ?= "${TOPDIR}/../dl"
IMAGE_INSTALL_append = " kernel-modules kernel-devicetree"

 

Arquivo bblayers.conf

 

Não é necessário acrescentar layers ao build.

 

Build

 

Neste ponto é necessário selecionar uma imagem para ser gerada para a BeagleBone Black. É só retornar ao diretório build-bbb-morty e executar o BitBake com os seguintes comandos:

$ cd ~/beaglebone-black/yocto/builds/build-bbb-morty
$ bitbake core-image-minimal

 

Configuração de build utilizada:

Build Configuration:
BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "beaglebone"
DISTRO            = "poky"
DISTRO_VERSION    = "2.2"
TUNE_FEATURES     = "arm armv7a vfp  neon        callconvention-hard        cortexa8"
TARGET_FPU        = "hard"
meta              
meta-poky         
meta-yocto-bsp    = "morty:6c9f6b5f70ab3ee194b2c2c6f3bd462c994848fa"

 

Esse comando cria a menor e mais simples imagem para a placa. Depois de algum tempo, são geradas as imagens em ~/beaglebone-black/yocto/builds/build-bbb-morty/tmp/deploy/images/beaglebone, as quais devem ser gravadas no microSD card. Tais imagens são: 

  • core-image-minimal-beaglebone.tar.bz2 (rootfs - sistema de arquivos);
  • MLO (bootloader de primeiro estágio);
  • u-boot.img (bootloader de segundo estágio - U-Boot);
  • zImage (kernel) e;
  • zImage-am335x-boneblack.dtb (Device Tree Binary).

 

 

Gravação das imagens no microSD Card

 

Para a gravação dessas imagens no microSD card, o mesmo deve ser particionado e formatado de acordo o padrão aceito pelo placa. Para isso foi criado um script, que pode ser obtido com os seguintes comandos:

$ mkdir -p ~/beaglebone-black/create-sdcard
$ cd ~/beaglebone-black/create-sdcard
$ git clone https://github.com/henriqueprossi/beaglebone-black.git

 

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

$ dmesg
$ sudo fdisk -l

 

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

$ cd ~/beaglebone-black/create-sdcard/scripts
$ chmod +x format_sd_card.sh
$ sudo ./format_sd_card.sh /dev/sdb

 

Assim que o processo de particionamento e formatação terminar, duas partições no microSD card são criadas:

  • boot (FAT32);
  • rootfs (ext4).

 

Execute a “montagem” dessas duas partições no sistema de arquivos do sistema host. Caso esse faça uso da distribuição Ubuntu, basta remover e inserir novamente o dispositivo no seu conector. Dado que, por exemplo, os pontos de montagem criados sejam /media/boot e /media/rootfs, as imagens geradas anteriormente são copiadas da seguinte forma:

$ cd ~/beaglebone-black/yocto/builds/build-bbb-morty/tmp/deploy/images/beaglebone
$ mkdir /media/boot/dtbs
$ cp MLO u-boot.img zImage /media/boot
$ cp zImage-am335x-boneblack.dtb /media/boot/dtbs/am335x-boneblack.dtb
$ sudo tar xvf core-image-minimal-beaglebone.tar.bz2 -C /media/rootfs
$ sync

 

Pronto! Agora é conectar o microSD card na Beaglebone Black e curtir! A porta serial de debug da placa é usada para o console do sistema operacional  e o conteúdo de sua saída é mostrado abaixo. Pode ser montado um cabo serial como mostrado no tutorial BeagleBone Black Serial.

 

U-Boot SPL 2016.03 (Nov 06 2016 - 11:59:37)
Trying to boot from MMC
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2016.03 (Nov 06 2016 - 11:59:37 -0200)

       Watchdog enabled
I2C:   ready
DRAM:  512 MiB
NAND:  0 MiB
MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Error - No Valid Environment Area found
*** Warning - bad CRC, using default environment

Net:   <ethaddr> not set. Validating first E-fuse MAC
cpsw, usb_ether
Press SPACE to abort autoboot in 2 seconds
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
** Unable to read file uEnv.txt **
5609008 bytes read in 391 ms (13.7 MiB/s)
34185 bytes read in 96 ms (347.7 KiB/s)
Kernel image @ 0x82000000 [ 0x000000 - 0x559630 ]
## Flattened Device Tree blob at 88000000
   Booting using the fdt blob at 0x88000000
   Loading Device Tree to 8fff4000, end 8ffff588 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.8.3-yocto-standard ([email protected]) (gcc version 6.2.0 (GCC) ) #1 PREEMPT Sun Nov 6 21:21:52 BRST 2016
CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt:Machine model: TI AM335x BeagleBone Black
cma: Reserved 16 MiB at 0x9e800000
Memory policy: Data cache writeback
CPU: All CPU(s) started in SVC mode.
AM335X ES2.1 (sgx neon )
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129664
Kernel command line: console=ttyO0,115200n8 root=PARTUUID=ce3fde21-02 rw rootfstype=ext4 rootwait
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 486884K/523264K available (8192K kernel code, 749K rwdata, 2664K rodata, 1024K init, 635K bss, 19996K reserved, 16384K cma-reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xe0800000 - 0xff800000   ( 496 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc0900000   (9184 kB)
      .init : 0xc0d00000 - 0xc0e00000   (1024 kB)
      .data : 0xc0e00000 - 0xc0ebb4d4   ( 750 kB)
       .bss : 0xc0ebd000 - 0xc0f5bcb0   ( 636 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Preemptible hierarchical RCU implementation.
        Build-time adjustment of leaf fanout to 32.
NR_IRQS:16 nr_irqs:16 16
IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
OMAP clockevent source: timer2 at 24000000 Hz
sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 89478484971ns
clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 79635851949 ns
OMAP clocksource: timer1 at 24000000 Hz
clocksource_probe: no matching clocksources found
Console: colour dummy device 80x30
Calibrating delay loop... 996.14 BogoMIPS (lpj=4980736)
pid_max: default: 32768 minimum: 301
Security Framework initialized
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
CPU: Testing write buffer coherency: ok
ftrace: allocating 28294 entries in 83 pages
Setting up static identity map for 0x80100000 - 0x80100058
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
xor: measuring software checksum speed
   arm4regs  :  1218.800 MB/sec
   8regs     :   902.800 MB/sec
   32regs    :  1172.400 MB/sec
xor: using function: arm4regs (1218.800 MB/sec)
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
omap_hwmod: debugss: _wait_target_disable failed
cpuidle: using governor ladder
cpuidle: using governor menu
OMAP GPIO hardware version 0.1
hw-breakpoint: debug architecture 0x4 unsupported.
raid6: int32x1  gen()   208 MB/s
raid6: int32x1  xor()   121 MB/s
raid6: int32x2  gen()   225 MB/s
raid6: int32x2  xor()   150 MB/s
raid6: int32x4  gen()   208 MB/s
raid6: int32x4  xor()   131 MB/s
raid6: int32x8  gen()   174 MB/s
raid6: int32x8  xor()   117 MB/s
raid6: using algorithm int32x2 gen() 225 MB/s
raid6: .... xor() 150 MB/s, rmw enabled
raid6: using intx1 recovery algorithm
edma 49000000.edma: TI EDMA DMA engine driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
omap_i2c 44e0b000.i2c: could not find pctldev for node /ocp/[email protected]/[email protected]/[email protected]/pinmux_i2c0_pins, deferring probe
omap_i2c 4819c000.i2c: could not find pctldev for node /ocp/[email protected]/[email protected]/[email protected]/pinmux_i2c2_pins, deferring probe
clocksource: Switched to clocksource timer1
NET: Registered protocol family 2
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available
futex hash table entries: 256 (order: -1, 3072 bytes)
workingset: timestamp_bits=14 max_order=17 bucket_order=3
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 251)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
omap_uart 44e09000.serial: no wakeirq for uart0
44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 158, base_baud = 3000000) is a OMAP UART0
console [ttyO0] enabled
[drm] Initialized drm 1.1.0 20060810
random: fast init done
brd: module loaded
mtdoops: mtd device (mtddev=name/number) must be supplied
libphy: Fixed MDIO Bus: probed
davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
davinci_mdio 4a101000.mdio: detected phy mask fffffffe
libphy: 4a101000.mdio: probed
davinci_mdio 4a101000.mdio: phy[0]: device 4a101000.mdio:00, driver SMSC LAN8710/LAN8720
cpsw 4a100000.ethernet: Detected MACID = 1c:ba:8c:e5:41:46
usbcore: registered new interface driver kaweth
pegasus: v0.9.3 (2013/04/25), Pegasus/Pegasus II USB Ethernet driver
usbcore: registered new interface driver pegasus
usbcore: registered new interface driver rtl8150
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver dm9601
usbcore: registered new interface driver smsc75xx
usbcore: registered new interface driver smsc95xx
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver MOSCHIP usb-ethernet driver
usbcore: registered new interface driver int51x1
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-omap: OMAP-EHCI Host Controller driver
usbcore: registered new interface driver usb-storage
47401300.usb-phy supply vcc not found, using dummy regulator
musb-hdrc musb-hdrc.0.auto: Failed to request rx1.
musb-hdrc musb-hdrc.0.auto: musb_init_controller failed with status -517
47401b00.usb-phy supply vcc not found, using dummy regulator
musb-hdrc musb-hdrc.1.auto: Failed to request rx1.
musb-hdrc musb-hdrc.1.auto: musb_init_controller failed with status -517
mousedev: PS/2 mouse device common for all mice
omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
i2c /dev entries driver
omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
omap_hsmmc 48060000.mmc: Got CD GPIO
mmc0: host does not support reading read-only switch, assuming write-enable
mmc0: new high speed SDHC card at address 0007
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: using arm/armv7
u32 classifier
    Actions configured
NET: Registered protocol family 10
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered protocol family 17
Key type dns_resolver registered
omap_voltage_late_init: Voltage driver support not added
ThumbEE CPU extension supported.
Btrfs loaded, crc32c=crc32c-generic
mmcblk0: mmc0:0007 SD8GB 7.21 GiB 
tps65217 0-0024: TPS65217 ID 0xe version 1.2
 mmcblk0: p1 p2
tda998x 0-0070: found TDA19988
tilcdc 4830e000.lcdc: bound 0-0070 (ops tda998x_ops)
[drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[drm] No driver support for vblank timestamp query.
tilcdc 4830e000.lcdc: No connectors reported connected with modes
[drm] Cannot find any crtc or sizes - going 1024x768
Console: switching to colour frame buffer device 128x48
tilcdc 4830e000.lcdc: fb0:  frame buffer device
[drm] Initialized tilcdc 1.0.0 20121205 on minor 0
omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
omap_i2c 4819c000.i2c: bus 2 rev0.11 at 100 kHz
musb-hdrc musb-hdrc.1.auto: MUSB HDRC host driver
musb-hdrc musb-hdrc.1.auto: new USB bus registered, assigned bus number 1
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
console [netcon0] enabled
netconsole: network logging started
omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
mmc1: new high speed MMC card at address 0001
mmcblk1: mmc1:0001 MMC04G 3.66 GiB 
mmcblk1boot0: mmc1:0001 MMC04G partition 1 1.00 MiB
mmcblk1boot1: mmc1:0001 MMC04G partition 2 1.00 MiB
 mmcblk1: p1 p2
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 1024K (c0d00000 - c0e00000)
INIT: version 2.88 booting
Starting udev
udevd[110]: starting version 3.2
udevd[111]: starting eudev-3.2
omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
Populating dev cache
Sun Nov  6 23:26:31 UTC 2016
INIT: Entering runlevel: 5
Configuring network interfaces... net eth0: initializing cpsw version 1.12 (0)
SMSC LAN8710/LAN8720 4a101000.mdio:00: attached PHY driver [SMSC LAN8710/LAN8720] (mii_bus:phy_addr=4a101000.mdio:00, irq=-1)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
udhcpc (v1.24.1) started
Sending discover...
Sending discover...
Sending discover...
No lease, forking to background
done.
Starting syslogd/klogd: done

Poky (Yocto Project Reference Distro) 2.2 beaglebone /dev/ttyO0

beaglebone login: root
[email protected]:~# uname -a
Linux beaglebone 4.8.3-yocto-standard #1 PREEMPT Sun Nov 6 21:21:52 BRST 2016 armv7l GNU/Linux
[email protected]:~#

 

 

Nos próximos artigos serão adicionados aplicativos e bibliotecas, tal como Qt, ao sistema de arquivos, de forma a customizar a imagem mínima criada. Também tenho utilizado com frequência o Buildroot como build system, mas no momento tenho preferência pelo Yocto. E você? Usa o Yocto em seus projetos?

 

 

Para aprender mais

 

Embedded Linux Build Systems

Cozinhando com o Yocto Project

Desvendando Yocto Project – Primeiros passos

Beaglebone Black + Yocto Daisy (Versão 1.6)

Lançada Nova Versão 1.7 (dizzy) do Yocto Project

Desenvolvendo um Kiosk Interativo para a Beaglebone Black com Yocto – parte 1

Beaglebone Black + Qt Embedded + Yocto – parte 1

Beaglebone Black + Qt5 + Yocto - parte 1

Como criar uma imagem customizada para a BeagleBone Black com Buildroot

NEWSLETTER

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

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

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

Henrique Rossi
Engenheiro eletricista com ênfase em eletrônica e pós-graduado em Engenharia de Software. Comecei um mestrado, mas o interrompi. Especialista na área de sistemas embarcados, com mais de 12 anos de experiência em desenvolvimento de firmware (sistemas baremetal e baseados em RTOS) e Linux Embarcado. Atualmente sou administrador do site Embarcados, trabalho num fabricante de Set-Top Box e atuo como consultor/desenvolvedor na área de sistemas embarcados.
recentes antigos mais votados
Notificar
Rodrigo Machado
Visitante
Rodrigo Machado

Olá Henrique gostaria de saber se você já desenvolveu algo para a beaglebone black utilizando o kinect.

Henrique Rossi
Visitante

Olá Rodrigo!

Nunca trabalhei com o kinect. Parece ser uma implementação muito interessante! 🙂

Fernando França
Visitante

Ótimo artigo Henrique, obrigado por compartilhar esse conhecimento. Venho trabalhando com Linux embarcado profissionalmente há pouco tempo utilizando RPi e Raspbian e me preparando para abandonar o Raspbian para algo mais customizado com o Yocto.

Henrique Rossi
Visitante

Muito obrigado Fernando!

Eu acho que está seguindo o caminho correto quando se trata de produto. Também já usei a RPi em projetos e deixa a sua solução mais enxuta e coesa com o que precisa. Se precisar de ajuda, estou à disposição.

Abraços,
Henrique

Gabriel Habib
Visitante
Gabriel Habib

Henrique, gostaria de saber se existe a possibilidade de incluir os drivers do BBView juntamente com Yocto + QT ?

Obrigado!

Henrique Rossi
Visitante

Olá Gabriel,

Eu nunca usei essa expansion board, mas teoricamente seria habilitar o seu .dto no arquivo uEnv.txt da partição de boot. Adicione na variável optargs o seguinte conteúdo:

capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN capemgr.enable_partno=BB-VIEW-LCD7-01

Use estes links também como referência:

http://www.element14.com/community/thread/31051/l/how-to-bb-view-on-latest-debian?displayFullThread=true

http://www.element14.com/community/servlet/JiveServlet/downloadBody/65082-102-5-294046/BB%20VIEW%20User%20Manual%20V3.pdf

Abraços

trackback

[…] BeagleBone Black + Yocto […]

trackback

[…] BeagleBone Black + Yocto […]

trackback
trackback

[…] quiser se aprofundar mais no assunto o Embarcados já possui alguns bons posts a respeito [3] [4] [5] […]

trackback

[…] BeagleBone Black + Yocto […]

trackback

[…] BeagleBone Black + Yocto […]

trackback

[…] Nesta série de artigos sobre o uso do Yocto Project [1] veremos como criar uma distribuição Linux embarcado com o Qt5 [2] para a Raspberry pi [3] usando seu acelerador gráfico VideoCore IV [4]. Na segunda parte veremos como gerar um SDK e integrá-lo ao QtCreator [5] 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 [6] sobre Beaglebone Black + Yocto [7]. […]