* The defconfigs from the RPi Kernel set `powersave` as the default
CPU governor, which is a bad idea as that reduces performance by
setting the CPU frequency to the minimum one.
* In case of a Yocto build user-space is not configured by default
to change the CPU governor, so `powersave` will remain the CPU
governor and it will slow down everything.
* I submitted a fix for those defconfigs to upstream here:
https://github.com/raspberrypi/linux/pull/5666
However, we shouldn't wait until that is accepted and backported
to all the stable branches (if ever is).
* This patch unsets the selection of `powersave` as the default CPU
governor.
* Then the CPU governor that will be selected as default after this
patch will be the Linux's default one that is either `ondemand` or
`schedutil` depending on the Kernel version.
Signed-off-by: Carlos Alberto Lopez Perez <clopez@igalia.com>
This is so that uboot fit images have an entry point that matches the
LOADADDR that everything is expecting.
Signed-off-by: AJ Bagwell <anthony.bagwell@hivehome.com>
* openembedded-core/scripts/contrib/convert-spdx-licenses.py .
...
All files processed with version 0.01
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This is the result of automated script conversion:
oe-core/scripts/contrib/convert-overrides.py .
converting the metadata to use ":" as the override character instead of "_".
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
'recipes-kernel/linux/linux-yocto.inc' already inherits 'kernel'.
This commit removes the superfluous one in 'linux-raspberrypi.inc'.
Signed-off-by: Jonas Vautherin <jonas.vautherin@protonmail.ch>
The functionality provided by this compile append is already present in
kernel-devicetree.bbclass since oe-core commit:
https://github.com/openembedded/openembedded-core/commit/74619de02774
The md5sums of the generated dtbs for raspberrypi3-64 and raspberrypi4-64 do
not change with this patch applied.
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Instead of generating cmdline.txt in the kernel recipe, it is generated
in a standalone recipe and pulled in as a dependency of the bootfiles
recipe. This simplifies the process of using a linux-yocto,
linux-mainline or similiar kernel recipe instead of linux-raspberrypi.
In the rpi-cmdline recipe the command line is built from fragments which
can all be easily overridden. The variables `SERIAL` and `CMA` are
renamed to `CMDLINE_SERIAL` and `CMDLINE_CMA` for consistency. The
cmdline.txt file is created in the do_compile step to allow further
customisation via do_compile_append if needed.
Signed-off-by: Paul Barker <pbarker@konsulko.com>
This allows us to drop all of the custom config patching in
linux-raspberrypi.inc. It also allows the kernel config to be checked
during the build for any discrepancies between the selected config
options and the resulting .config file - this identified that
`CONFIG_DRM_VC4` depends on `CONFIG_SND` and `CONFIG_SND_SOC`.
Signed-off-by: Paul Barker <pbarker@konsulko.com>
Added imx219.dtbo file in the overlays, and added dtoverlay in
/boot/config.txt define based.
To enable Sony Raspberry pi camera imx219 sensor, need to set
the variable RASPBERRYPI_CAMERA_V2 as 1.
In future, we can add any camera overlays here to support and
use them with libcamera.
Signed-off-by: Madhavan Krishnan <madhavan.krishnan@linaro.org>
The raspberry pi 4 variant has a BCM2711 chip, however it still
uses the same boot files as the BCM2835 used in previous generations.
This change generalizes the naming of the directory generated in the
$DEPLOY_DIR to avoid the implication that the files are only
meant for the BCM2835.
Signed-off-by: Jeff Ithier <ithijme@gmail.com>
We already do this for rpi3-64 and we will need it for rpi4-64 as well.
See 6c4de0b5fe for more details.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* use INITRAMFS_SYMLINK_NAME from new kernel-artifact-names.bbclass
instead of KERNEL_INITRAMFS
* the documentation says that KERNEL_INITRAMFS should be used to
define extension of initramfs, but in linux-raspberrypi.inc it's
defined only to 1 or empty based on INITRAMFS_IMAGE_BUNDLE variable
and I don't see any code in meta-raspberry or oe-core which would
use KERNEL_INITRAMFS to actualy name the initramfs artifact to create:
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin
used in classes/sdcard_image-rpi.bbclass
* also fix the assumption that there is -${MACHINE} suffix in:
${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin
because that's defined as KERNEL_IMAGE_SYMLINK_NAME and some DISTROs
might use different value
* this depends on oe-core changes which were merged today:
http://git.openembedded.org/openembedded-core/commit/?id=7d0ef0eaa1bfe97015a774c26f5791622e7e8b12
* this is the last piece of previous pull-request:
https://github.com/agherzan/meta-raspberrypi/pull/159
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
There's no reason to support the old, outdated ARM OABI when upstream
linux-raspberrypi doesn't support this by default.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
CONFIG_BLK_DEV_DRBD: Deciding whether to use the in-kernel DRBD module or the
external drbd recipe in meta-networking is a policy decision and doesn't belong
in our BSP layer.
CONFIG_LEGACY_PTYS: These are legacy for a reason. They're not enabled in the
defconfig so they shouldn't be required for rpi devices. Let's drop this here,
it can be added back in a distro layer where (if) needed.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
This is obsolete, undocumented and won't work anyway since we force the kernel
command line to ${CMDLINE} via the cmdline.txt file.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
KERNEL_ENABLE_CGROUPS: This is obsolete, all required config options for cgroups
are enabled by default.
KERNEL_INITRAMFS: Some of the config options we set are already enabled by
default.
UDEV_GE_141: This is long obsolete and all the required config options are
already set in the defconfig.
ARM_KEEP_OABI: AEABI=y and OABI_COMPAT=n are already set in the defconfig.
CONFIG_LOCALVERSION_AUTO: This setting is already disabled in the defconfig.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
Currently, building linux-raspberrypi with "devtool build" breaks
because ${B}.config doesn't yet exist when do_configure_prepend runs.
Fix this by taking some logic from kernel.bbclass do_configure to populate
${B}.config before do_configure_prepend.
The full explanation for why this is necessary is fairly complex:
- In devtool builds, externalsrc.bbclass gets inherited and sets a list of
SRCTREECOVEREDTASKS, which don't get run because they affect the source tree
and, when using devtool, we want the developer's changes to be the single
source of truth. kernel-yocto.bbclass adds do_kernel_configme to
SRCTREECOVEREDTASKS, so it doesn't run in a devtool build., In a normal
non-devtool build, do_kernel_configme creates ${B}.config.
- Normally (e.g. in linux-yocto), it would be OK that do_kernel_configme
doesn't run, because the first few lines of do_configure in kernel.bbclass
populate ${B}.config from either ${S}.config (if it exists) for custom
developer changes, or otherwise from ${WORDIR}/defconfig.
- In linux-raspberrypi, we add do_configure_prepend, which tweaks
${B}.config. Since this runs *before* the kernel.bbclass do_configure,
${B}.config doesn't yet exist and we hit an error. Thus we need to move
the logic from do_configure up to before our do_configure_prepend. Because
we are copying only a portion of do_configure and not the whole thing,
there is no clean way to do it using OE functionality, so we just
copy-and-paste.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
This command is done (with more correct flags) in kernel.bbclass's
kernel_do_configure. Since we inherit that and prepend to it, we don't
need to run it ourselves, as we end up just running it twice.
Signed-off-by: Martin Kelly <mkelly@xevo.com>
There is no reason to continue supporting pre-4.8 series kernels so we can move
the setting of LOADADDR to the common inc file.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
There is no need to have 2 separate inc files any more and the existing code has
several duplications.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
The only remaining function in linux-raspberrypi-base was split_overlays() which
is used in the sdcard_image-rpi class. So we can move this function over and
drop the now-empty linux-raspberrypi-base class.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
* The kerneltype variable is not used anywhere after being set.
* The manipulation of KERNEL_DEVICETREE is effectively a no-op, we read the
current value in get_dts() and store this back into the same variable.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
OE currently builds dtb files with its own custom targets by
specifying each dtb file as makefile target, this creates bad
dtb for rpi64 bit. This patch calles 'make dtbs' at the end
which regenerates the correct dtb files
This makes the vc4 initialize properly on rpi64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
In tree configurations are now used to build the kernel and
it is possible to extend the config via bbappend and cfg fragments
Fix issue 14
Signed-off-by: Andrea Ghittino <aghittino@gmail.com>
* bitbake is using re.match, so raspberrypi actually matches with anything
^raspberrypi.* which currently works, but it will also match with hypothetical
raspberrypi-is-no-more-this-is-banana-now MACHINE which isn't intended by
this COMPATIBLE_MACHINE.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
currently there is no way to override the default CMDLINE,
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>
Recent versions of the Raspberry Pi firmware can directly handle kernel images
which use device tree. The modifications made by rpi-mkimage are no longer
needed.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>