This change moves the default image for all rpi machines.
We moved from rpi-sdimg to wic.bz2.
Also enable wic.bmap image generation.
From the documentation in [1], Bmaptool is a generic tool
for creating the block map (bmap) for a file and copying
files using the block map. The idea is that large files,
like raw system image files, can be copied or flashed a
lot faster and more reliably with bmaptool than with
traditional tools, like "dd" or "cp".
Example:
$: sudo bmaptool copy <image-name>.wic.xz /dev/<your-block-device>
[1] - https://github.com/intel/bmap-tools
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Add support for the Adafruit PiTFT Plus 320x240 2.8" TFT with
Capacitive Touchscreen, using the same patterns used for the other
versions of the PiTFT screens.
Signed-off-by: Erik Botö <erik.boto@gmail.com>
Since we enabled vc4graphics by default[1], there is no easy way to disable
it if needed. This patch introduces a variable (DISABLE_VC4GRAPHICS)
which when set to '1' will not add 'vc4graphics' to MACHINE_FEATURES
forcing the old behaviour.
One could use it in 'local.conf' for example.
[1] https://github.com/agherzan/meta-raspberrypi/pull/417
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
As of late[1], we defaulted to enabling vc4graphics in MACHINE_FEATURES.
Let's cleanup the machine configurations as per this change.
[1] https://github.com/agherzan/meta-raspberrypi/pull/417
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The PCIe bounce buffers were ported[1] in the kernel so we can remove
this limitation now.
[1] https://github.com/raspberrypi/linux/pull/3144
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Vc4graphics enables drm backend on wayland Compositor (weston & westeros)
Appending vc4graphics machine feature to use mesa drivers for OpenGL and
V4l2 for video.
Signed-off-by: Riyaz <Riyaz.l@ltts.com>
Currently, we use vc4-kms-v3d as the default overlay for VC4 but this
seems to break vc4 at runtime on RPi4. Change this to vc4-fkms-v3d for
now as this is the default Raspbian ons as well.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
This change is following the rename in the kernel:
commit 6f91b5dbfdb62a434571a73f2dc15181963e3bea
Author: Phil Elwell <phil@raspberrypi.org>
Date: Tue May 28 16:36:04 2019 +0100
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
As well, define the correct configuration for this machine.
Tested this with and without u-boot on CM3 (with internal storage) and
CM3+ without internal storage.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
rpi3 is based on cortex-a53 implementation which is armv8+crc+simd
now that OE-Core has the appropriate tunes, switch to using the new
tune file, bonus, is that chromium will be more optimized now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Raspberry Pi hardware requires firmware that supersedes or is not
present in the standard linux-firmware distribution. These files are
maintained in the RPi-Distro project on github.
Several attempts have been made to reconcile conflicts between what's in
linux-firmware and what the hardware needs. The existing approach is
functional but not maintainable since it combines material from three
repositories into a single package that claims to be linux-firmware.
Remove the appends that change the content of linux-firmware for rpi
hardware. Add two new recipes that follow the RPi-Distro repositories:
* firmware-nonfree which forked from linux-firmware and replaces
content is provided as linux-firmware-rpidistro;
* bluez-firmware which forked from (very old) bluez and adds content is
provided as bluez-firmware-rpidistro.
The packages are named to make clear that these come from RPi-Distro,
rather than generic sources. Licensing attempts to record the state of
licensing as documented in RPi-Distro.
Resolves: #298
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
BBFILES_DYNAMIC can be used to activate content only when given
layers are present.
For now just add qt5 layer to the BBFILES_DYNAMIC list
Signed-off-by: Khem Raj <raj.khem@gmail.com>
From the documentation:
SERIAL_CONSOLES - Provide a value that specifies the baud rate followed by
the TTY device name separated by a semicolon. Use spaces to separate
multiple devices
Fixes build error of `systemd-serialgetty` after recent commit 8218bec.
See: <https://www.yoctoproject.org/docs/current/ref-manual/ref-manual.html#var-SERIAL_CONSOLES>
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
This is helpful for example in the cases where the kernel doesn't
provide all the dtbs in arm64 as in arm.
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
[Issue #285] -- https://github.com/agherzan/meta-raspberrypi/issues/285
The openembedded-core commit 1860d9d3c62e2e94cd68a809385873ffd8270b6d
changed the names of DTB files in the deploy directory - they are no
longer prefixed with "${KERNEL_IMAGETYPE}-". Update make_dtb_boot_files
(which generates entries in IMAGE_BOOT_FILES) to take this change into
account.
Signed-off-by: Jonathan Haigh <jonathan.haigh@arm.com>
The attempt to Raspbian updated firmware blobs in packages separate from
linux-firmware introduced unresolvable conflicts with the standard
linux-firmware roll-up package. Revert to using an augmented
linux-firmware recipe that overrides and adds firmware from two Raspbian
repositories that have up-to-date images.
Closes#244
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
This along with some module and connman magic allows a RaspberryPi Zero
Wireless to tether to a host over USB.
dtoverlay=dwc2,dr_mode=peripheral
modprobe g_ether
connman enable gadget
connman tether gadget on
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
While wic is not a standard image, adding it to IMAGE_FSTYPES in
local.conf will fail unless a WKS_FILE is provided.
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
The dependency resolution code in bitbake has recently been optimized and this
seems to have slightly changed the behaviour of do_image_rpi_sdimg and
do_image_wic. We ensure that the main build artifacts are present by depending
on the relevant do_deploy and do_populate_sysroot tasks. However, we need to
ensure that other build tasks for these dependencies have also been executed
before we try to create our image. This can be achieved by adding a recursive
dependency on do_build, so that the do_build tasks of all recipes in the
dependency chain of do_image_rpi_sdimg/do_image_wic are executed before the
image function itself is executed.
The original issue seen here was that 'recipedata' files were not copied to
'tmp/deploy/licenses' as do_populate_lic for each dependency had not been ran
before the image creation function. The write_deploy_manifest function from
license.bbclass (listed in IMAGE_POSTPROCESS_COMMAND) therefore failed. Adding
the recursive dependency on do_build fixes this issue, ensuring do_populate_lic
runs before do_image_rpi_sdimg/do_image_wic.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
The kernel class is now using $KERNEL_PACKAGE_NAME to set the default
kernel package name in order to allow alternate kernel flavors.
This fixes the following bitbake warning:
Variable key RDEPENDS_${KERNEL_PACKAGE_NAME}-base (${KERNEL_PACKAGE_NAME}-image) replaces original key RDEPENDS_kernel-base ().
Signed-off-by: Ricardo Salveti <ricardo@opensourcefoundries.com>
* KERNEL_DEFCONFIG variable isn't used anywhere since this commit:
88478c3874
* it was replaced with KBUILD_DEFCONFIG:
recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig"
recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi3 ?= "bcm2709_defconfig"
recipes-kernel/linux/linux-raspberrypi.inc:KBUILD_DEFCONFIG_raspberrypi3-64 ?= "bcmrpi3_defconfig"
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
We can't just override KERNEL_IMAGETYPE in machine-specific conf files without
breaking the implementation of RPI_USE_U_BOOT. Instead we need to define a new
KERNEL_IMAGETYPE_DIRECT variable which will control the value when u-boot is not
in use. This new variable may then be overridden as needed without breaking our
u-boot support.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Fixes: 50fd319205 for raspberrypi3-64.
Fixes: #153
For raspberrypi3-64 set default kernel image to "Image".
"zImage" are not supported by arm64 platforms. And ".gz" images are not
handled by bootloader yet.
Signed-off-by: Loys Ollivier <lollivier@baylibre.com>
We used to have this as the default but there was a bug at some point in the
firmware which didn't work with compressed kernel images. We switched to Image
and never changed it back even though that bug is long history.
In this way we will stop carrying 15M of a kernel image. 4M looks much better.
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
This allow for bbappend files to be enabled when specific layers are
included.
Change-Id: Iecbcf0de85a64aad71605b60ecd3d9a2586fae85
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
We need to ensure that the bootloader and firmware files are present in the
deploy directory before creating wic images.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
For raspberrypi3-64 we need to use the Image or Image.gz format with u-boot
instead of the legacy uImage format. We also need to issue the 'booti' command
to boot the kernel instead of 'bootm'.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Use correct overlay for enabled vc4 accelaration
This enable 3D accelaration over dispmanx on vc4/rpi64
Enable audio over HDMI
Disable overscan to avoid graphics glitches
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit allow wic generated images to work when we want u-boot to
load the kernel image.
Augment IMAGE_BOOT_FILES with the proper entries when KERNEL_IMAGETYPE
is "uImage". More specifically add u-boot image and boot.scr to deployed files
and give the proper name to the kernel image accordingly.
Signed-off-by: Andrea Galbusera <gizero@gmail.com>
currently there is no way to override the default SERIAL_CONSOLE,
this variable needs to be set only if the developer didn't set it already from
another layer.
Signed-off-by: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
Building the stock wic image for raspberrypi3-64 failed to find dtbs listed in
IMAGE_BOOT_FILES. This patch updates the make_dtb_boot_files() function to
account for dtbs listed in KERNEL_DEVICETREE that do include a path prefix:
this is the case for things like broadcom/bcm2710-rpi-3-b.dtb (the dts dir
layout in the kernel sources is different for arm64). Use the same approach
already used for overlays/ dir. While at it also fix a typo in dtb overlay
code path comments.
Signed-off-by: Andrea Galbusera <gizero@gmail.com>
As well make all the variables assigned in a way that they can be
overwritten so we can give maximum flexibility to distros.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
As well make all the variables assigned in a way that they can be
overwritten so we can give maximum flexibility to distros.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Augment IMAGE_BOOT_FILES with entries picking up proper dtb[o]s. This allows for
building usable wic images once again.
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
This lets machines use ?= to choose their preferred kernel
e.g. 64bit rpi3 needs 4.9 minimum but default right now
is 4.4
At the same time it keeps the option for user to override
any of these settings via config metadata e.g. local.conf
Signed-off-by: Khem Raj <raj.khem@gmail.com>
U-boot configured with 'rpi_2_config' does not boot on a RaspberryPi 3.
Instead we need to configure with 'rpi_3_32b_config'.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
The kernel image is installed into the FAT32 boot partition and does not need to
also be installed into the rootfs.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
* We need to use the X11 modesetting driver with VC4.
* We need to build at least the mesa swrast DRI driver.
(its already the default so don't overwrite it to empty)
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Add support for .dtbo variant of overlays for the default KERNEL_DEVICETREE variable
(the list will be turned into "-overlay.dtb" by linux-raspberry-base.bbclass, if needed, depending on the kernel version)
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
The repository used by u-boot-rpi has not been updated since 2012. In the
meantime, mailine u-boot has gained Raspberry Pi support. All we need to do is
set UBOOT_MACHINE to an appropriate value in the machine config files.
Currently configs are only provided for raspberrypi and raspberrypi2. The master
branch of u-boot now also appears to have a config file for raspberrypi3 so
support for this can be added in the future when u-boot is upgraded in oe-core.
The mainline u-boot recipe creates the file "u-boot.bin" instead of
"u-boot.img".
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
The latest raspberrypi3 puts its console on ttyS0 instead of ttyAMA0 (like all
the preceding boards). Therefore pull this definition out of the common
include file and add it separately for each MACHINE.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
The support for PiTFT 28 inch resistive touchscreen is optional
and can be enabled by adding below in local.conf:
MACHINE_FEATURES += "pitft pitft28r"
While at it also fix a minor typo in README.
Signed-off-by: Petter Mabäcker <petter@technux.se>
- Add support to build overlays for PiTFT22 in the kernel.
- Setup a basic configuration for the driver
The PiTFT22 support is optional and can be enabled by adding below in
local.conf:
MACHINE_FEATURES += "pitft pitft22"
This patch also includes restructuring of kernel patches per kernel version
specific directories.
[Support #70]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Ensure that it's possible to add MACHINE_FEATURES from places that will
be executed before rpi-base.inc (like e.g. local.conf), without having
them overrided.
Signed-off-by: Petter Mabäcker <petter@technux.se>
The update of the kernel in 10a5bace87 to
3.18.16 missed the separate rtc overlays being replaced by the i2c-rtc
overlay.
Signed-off-by: Jonathan Liu <net147@gmail.com>
This requires some changes to KERNEL_DEVICETREE as the dtb
layout has changed to support overlays. This change also
makes us ready to support kernel 4.x series
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Set a high layer prio to ensure that meta-raspberrypi addons
are always prioritized above the depended layers.
Signed-off-by: Petter Mabäcker <petter@technux.se>
Reformat the tune-arm1176jzf-s.inc file.
There is not 'PACKAGE_EXTRA_ARCHS_tune-armv6hf-vfp'. Replace it by
'PACKAGE_EXTRA_ARCHS_tune-armv6hf'.
Change-Id: I0dd63b1dd3e1ebc7fe0600e93fb9d27a6a833cd9
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
We already switched to kernel v3.18 by default so we can activate
KERNEL_DEVICETREE by default too.
Change-Id: I69612be72f8254d462421112cf851e17a1ef24f8
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Add machine configuration file.
Change the kernel image name on SD card.
Use the defconfig for this machine (bcm2709_defconfig).
Change-Id: I6549d5f49b1ed32ef4d44aca6f7af4234618c1a8
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
In this way the modifications will be used on all RPI boards.
Change-Id: Ife10db876db85c1c4944028a0b49ccae4d8c0d41
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
*.conf files should hold board specific stuff while rpi-base.inc should
include configuration that is common for all Raspberry Pi boards.
Remove MACHINE_KERNEL_PR as we don't use it anymore.
Minor tweaks.
Change-Id: I5e1b12c1d224ac003d2890544beb036f1d5d8643
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Compile overlay device trees and put them in 'overlays/' folder
on sdcard RPi boot partition.
Change-Id: I3da0032b3c2618165008eec1fc94e97824d09099
Signed-off-by: Francois Muller <francois@concept-embarque.fr>
[RPi DT info] https://github.com/raspberrypi/documentation/blob/master/configuration/device-tree.md#part-3-using-device-trees-on-raspberry-pi
RPi bootloader detects a DT-ready kernel by checking for a specific trailer in kernel.img.
Using latest raspberrypi/firmware (firmware.inc) enables this check ability.
Using latest raspberrypi/tools (rpi-mkimage.bb) gives access to mkknlimg for adding the
required trailer to kernel image.
If KERNEL_DEVICETREE is filled in, 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).
If KERNEL_DEVICETREE is empty, this new process isn't operated, legacy one does.
KERNEL_DEVICETREE for RPi is really supported only starting from linux-rapsberry 3.18+
kernels, so as for now it defaults to empty (in machine config file).
Change-Id: Ifea71bbda729b8f3c47be7ba0ba03be5ad2ceeaa
Signed-off-by: Francois Muller <francois@concept-embarque.fr>
Add IMAGE_BOOT_FILES that defines a list of files to be placed in boot
partition. The variable is effectivey used with wic when building a SD
card image.
Change-Id: Ie7b2ea032349bf33ce7a9afc70e2fb4806ff9a04
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Use instead, the special created recipe mesa-gl which provides on libgl.
Change-Id: I5ed3c50a0a794f8ea63cc1906f0139ec47459fa6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* arm1176jzfshf uses -mtune=hard.
* Add -mfpu=vfp if vfp is included in TUNE_FEATURES
Signed-off-by: Kazuya Nishimura <kazuya.nisimura@gmail.com>
Change-Id: If81977cacbba052fa30c4a407ec65e93148d2ee3