Difference between revisions of "HummingBoard"

From eLinux.org
Jump to: navigation, search
(Build & Run)
(Prepare)
Line 14: Line 14:
 
The following tutorial for build a Linux based distribution for HummingBoard (or Cubox-i) with Yocto is based on [http://wiki.solid-run.com/Yocto this article.]
 
The following tutorial for build a Linux based distribution for HummingBoard (or Cubox-i) with Yocto is based on [http://wiki.solid-run.com/Yocto this article.]
 
==Prepare==
 
==Prepare==
 +
 +
* Please ensure that Git and the following packages are installed on the host if you plan to build image with Wayland, Weston and Crosswalk: gawk, wget, git-core, diffstat, unzip, texinfo, gcc-multilib, g++-multilib, build-essential, chrpath, libsdl1.2-dev, xterm, gyp.<ref>[https://github.com/konsulko/meta-crosswalk-embedded/blob/master/README.md meta-crosswalk-embedded README]</ref> For example, on Ubuntu you can installed them using the following command:
 +
<pre>
 +
sudo apt-get install git gawk wget git-core diffstat unzip texinfo \
 +
gcc-multilib g++-multilib build-essential chrpath libsdl1.2-dev xterm gyp
 +
</pre>
 +
 
* Download Poky
 
* Download Poky
 
<pre>
 
<pre>

Revision as of 01:20, 21 April 2015

HummingBoard is an ARM development board with Freescale i.MX6 (ARMv7 architecture) manufactured by SolidRun. Its technical specifications are similar to SolidRun series of small computers Cubox-i. The following models of the board are available: HummingBoard-i1, HummingBoard-i2, and HummingBoard-i2eX.

Getting Started

The following OS image are provided from SolidRun:

  • OPENELEC – A Kodi Media Center
  • Android
  • GeexBox XBMC – A Kodi Media Center
  • Debian Linux by Igor Pečovnik

For more information please visit SolidRun download page.

Yocto

The following tutorial for build a Linux based distribution for HummingBoard (or Cubox-i) with Yocto is based on this article.

Prepare

  • Please ensure that Git and the following packages are installed on the host if you plan to build image with Wayland, Weston and Crosswalk: gawk, wget, git-core, diffstat, unzip, texinfo, gcc-multilib, g++-multilib, build-essential, chrpath, libsdl1.2-dev, xterm, gyp.[1] For example, on Ubuntu you can installed them using the following command:
sudo apt-get install git gawk wget git-core diffstat unzip texinfo \
gcc-multilib g++-multilib build-essential chrpath libsdl1.2-dev xterm gyp
  • Download Poky
git clone -b dizzy git://git.yoctoproject.org/poky.git
  • Download ARM and Freescale layers
    • For Wayland & Weston version 1.5
cd poky
git clone -b dizzy git://git.yoctoproject.org/meta-fsl-arm
git clone -b dizzy git://github.com/Freescale/meta-fsl-arm-extra.git
    • For Wayland & Weston version 1.6
cd poky
git clone https://github.com/konsulko/meta-fsl-arm.git
git clone -b dizzy git://github.com/Freescale/meta-fsl-arm-extra.git
  • Optionally you may add Crosswalk if you want to run standalone HTML5 applications
git clone https://github.com/crosswalk-project/meta-crosswalk.git
git clone https://github.com/konsulko/meta-crosswalk-embedded.git
  • Initialize build directory
source oe-init-build-env

Configure

local.conf

Perform the following modifications of conf/local.conf:

  • Change machine type to cubox-i:
MACHINE ??= "cubox-i"
  • Append the following additional configurations:
PACKAGE_CLASSES ?= "package_rpm"
ACCEPT_FSL_EULA = "1"
LICENSE_FLAGS_WHITELIST = "commercial"
  • Optionally change the following settings to optimize the build depending on the hardware specifications of your build system:
PARALLEL_MAKE ?= "-j 4"
BB_NUMBER_THREADS ?= "4"
  • Optionally append the following configuration if you are building Wayland and Weston
DISTRO_FEATURES_remove = "x11"
  • Optionally append the following configuration if you want to save disk space by deleting temporary files after the build
INHERIT += "rm_work"
  • Optionally if you want to build Crosswalk append the following line to the end of the file:
IMAGE_INSTALL_append = " crosswalk"

bblayers.conf

  • Append the following two lines to BBLAYERS at conf/bblayers.conf:
   /home/test/poky/meta-fsl-arm \
   /home/test/poky/meta-fsl-arm-extra \
  • Append the following lines if you want to enable Crosswalk layers
   /home/test/poky/meta-crosswalk \
   /home/test/poky/meta-crosswalk-embedded \

Build & Run

  • Run the following command to build a minimal image:
bitbake core-image-minimal
  • Alternatively, run the following command to build an Wayland/Weston image with Crosswalk (Crosswalk will be included depending on the configuration at conf/local.conf):
bitbake core-image-weston
  • Alternatively, run the following command to build an image with Crosswalk and X11:
bitbake core-image-sato
  • The build may take up to several hours depending on the technical specifications of the build system. Grab a cup of coffee and when the image is ready go to tmp/deploy/images/cubox-i/. Replace X with the corresponding letter to a microSD card and copy the image to it using the following commands:
cd tmp/deploy/images/cubox-i/
umount /dev/sdX*
dd if=core-image-weston-cubox-i.sdcard of=/dev/sdX bs=4M conv=fsync

Troubleshooting

libsdl-native

Install libsdl-native on the host or just remove it from conf/local.conf if you experience an error similar to the one below. For more information please check Yocto Project Bug 6509.

ERROR:  OE-core's config sanity checker detected a potential misconfiguration.
    Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).
    Following is the list of potential problems / advisories:

    libsdl-native is set to be ASSUME_PROVIDED but sdl-config can't be found in PATH. Please either install it, or configure qemu not to require sdl.

Tizen

There are ongoing efforts for porting Tizen:Common and Tizen IVI with Wayland, Weston and Crosswalk on HummingBoard:

Debugging

It is possible to debug Tizen images on HummingBoard using 3.3V USB to serial cable, such as Olimex USB-Serial-Cable-F, connected to the UART of the board. Follow the instructions below to connect a cable to the board (do it on your own risk, no warranty is provided):

  • The RX line of the cable (GREEN wire if you are using Olimex USB-Serial-Cable-F) should go to pin 8 (TX line) of HummingBoard,
  • The TX line of the cable (RED wire if you are using Olimex USB-Serial-Cable-F) should go to pin 10 (RX line) of HummingBoard,
  • The BLUE wire if you are using Olimex USB-Serial-Cable-F should go to pin 6 (GND line which is also available on pins 9,14,20, and 25) of HummingBoard.


Olimex USB-Serial-Cable-F attached to HummingBoard for debugging through the serial console


Plug the USB connector of the cable to your computer and use your favorite tool for serial communication, for example on Ubuntu and other Linux distributions you may use screen:

sudo screen /dev/ttyUSB0 115200

For more information and details check the article about serial console at SolidRun wiki.

Useful Resources

  • meta-crosswalk-embedded README