diff options
| -rw-r--r-- | README | 150 |
1 files changed, 79 insertions, 71 deletions
| @@ -12,28 +12,30 @@ Contents: | |||
| 12 | ========= | 12 | ========= |
| 13 | 1. Description | 13 | 1. Description |
| 14 | 2. Yocto BSP Layer - Raspberry Pi | 14 | 2. Yocto BSP Layer - Raspberry Pi |
| 15 | 2.A. Compressed deployed files | 15 | 2.A. How to use it |
| 16 | 2.B. GPU memory | 16 | 2.B. Images |
| 17 | 2.C. Add purchased license codecs | 17 | 3. Optional build configuration |
| 18 | 2.D. Disable overscan | 18 | 3.A. Compressed deployed files |
| 19 | 2.E. Set overclocking options | 19 | 3.B. GPU memory |
| 20 | 2.F. Optional - Video camera support with V4L2 drivers | 20 | 3.C. Add purchased license codecs |
| 21 | 2.G. Optional - Enable offline compositing support | 21 | 3.D. Disable overscan |
| 22 | 2.H. Optional - Enable kgdb over console support | 22 | 3.E. Set overclocking options |
| 23 | 2.I. Images | 23 | 3.F. Video camera support with V4L2 drivers |
| 24 | 2.J. Boot to U-Boot | 24 | 3.G. Enable offline compositing support |
| 25 | 2.K. Image with Initramfs | 25 | 3.H. Enable kgdb over console support |
| 26 | 2.L. Device tree support | 26 | 3.I. Boot to U-Boot |
| 27 | 2.M. Optional - enable SPI bus | 27 | 3.J. Image with Initramfs |
| 28 | 3. Extra apps | 28 | 3.K. Device tree support |
| 29 | 3.A. omxplayer | 29 | 3.L. Enable SPI bus |
| 30 | 4. Board Configuration | 30 | 4. Extra apps |
| 31 | 4.A. Audio Routing | 31 | 4.A. omxplayer |
| 32 | 5. Source code and mirrors | 32 | 5. Board Configuration |
| 33 | 6. Contribution | 33 | 5.A. Audio Routing |
| 34 | 5.A. Mailing List | 34 | 6. Source code and mirrors |
| 35 | 5.B. Redmine | 35 | 7. Contribution |
| 36 | 7. Maintainers | 36 | 7.A. Mailing List |
| 37 | 7.B. Redmine | ||
| 38 | 8. Maintainers | ||
| 37 | 39 | ||
| 38 | 40 | ||
| 39 | 1. Description | 41 | 1. Description |
| @@ -64,18 +66,35 @@ layers: meta-oe, meta-multimedia | |||
| 64 | branch: master | 66 | branch: master |
| 65 | revision: HEAD | 67 | revision: HEAD |
| 66 | 68 | ||
| 67 | How to use it: | 69 | 2.A. How to use it |
| 68 | 70 | ================== | |
| 69 | 1. source poky/oe-init-build-env rpi-build | 71 | a. source poky/oe-init-build-env rpi-build |
| 70 | 2. Add needed layer to bblayers.conf: | 72 | b. Add needed layer to bblayers.conf: |
| 71 | - meta-raspberrypi | 73 | - meta-raspberrypi |
| 72 | 3 Set MACHINE to "raspberrypi"/"raspberrypi2" in local.conf | 74 | c. Set MACHINE to "raspberrypi"/"raspberrypi2" in local.conf |
| 73 | 4. bitbake rpi-hwup-image | 75 | d. bitbake rpi-hwup-image |
| 74 | 5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) | 76 | e. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used) |
| 75 | 6. Boot your RPI. | 77 | f. Boot your RPI. |
| 78 | |||
| 79 | 2.B. Images | ||
| 80 | -=========== | ||
| 81 | * rpi-hwup-image | ||
| 82 | Hardware up image | ||
| 83 | * rpi-basic-image | ||
| 84 | Based on rpi-hwup-image with some added features (ex: splash) | ||
| 85 | * rpi-test-image | ||
| 86 | Image based on rpi-basic-image which includes most of the packages in this | ||
| 87 | layer and some media samples. | ||
| 88 | |||
| 89 | 3. Optional build configuration | ||
| 90 | =============================== | ||
| 76 | 91 | ||
| 77 | 2.A. Optional - compressed deployed files: | 92 | There are a set of ways in which a user can influence different paramenters of the build. |
| 78 | ========================================== | 93 | We list here the ones that are closely related to this BSP or specific to it. For the rest |
| 94 | please check: http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html | ||
| 95 | |||
| 96 | 3.A. Compressed deployed files | ||
| 97 | ============================== | ||
| 79 | 1. Overwrite IMAGE_FSTYPES in local.conf | 98 | 1. Overwrite IMAGE_FSTYPES in local.conf |
| 80 | IMAGE_FSTYPES = "tar.bz2 ext3.xz" | 99 | IMAGE_FSTYPES = "tar.bz2 ext3.xz" |
| 81 | 2. Overwrite SDIMG_ROOTFS_TYPE in local.conf | 100 | 2. Overwrite SDIMG_ROOTFS_TYPE in local.conf |
| @@ -84,8 +103,8 @@ How to use it: | |||
| 84 | SDIMG_COMPRESSION = "xz" | 103 | SDIMG_COMPRESSION = "xz" |
| 85 | *Accommodate the values above to your own needs (ex: ext3 / ext4). | 104 | *Accommodate the values above to your own needs (ex: ext3 / ext4). |
| 86 | 105 | ||
| 87 | 2.B. Optional - GPU memory: | 106 | 3.B. GPU memory |
| 88 | =========================== | 107 | =============== |
| 89 | Variable : Details | 108 | Variable : Details |
| 90 | GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and | 109 | GPU_MEM : GPU memory in megabyte. Sets the memory split between the ARM and |
| 91 | GPU. ARM gets the remaining memory. Min 16. Default 64. | 110 | GPU. ARM gets the remaining memory. Min 16. Default 64. |
| @@ -96,8 +115,8 @@ GPU_MEM_512 : GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by the | |||
| 96 | GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the | 115 | GPU_MEM_1024: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by the |
| 97 | 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set. | 116 | 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set. |
| 98 | 117 | ||
| 99 | 2.C.Optional - Add purchased license codecs: | 118 | 3.C. Add purchased license codecs |
| 100 | ============================================ | 119 | ================================= |
| 101 | To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in | 120 | To add you own licenses use variables KEY_DECODE_MPG2 and KEY_DECODE_WVC1 in |
| 102 | local.conf. Example: | 121 | local.conf. Example: |
| 103 | KEY_DECODE_MPG2 = "12345678" | 122 | KEY_DECODE_MPG2 = "12345678" |
| @@ -105,15 +124,15 @@ KEY_DECODE_WVC1 = "12345678" | |||
| 105 | You can supply more licenses separated by comma. Example: | 124 | You can supply more licenses separated by comma. Example: |
| 106 | KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321" | 125 | KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321" |
| 107 | 126 | ||
| 108 | 2.D. Optional - Disable overscan: | 127 | 3.D. Disable overscan |
| 109 | ================================= | 128 | ===================== |
| 110 | By default the GPU adds a black border around the video output to compensate for | 129 | By default the GPU adds a black border around the video output to compensate for |
| 111 | TVs which cut off part of the image. To disable this set this variable in | 130 | TVs which cut off part of the image. To disable this set this variable in |
| 112 | local.conf: | 131 | local.conf: |
| 113 | DISABLE_OVERSCAN = "1" | 132 | DISABLE_OVERSCAN = "1" |
| 114 | 133 | ||
| 115 | 2.E. Optional - Set overclocking options: | 134 | 3.E. Set overclocking options |
| 116 | ========================================= | 135 | ============================= |
| 117 | The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo | 136 | The Raspberry PI can be overclocked. As of now overclocking up to the "Turbo |
| 118 | Mode" is officially supported by the raspbery and does not void warranty. | 137 | Mode" is officially supported by the raspbery and does not void warranty. |
| 119 | Check the config.txt for a detailed description of options and modes. Example: | 138 | Check the config.txt for a detailed description of options and modes. Example: |
| @@ -123,14 +142,13 @@ CORE_FREQ = "500" | |||
| 123 | SDRAM_FREQ = "500" | 142 | SDRAM_FREQ = "500" |
| 124 | OVER_VOLTAGE = "6" | 143 | OVER_VOLTAGE = "6" |
| 125 | 144 | ||
| 126 | 2.F. Optional - Video camera support with V4L2 drivers | 145 | 3.F. Video camera support with V4L2 drivers |
| 127 | ====================================================== | 146 | =========================================== |
| 128 | Set this variable to enable support for the video camera (Linux 3.12.4+ required) | 147 | Set this variable to enable support for the video camera (Linux 3.12.4+ required) |
| 129 | VIDEO_CAMERA = "1" | 148 | VIDEO_CAMERA = "1" |
| 130 | 149 | ||
| 131 | 2.G. Optional - Enable offline compositing support | 150 | 3.G. Enable offline compositing support |
| 132 | ================================================== | 151 | ======================================= |
| 133 | |||
| 134 | Set this variable to enable support for dispmanx offline compositing | 152 | Set this variable to enable support for dispmanx offline compositing |
| 135 | DISMANX_OFFLINE = "1" | 153 | DISMANX_OFFLINE = "1" |
| 136 | 154 | ||
| @@ -144,23 +162,13 @@ Heavily recommended for Wayland/Weston. | |||
| 144 | 162 | ||
| 145 | See: http://wayland.freedesktop.org/raspberrypi.html | 163 | See: http://wayland.freedesktop.org/raspberrypi.html |
| 146 | 164 | ||
| 147 | 2.H. Optional - Enable kgdb over console support | 165 | 3.H. Enable kgdb over console support |
| 148 | ================================================ | 166 | ===================================== |
| 149 | To add the kdbg over console (kgdboc) parameter to the kernel command line, | 167 | To add the kdbg over console (kgdboc) parameter to the kernel command line, |
| 150 | set this variable in local.conf: | 168 | set this variable in local.conf: |
| 151 | ENABLE_KGDB = "1" | 169 | ENABLE_KGDB = "1" |
| 152 | 170 | ||
| 153 | 2.I. Images | 171 | 3.I. Boot to U-Boot |
| 154 | =========== | ||
| 155 | * rpi-hwup-image | ||
| 156 | Hardware up image | ||
| 157 | * rpi-basic-image | ||
| 158 | Based on rpi-hwup-image with some added features (ex: splash) | ||
| 159 | * rpi-test-image | ||
| 160 | Image based on rpi-basic-image which includes most of the packages in this | ||
| 161 | layer and some media samples. | ||
| 162 | |||
| 163 | 2.J. Boot to U-Boot | ||
| 164 | =================== | 172 | =================== |
| 165 | To have u-boot load kernel image, set in your local.conf | 173 | To have u-boot load kernel image, set in your local.conf |
| 166 | KERNEL_IMAGETYPE = "uImage" | 174 | KERNEL_IMAGETYPE = "uImage" |
| @@ -168,7 +176,7 @@ KERNEL_IMAGETYPE = "uImage" | |||
| 168 | This will make kernel.img be u-boot image which will load uImage. | 176 | This will make kernel.img be u-boot image which will load uImage. |
| 169 | By default, kernel.img is the actual kernel image (ex. Image). | 177 | By default, kernel.img is the actual kernel image (ex. Image). |
| 170 | 178 | ||
| 171 | 2.K. Image with Initramfs | 179 | 3.J. Image with Initramfs |
| 172 | ========================= | 180 | ========================= |
| 173 | To build an initramfs image : | 181 | To build an initramfs image : |
| 174 | * Set this 3 kernel variables (in linux-raspberrypi.inc for example) | 182 | * Set this 3 kernel variables (in linux-raspberrypi.inc for example) |
| @@ -181,7 +189,7 @@ To build an initramfs image : | |||
| 181 | * Set the meta-rasberrypi variable (in raspberrypi.conf for example) | 189 | * Set the meta-rasberrypi variable (in raspberrypi.conf for example) |
| 182 | - KERNEL_INITRAMFS = "-initramfs" | 190 | - KERNEL_INITRAMFS = "-initramfs" |
| 183 | 191 | ||
| 184 | 2.L. Device tree support | 192 | 3.K. Device tree support |
| 185 | ========================= | 193 | ========================= |
| 186 | Device tree for RPi is only supported when using linux-raspberrypi 3.18+ | 194 | Device tree for RPi is only supported when using linux-raspberrypi 3.18+ |
| 187 | kernels. | 195 | kernels. |
| @@ -194,25 +202,25 @@ kernels. | |||
| 194 | NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for | 202 | NOTE: KERNEL_DEVICETREE is default enabled for kernel >= 3.18 and always disabled for |
| 195 | older kernel versions. | 203 | older kernel versions. |
| 196 | 204 | ||
| 197 | 2.M. Optional - enable SPI bus | 205 | 3.L. Eenable SPI bus |
| 198 | ============================== | 206 | ==================== |
| 199 | When using device tree kernels, set this variable to enable the SPI bus | 207 | When using device tree kernels, set this variable to enable the SPI bus |
| 200 | ENABLE_SPI_BUS = "1" | 208 | ENABLE_SPI_BUS = "1" |
| 201 | 209 | ||
| 202 | 3. Extra apps | 210 | 4. Extra apps |
| 203 | ============= | 211 | ============= |
| 204 | 212 | ||
| 205 | 3.A. omxplayer | 213 | 4.A. omxplayer |
| 206 | ============== | 214 | ============== |
| 207 | omxplayer depends on libav which has a commercial license. So in order to be | 215 | omxplayer depends on libav which has a commercial license. So in order to be |
| 208 | able to compile omxplayer you will need to whiteflag the commercial license | 216 | able to compile omxplayer you will need to whiteflag the commercial license |
| 209 | adding to you local.conf: | 217 | adding to you local.conf: |
| 210 | LICENSE_FLAGS_WHITELIST = "commercial" | 218 | LICENSE_FLAGS_WHITELIST = "commercial" |
| 211 | 219 | ||
| 212 | 4. Board Configuration | 220 | 5. Board Configuration |
| 213 | ====================== | 221 | ====================== |
| 214 | 222 | ||
| 215 | 4.A. Audio Routing | 223 | 5.A. Audio Routing |
| 216 | ================== | 224 | ================== |
| 217 | To load audio driver | 225 | To load audio driver |
| 218 | 226 | ||
| @@ -236,7 +244,7 @@ Options to amixer cset are: | |||
| 236 | 1=headphones | 244 | 1=headphones |
| 237 | 2=hdmi | 245 | 2=hdmi |
| 238 | 246 | ||
| 239 | 5. Source code and mirrors | 247 | 6. Source code and mirrors |
| 240 | ========================== | 248 | ========================== |
| 241 | 249 | ||
| 242 | Main repo: | 250 | Main repo: |
| @@ -250,10 +258,10 @@ Bitbucket mirror: | |||
| 250 | https://bitbucket.org/agherzan/meta-raspberrypi | 258 | https://bitbucket.org/agherzan/meta-raspberrypi |
| 251 | 259 | ||
| 252 | 260 | ||
| 253 | 6. Contributing | 261 | 7. Contributing |
| 254 | =============== | 262 | =============== |
| 255 | 263 | ||
| 256 | 6.A. Mailing list | 264 | 7.A. Mailing list |
| 257 | ================= | 265 | ================= |
| 258 | The main communication tool we use is a mailing list: | 266 | The main communication tool we use is a mailing list: |
| 259 | yocto@yoctoproject.org | 267 | yocto@yoctoproject.org |
| @@ -277,7 +285,7 @@ When sending patches to mailing list, please use something like: | |||
| 277 | 285 | ||
| 278 | git send-email --to yocto@yoctoproject.org <generated patch> | 286 | git send-email --to yocto@yoctoproject.org <generated patch> |
| 279 | 287 | ||
| 280 | 6.B. Redmine | 288 | 7.B. Redmine |
| 281 | ============ | 289 | ============ |
| 282 | In order to manage and trace the meta-raspberrypi issues, we use redmine: | 290 | In order to manage and trace the meta-raspberrypi issues, we use redmine: |
| 283 | http://redmine.gherzan.ro/projects/meta-raspberrypi | 291 | http://redmine.gherzan.ro/projects/meta-raspberrypi |
| @@ -291,7 +299,7 @@ for a bug: | |||
| 291 | [Bug #13] | 299 | [Bug #13] |
| 292 | 300 | ||
| 293 | 301 | ||
| 294 | 7. Maintainers | 302 | 8. Maintainers |
| 295 | ============== | 303 | ============== |
| 296 | 304 | ||
| 297 | Andrei Gherzan <andrei at gherzan.ro> | 305 | Andrei Gherzan <andrei at gherzan.ro> |
