
After '6392a63 rpi-base.inc: Use KERNEL_DEVICETREE by default' was introduced, the default value for 3.18+ kernels was changed. Ensure this is reflected in the README. Signed-off-by: Petter Mabäcker <petter@technux.se>
250 lines
8.0 KiB
Plaintext
250 lines
8.0 KiB
Plaintext
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
|
|
|
|
|
|
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
|
|
2.K. Device tree support
|
|
3. Extra apps
|
|
3.A. omxplayer
|
|
4. Source code and mirrors
|
|
5. Contribution
|
|
5.A. Mailing List
|
|
5.B. Redmine
|
|
6. Maintainers
|
|
|
|
|
|
1. 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).
|
|
|
|
2. 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-oe, 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"/"raspberrypi2" in local.conf
|
|
4. bitbake rpi-hwup-image
|
|
5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
|
|
6. 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 = "<a name for your initramfs image>"
|
|
- INITRAMFS_IMAGE_BUNDLE = "1"
|
|
* Set the meta-rasberrypi variable (in raspberrypi.conf for example)
|
|
- KERNEL_INITRAMFS = "-initramfs"
|
|
|
|
2.K. Device tree support
|
|
=========================
|
|
Device tree for RPi is only supported when using linux-raspberrypi 3.18+
|
|
kernels.
|
|
|
|
* Set KERNEL_DEVICETREE (in conf/machine/raspberrypi.conf)
|
|
- the trailer is added to the kernel image before kernel install task.
|
|
While creating the SDCard image, this modified kernel is put on
|
|
boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files).
|
|
|
|
NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for
|
|
older kernel versions.
|
|
|
|
3. 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"
|
|
|
|
|
|
4. Source code and mirrors
|
|
==========================
|
|
|
|
Main repo:
|
|
git://git.yoctoproject.org/meta-raspberrypi
|
|
http://git.yoctoproject.org/git/meta-raspberrypi
|
|
|
|
Github mirror:
|
|
https://github.com/agherzan/meta-raspberrypi
|
|
|
|
Bitbucket mirror:
|
|
https://bitbucket.org/agherzan/meta-raspberrypi
|
|
|
|
|
|
5. 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'
|
|
|
|
5.B. 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 redmine 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]
|
|
|
|
|
|
6. Maintainers
|
|
==============
|
|
|
|
Andrei Gherzan <andrei at gherzan.ro>
|