summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorAndrei Gherzan <andrei@gherzan.ro>2017-05-12 15:37:48 +0100
committerAndrei Gherzan <andrei@gherzan.ro>2017-05-12 18:16:57 +0100
commitd8da77b57e88a64e2cc2ff494b1e33a5eb1b1686 (patch)
tree24e027304ff92b366848b75a63b8f68595c2f15b /README
parent3cf2582cc95eb4381f7f0a39be68f1fdcfb71e0a (diff)
downloadmeta-raspberrypi-d8da77b57e88a64e2cc2ff494b1e33a5eb1b1686.tar.gz
README: Migrate to markdown version
Add badges too. Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Diffstat (limited to 'README')
-rw-r--r--README361
1 files changed, 0 insertions, 361 deletions
diff --git a/README b/README
deleted file mode 100644
index 22988d1..0000000
--- a/README
+++ /dev/null
@@ -1,361 +0,0 @@
1Quick links
2===========
3Git repository web frontend:
4 http://git.yoctoproject.org/cgit/cgit.cgi/meta-raspberrypi/
5Mailing list (yocto mailing list):
6 yocto@yoctoproject.org
7Issues management (Github Issues):
8 https://github.com/agherzan/meta-raspberrypi/issues
9
10
11Contents:
12=========
131. Description
142. Yocto BSP Layer - Raspberry Pi
15 2.A. How to use it
16 2.B. Images
173. Optional build configuration
18 3.A. Compressed deployed files
19 3.B. GPU memory
20 3.C. Add purchased license codecs
21 3.D. Disable overscan
22 3.E. Set overclocking options
23 3.F. Video camera support with V4L2 drivers
24 3.G. Enable offline compositing support
25 3.H. Enable kgdb over console support
26 3.I. Boot to U-Boot
27 3.J. Image with Initramfs
28 3.K. Device tree support
29 3.L. Enable SPI bus
30 3.M. Enable I2C
31 3.N. Enable PiTFT support
32 3.O. Misc. display
33 3.P. Enable UART support
344. Extra apps
35 4.A. omxplayer
365. Board Configuration
37 5.A. Audio Routing
386. Source code and mirrors
397. Contribution
40 7.A. Mailing List
41 7.B. Github Issues
428. Maintainers
43
44
451. Description
46==============
47
48This is the general hardware specific BSP overlay for the RaspberryPi device.
49
50More information can be found at:
51 http://www.raspberrypi.org/ (Official Site)
52
53The core BSP part of meta-raspberrypi should work with different
54OpenEmbedded/Yocto distributions and layer stacks, such as:
55* Distro-less (only with OE-Core).
56* Angstrom.
57* Yocto/Poky (main focus of testing).
58
592. Yocto BSP Layer - RaspberryPi
60================================
61
62This layer depends on:
63
64URI: git://git.yoctoproject.org/poky
65branch: master
66revision: HEAD
67
68URI: git://git.openembedded.org/meta-openembedded
69layers: meta-oe, meta-multimedia, meta-networking, meta-python
70branch: master
71revision: HEAD
72
732.A. How to use it
74==================
75a. source poky/oe-init-build-env rpi-build
76b. Add needed layer to bblayers.conf:
77 - meta-raspberrypi
78c. Set MACHINE in local.conf to one of the supported boards:
79 - raspberrypi
80 - raspberrypi0
81 - raspberrypi0-wifi
82 - raspberrypi2
83 - raspberrypi3
84 - raspberrypi3-64 (64 bit kernel & userspace)
85 - raspberrypi-cm (dummy alias for raspberrypi)
86 - raspberrypi-cm3 (dummy alias for raspberrypi2)
87d. bitbake rpi-hwup-image
88e. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
89f. Boot your RPI.
90
912.B. Images
92-===========
93* rpi-hwup-image
94 Hardware up image
95* rpi-basic-image
96 Based on rpi-hwup-image with some added features (ex: splash)
97* rpi-test-image
98 Image based on rpi-basic-image which includes most of the packages in this
99 layer and some media samples.
100
1013. Optional build configuration
102===============================
103
104There are a set of ways in which a user can influence different paramenters of the build.
105We list here the ones that are closely related to this BSP or specific to it. For the rest
106please check: http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html
107
1083.A. Compressed deployed files
109==============================
1101. Overwrite IMAGE_FSTYPES in local.conf
111 IMAGE_FSTYPES = "tar.bz2 ext3.xz"
1122. Overwrite SDIMG_ROOTFS_TYPE in local.conf
113 SDIMG_ROOTFS_TYPE = "ext3.xz"
1143. Overwrite SDIMG_COMPRESSION in local.conf
115 SDIMG_COMPRESSION = "xz"
116*Accommodate the values above to your own needs (ex: ext3 / ext4).
117
1183.B. GPU memory
119===============
120Variable : Details
121GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and
122 GPU. ARM gets the remaining memory. Min 16. Default 64.
123GPU_MEM_256 : GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by the
124 512MB RP. Overrides gpu_mem. Max 192. Default not set.
125GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the
126 256MB RP. Overrides gpu_mem. Max 448. Default not set.
127GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the
128 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
129
1303.C. Add purchased license codecs
131=================================
132To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in
133local.conf. Example:
134KEY_DECODE_MPG2 = "12345678"
135KEY_DECODE_WVC1 = "12345678"
136You can supply more licenses separated by comma. Example:
137KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
138
1393.D. Disable overscan
140=====================
141By default the GPU adds a black border around the video output to compensate for
142TVs which cut off part of the image. To disable this set this variable in
143local.conf:
144DISABLE_OVERSCAN = "1"
145
1463.E. Set overclocking options
147=============================
148The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo
149Mode" is officially supported by the raspbery and does not void warranty.
150Check the config.txt for a detailed description of options and modes. Example:
151# Turbo mode
152ARM_FREQ = "1000"
153CORE_FREQ = "500"
154SDRAM_FREQ = "500"
155OVER_VOLTAGE = "6"
156
1573.F. Video camera support with V4L2 drivers
158===========================================
159Set this variable to enable support for the video camera (Linux 3.12.4+ required)
160VIDEO_CAMERA = "1"
161
1623.G. Enable offline compositing support
163=======================================
164Set this variable to enable support for dispmanx offline compositing
165DISPMANX_OFFLINE = "1"
166
167This will enable the firmware to fall back to off-line compositing of
168Dispmanx elements. Normally the compositing is done on-line, during scanout,
169but cannot handle too many elements. With off-line enabled, an off-screen
170buffer is allocated for compositing. When scene complexity (number and sizes
171of elements) is high, compositing will happen off-line into the buffer.
172
173Heavily recommended for Wayland/Weston.
174
175See: http://wayland.freedesktop.org/raspberrypi.html
176
1773.H. Enable kgdb over console support
178=====================================
179To add the kdbg over console (kgdboc) parameter to the kernel command line,
180set this variable in local.conf:
181ENABLE_KGDB = "1"
182
1833.I. Boot to U-Boot
184===================
185To have u-boot load kernel image, set in your local.conf
186KERNEL_IMAGETYPE = "uImage"
187
188This will make kernel.img be u-boot image which will load uImage.
189By default, kernel.img is the actual kernel image (ex. Image).
190
1913.J. Image with Initramfs
192=========================
193To build an initramfs image :
194 * Set this 3 kernel variables (in linux-raspberrypi.inc for example)
195 - kernel_configure_variable BLK_DEV_INITRD y
196 - kernel_configure_variable INITRAMFS_SOURCE ""
197 - kernel_configure_variable RD_GZIP y
198 * Set the yocto variables (in linux-raspberrypi.inc for example)
199 - INITRAMFS_IMAGE = "<a name for your initramfs image>"
200 - INITRAMFS_IMAGE_BUNDLE = "1"
201 * Set the meta-rasberrypi variable (in raspberrypi.conf for example)
202 - KERNEL_INITRAMFS = "-initramfs"
203
2043.K. Device tree support
205=========================
206Device tree for RPi is only supported when using linux-raspberrypi 3.18+
207kernels.
208
209 * Set KERNEL_DEVICETREE (in conf/machine/raspberrypi.conf)
210 - the trailer is added to the kernel image before kernel install task.
211 While creating the SDCard image, this modified kernel is put on
212 boot partition (as kernel.img) as well as DeviceTree blobs (.dtb files).
213
214NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for
215 older kernel versions.
216
2173.L. Enable SPI bus
218====================
219When using device tree kernels, set this variable to enable the SPI bus
220ENABLE_SPI_BUS = "1"
221
2223.M. Enable I2C
223===============
224When using device tree kernels, set this variable to enable I2C
225ENABLE_I2C = "1"
226
2273.N. Enable PiTFT support
228=========================
229Basic support for using PiTFT screens can be enabled by adding
230below in local.conf:
231
232MACHINE_FEATURES += "pitft"
233 - This will enable SPI bus and i2c device-trees, it will also setup
234 framebuffer for console and x server on PiTFT.
235
236NOTE: To get this working the overlay for the PiTFT model must be build,
237 added and specified as well (dtoverlay=<driver> in config.txt)
238
239Below is a list of currently supported PiTFT models in meta-raspberrypi,
240the modelname should be added as a MACHINE_FEATURES in local.conf like below:
241 - MACHINE_FEATURES += "pitft <modelname>"
242
243List of currently supported models:
244 - pitft22
245 - pitft28r
246 - pitft35r
247
2483.O. Misc. display
249==================
250If you would like to use the Waveshare "C" 1024×600, 7 inch Capacitive Touch
251Screen LCD, HDMI interface (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
252Rev 2.1, please set the following in your local.conf
253WAVESHARE_1024X600_C_2_1 = "1"
254
2553.P. Enable UART
256===============
257RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
258
259RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
260needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
261operations - 60fps h264 decode, high quality deinterlace - which aren't
262performed on the ARM may be affected, and we wouldn't want to do that to users
263who don't want to use the serial port. Users who want serial console support on
264RaspberryPi3 will have to explicitely set in local.conf: ENABLE_UART = "1".
265
266Ref.: https://github.com/raspberrypi/firmware/issues/553
267 https://github.com/RPi-Distro/repo/issues/22
268
2694. Extra apps
270=============
271
2724.A. omxplayer
273==============
274omxplayer depends on libav which has a commercial license. So in order to be
275able to compile omxplayer you will need to whiteflag the commercial license
276adding to you local.conf:
277LICENSE_FLAGS_WHITELIST = "commercial"
278
2795. Board Configuration
280======================
281
2825.A. Audio Routing
283==================
284To load audio driver
285
286 modprobe snd-bcm2835
287
288To test audio playback
289
290 e.g. aplay test.wav
291
292Note that without HDMI connected this emits audio from the 3.5in jack connector
293as expected. However With an HDMI display connected there is no audio output from
294the jack connector.
295
296To force the audio routing via the 3.5in jack connector use
297
298 amixer cset numid=3 1
299
300Options to amixer cset are:
301
302 0=auto
303 1=headphones
304 2=hdmi
305
3066. Source code and mirrors
307==========================
308
309Main repo:
310 git://git.yoctoproject.org/meta-raspberrypi
311 http://git.yoctoproject.org/git/meta-raspberrypi
312
313Github mirror:
314 https://github.com/agherzan/meta-raspberrypi
315
316Bitbucket mirror:
317 https://bitbucket.org/agherzan/meta-raspberrypi
318
319
3207. Contributing
321===============
322
3237.A. Mailing list
324=================
325The main communication tool we use is a mailing list:
326 yocto@yoctoproject.org
327 https://lists.yoctoproject.org/listinfo/yocto
328
329Feel free to ask any kind of questions but always prepend your email subject
330with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and
331not a perticular 'meta-raspberrypi' mailing list.
332
333To contribute to this layer you should send the patches for review to the
334above specified mailing list.
335The patches should be compliant with the openembedded patch guidelines:
336http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
337
338
339When creating patches, please use something like:
340
341 git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
342
343When sending patches to mailing list, please use something like:
344
345 git send-email --to yocto@yoctoproject.org <generated patch>
346
3477.B. Github issues
348==================
349In order to manage and trace the meta-raspberrypi issues, we use github issues:
350 https://github.com/agherzan/meta-raspberrypi/issues
351
352If you push patches which have a github issue associated, please provide the
353issue number in the commit log just before "Signed-off-by" line(s). Example line
354for a bug:
355 [Issue #13]
356
357
3588. Maintainers
359==============
360
361 Andrei Gherzan <andrei at gherzan.ro>