Go to file
Andrei Gherzan 327c0c12b5 README: Fix redmine tag
Change-Id: I90d520c66f03503b225f42ac772b3b22cf461626
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2015-02-05 12:07:52 +02:00
classes sdcard_image-rpi: make rpi-sdimg image dependent on rootfs type 2014-03-06 00:29:13 +11:00
conf raspberrypi.conf: add IMAGE_BOOT_FILES 2015-01-25 20:39:39 +02:00
files/custom-licenses custom-licenses: Add directory to hold custom licenses 2013-03-13 19:42:27 +02:00
recipes-bcm firmware: Update to remote's HEAD 2014-08-24 03:01:22 +02:00
recipes-bsp Remove uses of PRINC 2014-05-08 21:20:26 +03:00
recipes-core packagegroup-rpi-test: Add some packages 2014-01-19 20:32:59 +02:00
recipes-devtools rpi-gpio: Update to v0.5.6 2014-08-24 03:01:49 +02:00
recipes-graphics omxplayer: Update to remote's HEAD 2014-08-24 03:04:54 +02:00
recipes-kernel/linux linux-raspberrypi: Update 3.12 branch to 3.12.36 2015-02-05 09:59:52 +01:00
recipes-multimedia omxplayer: Minor tweaks 2015-01-25 20:30:25 +02:00
scripts/lib/image/canned-wks sdimage-raspberrypi.wks: kickstart image definition 2015-01-25 20:39:58 +02:00
COPYING.MIT COPYING.MIT: Add license file for the metadata. 2012-04-03 20:44:03 +01:00
README README: Fix redmine tag 2015-02-05 12:07:52 +02:00

Quick links

Git repository web frontend: http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/ Mailing list (yocto mailing list): yocto@yoctoproject.org Issues management (redmine): http://redmine.gherzan.ro/projects/meta-raspberrypi Change review (gerrit): https://review.gherzan.ro:8443/#/q/project:meta-raspberrypi

Contents:

  1. Description

  2. Yocto BSP Layer - Raspberry Pi 2.A. Compressed deployed files 2.B. GPU memory 2.C. Add purchased license codecs 2.D. Disable overscan 2.E. Set overclocking options 2.F. Optional - Video camera support with V4L2 drivers 2.G. Optional - Enable offline compositing support 2.H. Images 2.I. Boot to U-Boot 2.J. Image with Initramfs

  3. Extra apps 3.A. omxplayer

  4. Source code and mirrors

  5. Contribution 5.A. Mailing List 5.B. Gerrit Review Server 5.C. Redmine

  6. Maintainers

  7. Description ==============

This is the general hardware specific BSP overlay for the RaspberryPi device.

More information can be found at: http://www.raspberrypi.org/ (Official Site)

The core BSP part of meta-raspberrypi should work with different OpenEmbedded/Yocto distributions and layer stacks, such as:

  • Distro-less (only with OE-Core).
  • Angstrom.
  • Yocto/Poky (main focus of testing).
  1. Yocto BSP Layer - RaspberryPi ================================

This layer depends on:

URI: git://git.yoctoproject.org/poky branch: master revision: HEAD

URI: git://git.openembedded.org/meta-openembedded layers: meta-multimedia branch: master revision: HEAD

How to use it:

  1. source poky/oe-init-build-env rpi-build
  2. Add needed layer to bblayers.conf:
    • meta-raspberrypi 3 Set MACHINE to raspberrypi in local.conf
  3. bitbake rpi-hwup-image
  4. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
  5. Boot your RPI.

2.A. Optional - compressed deployed files:

  1. Overwrite IMAGE_FSTYPES in local.conf IMAGE_FSTYPES = "tar.bz2 ext3.xz"
  2. Overwrite SDIMG_ROOTFS_TYPE in local.conf SDIMG_ROOTFS_TYPE = "ext3.xz"
  3. Overwrite SDIMG_COMPRESSION in local.conf SDIMG_COMPRESSION = "xz" *Accommodate the values above to your own needs (ex: ext3 / ext4).

2.B. Optional - GPU memory:

Variable : Details GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and GPU. ARM gets the remaining memory. Min 16. Default 64. GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the 512MB RP. Overrides gpu_mem. Max 192. Default not set. GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the 256MB RP. Overrides gpu_mem. Max 448. Default not set.

2.C.Optional - Add purchased license codecs:

To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in local.conf. Example: KEY_DECODE_MPG2 = "12345678" KEY_DECODE_WVC1 = "12345678" You can supply more licenses separated by comma. Example: KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"

2.D. Optional - Disable overscan:

