summaryrefslogtreecommitdiff
path: root/meta-raspberrypi/docs/extra-build-config.md
diff options
context:
space:
mode:
Diffstat (limited to 'meta-raspberrypi/docs/extra-build-config.md')
-rw-r--r--meta-raspberrypi/docs/extra-build-config.md254
1 files changed, 254 insertions, 0 deletions
diff --git a/meta-raspberrypi/docs/extra-build-config.md b/meta-raspberrypi/docs/extra-build-config.md
new file mode 100644
index 0000000000..806c238036
--- /dev/null
+++ b/meta-raspberrypi/docs/extra-build-config.md
@@ -0,0 +1,254 @@
+# Optional build configuration
+
+There are a set of ways in which a user can influence different paramenters of
+the build. We list here the ones that are closely related to this BSP or
+specific to it. For the rest please check:
+<http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
+
+## 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).
+
+## GPU memory
+
+* `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.
+
+* `GPU_MEM_1024`: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by
+ the 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
+
+See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
+
+## 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"
+
+See: <https://www.raspberrypi.org/documentation/configuration/config-txt/codeclicence.md>
+
+## 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 = "1"
+
+## Disable splash screen
+
+By default a rainbow splash screen is shown after the GPU firmware is loaded.
+To disable this set this variable in local.conf:
+
+ DISABLE_SPLASH = "1"
+
+## Boot delay
+
+The Raspberry Pi waits a number of seconds after loading the GPU firmware and
+before loading the kernel. By default it is one second. This is useful if your
+SD card needs a while to get ready before Linux is able to boot from it.
+To remove (or adjust) this delay set these variables in local.conf:
+
+ BOOT_DELAY = "0"
+ BOOT_DELAY_MS = "0"
+
+## 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. The following
+variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
+`SDRAM_FREQ` and `OVER_VOLTAGE`.
+
+Example official settings for Turbo Mode in Raspberry Pi 2:
+
+ ARM_FREQ = "1000"
+ CORE_FREQ = "500"
+ SDRAM_FREQ = "500"
+ OVER_VOLTAGE = "6"
+
+See: <https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md>
+
+## HDMI and composite video options
+
+The Raspberry Pi can output video over HDMI or SDTV composite (the RCA connector).
+By default the video mode for these is autodetected on boot: the HDMI mode is
+selected according to the connected monitor's EDID information and the composite
+mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a
+detailed description of options and modes. The following variables are supported in
+local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`,
+`CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`.
+
+Example to force HDMI output to 720p in CEA mode:
+
+ HDMI_GROUP = "1"
+ HDMI_MODE = "4"
+
+See: <https://www.raspberrypi.org/documentation/configuration/config-txt/video.md>
+
+## Video camera support with V4L2 drivers
+
+Set this variable to enable support for the video camera (Linux 3.12.4+
+required):
+
+ VIDEO_CAMERA = "1"
+
+## Enable offline compositing support
+
+Set this variable to enable support for dispmanx offline compositing:
+
+ DISPMANX_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>
+
+## Enable kgdb over console support
+
+To add the kdbg over console (kgdboc) parameter to the kernel command line, set
+this variable in local.conf:
+
+ ENABLE_KGDB = "1"
+
+## Disable rpi boot logo
+
+To disable rpi boot logo, set this variable in local.conf:
+
+ DISABLE_RPI_BOOT_LOGO = "1"
+
+## Boot to U-Boot
+
+To have u-boot load kernel image, set in your local.conf:
+
+ RPI_USE_U_BOOT = "1"
+
+This will select the appropriate image format for use with u-boot automatically.
+For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
+be overridden to select the exact kernel image type (eg. zImage) and u-boot
+command (eg. bootz) to be used.
+
+## 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"`
+
+## Enable SPI bus
+
+When using device tree kernels, set this variable to enable the SPI bus:
+
+ ENABLE_SPI_BUS = "1"
+
+## Enable I2C
+
+When using device tree kernels, set this variable to enable I2C:
+
+ ENABLE_I2C = "1"
+
+## Enable PiTFT support
+
+Basic support for using PiTFT screens can be enabled by adding below in
+local.conf:
+
+* `MACHINE_FEATURES += "pitft"`
+ - This will enable SPI bus and i2c device-trees, it will also setup
+ framebuffer for console and x server on PiTFT.
+
+NOTE: To get this working the overlay for the PiTFT model must be build, added
+and specified as well (dtoverlay=<driver> in config.txt).
+
+Below is a list of currently supported PiTFT models in meta-raspberrypi, the
+modelname should be added as a MACHINE_FEATURES in local.conf like below:
+
+ MACHINE_FEATURES += "pitft <modelname>"
+
+List of currently supported models:
+* pitft22
+* pitft28r
+* pitft35r
+
+## Misc. display
+
+If you would like to use the Waveshare "C" 1024×600, 7 inch Capacitive Touch
+Screen LCD, HDMI interface (<http://www.waveshare.com/7inch-HDMI-LCD-C.htm>) Rev
+2.1, please set the following in your local.conf:
+
+ WAVESHARE_1024X600_C_2_1 = "1"
+
+## Enable UART
+
+RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
+
+RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
+needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
+operations - 60fps h264 decode, high quality deinterlace - which aren't
+performed on the ARM may be affected, and we wouldn't want to do that to users
+who don't want to use the serial port. Users who want serial console support on
+RaspberryPi3 will have to explicitly set in local.conf:
+
+ ENABLE_UART = "1"
+
+Ref.:
+* <https://github.com/raspberrypi/firmware/issues/553>
+* <https://github.com/RPi-Distro/repo/issues/22>
+
+## Enable USB Peripheral (Gadget) support
+
+The standard USB driver only supports host mode operations. Users who
+want to use gadget modules like g_ether should set the following in
+local.conf:
+
+ ENABLE_DWC2_PERIPHERAL = "1"
+
+## Manual additions to config.txt
+
+The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
+the `config.txt` file if there is not a specific option above for the
+configuration you need. To add multiple lines you must include `\n` separators.
+If double-quotes are needed in the lines you are adding you can use single
+quotes around the whole string.
+
+For example, to add a comment containing a double-quote and a configuration
+option:
+
+ RPI_EXTRA_CONFIG = ' \n \
+ # Raspberry Pi 7\" display/touch screen \n \
+ lcd_rotate=2 \n \
+ '