Skip to content

Yocto/OpenEmbedded recipes for Mali devices

License

Notifications You must be signed in to change notification settings

cmeissl/meta-mali

 
 

Repository files navigation

ARM Mali BSP layer
==================

These recipes provide a BSP layer for ARM development platforms with
ARM Mali technology enabled.  To build a minimal image using
OpenEmbedded (OE) or Yocto/Poky for ODROID-XU3 which features a
Mali-T62x GPU:

OpenEmbedded set-up
-------------------

* Get OE meta-data with:
    git clone -b daisy git://git.openembedded.org/openembedded-core

* Prepare the build environment:
    cd openembedded-core && \
    git clone -b 1.26 git://git.openembedded.org/bitbake && \
    source oe-init-build-env

* Add path to meta-mali in openembedded-core/build/conf/bblayers.conf

* Set MACHINE to odroidxu3 in openembedded-core/build/conf/local.conf

* Add DEFAULTTUNE = "armv7athf" to openembedded-core/build/conf/local.conf

Yocto/Poky set-up
-----------------

* Get Poky meta-data with:
    git clone -b daisy git://git.yoctoproject.org/poky.git

* Prepare the build environment:
    cd poky && source oe-init-build-env

* Add path to meta-mali in poky/build/conf/bblayers.conf

* Set MACHINE to odroidxu3 in poky/build/conf/local.conf

* Add DEFAULTTUNE = "armv7athf" to poky/build/conf/local.conf

Building
--------

Once you've initialised your build environment for either OE or Poky,
the commands to build a full image are the same in both cases.

* Run this command to build a basic image:
    bitbake core-image-minimal

* If you get this error:
    Please use a umask which allows a+rx and u+rwx

  then run this command and try again:
    umask 022

* When the build is complete, a full SD card image will be ready to be
  written to an SD card to boot the ODROID-XU3:
    tmp/deploy/images/odroidxu3/core-image-minimal-odroidxu3.sdcard

  For example, if your SD card device is /dev/sdX (adjust as appropriate):
    dd if=core-image-minimal-odroidxu3.sdcard of=/dev/sdX bs=1M


ARM Mali GPU User-side drivers
==============================

The recipes-graphics directory contains recipes to download user-side
Mali GPU proprietary binary drivers which are distributed under an
End-User License Agreement (EULA).  This agreement needs to be read
and accepted prior to running the recipes.  The full text of the EULA
is included in the EULA file.

Standard binary user-side drivers are automatically downloaded by the
recipes from the official website:

    http://malideveloper.arm.com/develop-for-mali/drivers/

To add the user-side binary to your build, add this line to local.conf:

    IMAGE_INSTALL_append = " mali-userspace-t62x"

Because the Mali recipes provide EGL and OpenGL ES but not OpenGL,
there is a conflict with the Mesa recipes which are needed for X11 and
Wayland.  So the current Mali GPU support in OE does not work with
windowing systems but only "directfb" mode (a.k.a "fbdev").  The
core-image-minimal includes X11, so to convert it to "directfb" you
will also need to add these two lines to local.conf:

    DISTRO_FEATURES_append = " directfb sysvinit"
    DISTRO_FEATURES_remove = " x11 wayland"

With these modifications done in local.conf, building the image again
will produce a new SD card image with the Mali GPU drivers enabled:

    bitbake core-image-minimal


Resizing root filesystem on SD card
===================================

Root filesystem created on SD card image can be resized using custom
script called resize-rootfs. To include this script in your build, add
resize-rootfs to IMAGE_INSTALL_append list in local.conf, e.g.:

    IMAGE_INSTALL_append = " mali-userspace-t62x resize-rootfs"

Script requires invoking twice (once for every step) on the device.
Step 1 ends with automatic system reboot. Keep in mind this is experimental
feature and it can destroy all data on the SD card. It should be used
only during development process.

About

Yocto/OpenEmbedded recipes for Mali devices

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • BitBake 59.7%
  • Shell 19.7%
  • SourcePawn 14.5%
  • Batchfile 5.3%
  • Other 0.8%