By default the GPU adds a black border around the video output to compensate for TVs which cut off part of the image. To disable this set this variable in local.conf: DISABLE_OVERSCAN = "0"

2.E. Optional - Set overclocking options:

The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo Mode" is officially supported by the raspbery and does not void warranty. Check the config.txt for a detailed description of options and modes. Example:

Turbo mode

ARM_FREQ = "1000" CORE_FREQ = "500" SDRAM_FREQ = "500" OVER_VOLTAGE = "6"

2.F. Optional - Video camera support with V4L2 drivers

Set this variable to enable support for the video camera (Linux 3.12.4+ required) VIDEO_CAMERA = "1"

2.G. Optional - Enable offline compositing support

Set this variable to enable support for dispmanx offline compositing DISMANX_OFFLINE = "1"

This will enable the firmware to fall back to off-line compositing of Dispmanx elements. Normally the compositing is done on-line, during scanout, but cannot handle too many elements. With off-line enabled, an off-screen buffer is allocated for compositing. When scene complexity (number and sizes of elements) is high, compositing will happen off-line into the buffer.

Heavily recommended for Wayland/Weston.

See: http://wayland.freedesktop.org/raspberrypi.html

2.H. Images

  • rpi-hwup-image Hardware up image
  • rpi-basic-image Based on rpi-hwup-image with some added features (ex: splash)
  • rpi-test-image Image based on rpi-basic-image which includes most of the packages in this layer and some media samples.

2.I. Boot to U-Boot

To have u-boot load kernel image, set in your local.conf KERNEL_IMAGETYPE = "uImage"

This will make kernel.img be u-boot image which will load uImage. By default, kernel.img is the actual kernel image (ex. Image).

2.J. Image with Initramfs

To build an initramfs image : * Set this 3 kernel variables (in linux-raspberrypi.inc for example) - kernel_configure_variable BLK_DEV_INITRD y - kernel_configure_variable INITRAMFS_SOURCE "" - kernel_configure_variable RD_GZIP y * Set the yocto variables (in linux-raspberrypi.inc for example) - INITRAMFS_IMAGE = "" - INITRAMFS_IMAGE_BUNDLE = "1" * Set the meta-rasberrypi variable (in raspberrypi.conf for example) - KERNEL_INITRAMFS = "-initramfs"

  1. Extra apps =============

3.A. omxplayer

omxplayer depends on libav which has a commercial license. So in order to be able to compile omxplayer you will need to whiteflag the commercial license adding to you local.conf: LICENSE_FLAGS_WHITELIST = "commercial"

  1. Source code and mirrors ==========================

Main repo: git://git.yoctoproject.org/meta-raspberrypi http://git.yoctoproject.org/git/meta-raspberrypi

Github mirror: https://github.com/djwillis/meta-raspberrypi

Gerrit review repo: https://review.gherzan.ro:8443/meta-raspberrypi

  1. Contributing ===============

5.A. Mailing list

The main communication tool we use is a mailing list: yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto

Feel free to ask any kind of questions but always prepend your email subject with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and not a perticular 'meta-raspberrypi' mailing list.

To contribute to this layer you should send the patches for review to the above specified mailing list. The patches should be compliant with the openembedded patch guidelines: http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines

To send changes to mailing list use something like: git send-email --to yocto@yoctoproject.org
--subject-prefix='meta-raspberrypi][PATCH'

OPTIONALLY push changes to gerrit (help maintainers merge and review patches easier in this way). git push ssh://@review.gherzan.ro:29418/meta-raspberrypi :refs/for/master See 5.B. Gerrit Review Server.

5.B. Gerrit Review Server

We have a gerrit server configured at review.gherzan.ro. Changes made in gerrit are merged in git.yoctoproject.org/meta-raspberrypi.

You can setup a gerrit account in less than 2 minutes: A) Login / Register on https://review.gherzan.ro:8443. B) Add your PUBLIC key in Settings/SSH Public Keys. C) Add remote in your local repo: git remote add gherzan ssh://@review.gherzan.ro:29418/meta-raspberrypi D) Push changes to gerrit using: git push gherzan :refs/for/master

Please check your spam folder for gerrit messages. Sometimes they end up there.

5.C. Redmine

In order to manage and trace the meta-raspberrypi issues, we use redmine: http://redmine.gherzan.ro/projects/meta-raspberrypi

Here we report, trace and develop bugs, features or support tickets for this yocto BSP later.

If you push patches which have a remine issue associated, please provide the issue number in the commit log just before "Signed-off-by" line(s). Example line for a bug: [Bug #13]

  1. Maintainers ==============

    Andrei Gherzan