Linux 5.10 series will be the next LTS kernel so it's likely to be the
new stable branch for linux-raspberrypi within a couple of months. Let's
get set up to test it now.
Signed-off-by: Paul Barker <pbarker@konsulko.com>
There is no need for a separate inc file for the v5.4 kernel recipe.
Variable assignments are simplified where possible after merging.
Signed-off-by: Paul Barker <pbarker@konsulko.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>
This patch is now backported into 5.4 stable
commit bc79abf4afea97d5ce682aa2bd1095fb74400916
so it should have been
deleted, otherwise its causing build/patch failures now as expected
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Needs some fixes from newer 5.4 kernel, e.g.:
1b940bbc5c55 Linux 5.4.56
df35e878d0a5 perf bench: Share some global variables to fix build with gcc 10
702d1b287fd2 perf env: Do not return pointers to local variables
73d2d6b421df perf tests bp_account: Make global variable static
to fix:
LINK perf/1.0-r9/perf-1.0/perf
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: invalid character
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: syntax error, unexpected end of file, expecting ';'
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: fatal error: unable to parse dynamic-list script file perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list
collect2: error: ld returned 1 exit status
Makefile.perf:609: recipe for target 'perf/1.0-r9/perf-1.0/perf' failed
make[2]: *** [perf/1.0-r9/perf-1.0/perf] Error 1
make[2]: *** Waiting for unfinished jobs....
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: invalid character
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: error: perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list:2:15: syntax error, unexpected end of file, expecting ';'
perf/1.0-r9/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/../../libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/10.1.0/ld: fatal error: unable to parse dynamic-list script file perf/1.0-r9/perf-1.0/plugins/libtraceevent-dynamic-list
collect2: error: ld returned 1 exit status
error: command 'arm-oe-linux-gnueabi-gcc' failed with exit status 1
cp: cannot stat 'perf/1.0-r9/perf-1.0/python_ext_build/lib/perf*.so': No such file or directory
Makefile.perf:571: recipe for target 'perf/1.0-r9/perf-1.0/python/perf.so' failed
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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>
Fixes:
ERROR: linux-raspberrypi-1_5.4.50+gitAUTOINC+856e83151c-r0 do_fetch: Fetcher failure: Unable to find revision 856e83151cf3f802c495585ac176bb135a08030f in branch rpi-5.4.y even from upstream
ERROR: linux-raspberrypi-1_5.4.50+gitAUTOINC+856e83151c-r0 do_fetch: Fetcher failure for URL: 'git://github.com/raspberrypi/linux.git;branch=rpi-5.4.y'. Unable to fetch URL from any source.
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Will let system hibernate and suspend, its initial setup, there is more
work needed to get it going fully without problems in userspace, which
will follow
Signed-off-by: Khem Raj <raj.khem@gmail.com>
perf fails to build without bfd patch still, therefore apply it to 5.4
as well.
Update to latest on 5.4 branch
Signed-off-by: Khem Raj <raj.khem@gmail.com>
5.4 is slated to be next hop for linux-raspberrypi, here add the
recipes, default is still 4.19, we can switch that later
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This updates brcmfmac43455-sdio.bin to version 7.45.189
and brcmfmac43430-sdio.bin to version 7.45.98.83
This updated upstream firmware also includes the changes from
0001-brcmfmac43455-sdio.txt-Follow-raspbian-change-for-bo.patch
so we remove this patch along with removing the do_clean_pc
function which is not needed anymore since we don't apply
any other patches to the upstream source.
Signed-off-by: Florin Sarbu <florin@balena.io>
Update linux kernel 4.14 series recipe for building with latest -rt
branch.
This fixes#474.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Kernel 4.19.y and above was patched to rename the Raspberry Pi Zero W dts.
Unfortunately, this modification was not propagated to previous kernels,
especially on the 4.14.y series which is still supported in this layer.
Thus, kernel 4.14.y would not build because correct .dts file is not found.
The aforementioned modification was merged as backport back in 4.14.y series.
Updating to the latest commit fixes the issue.
Signed-off-by: Francesco Giancane <francescogiancane8@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>
Fixes vc4 graphics issues seen with 4.19.56
Add -@ to device tree flags so we can debug/dump the
dtb with symbols, helps in debugging the overlays
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The official Raspbian with RPi4 support has an additional change for the
NVRAM WiFi configuration: boardflags3 value is changed from "0x48200100"
to "0x44200100". Without this change the interface never comes up. It is
confusing because the deb changelog doesn't say anything about it and
the repository upstream doesn't have this change. Asked for more info
here:
https://github.com/RPi-Distro/firmware-nonfree/issues/3
In the meanwhile we import this change. Also, we remove the .pc directory
which confuses the patch step.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* The branch rpi-4.19.y (and rpi-4.18.y) was recently force pushed and
current d65a0f76d3adcf86a6f5c614c68edb3aeb3b8590 nor previous
3c468fc8191d276e3e9efd976a0ff71271f3fc51 aren't included in any
branch, from my local checkout update:
e24b1f6c0c79..5f4b16e4a8d6 rpi-4.14.y -> up/rpi-4.14.y
e54efc381a97..22bb67b8e2e8 rpi-4.14.y-rt -> up/rpi-4.14.y-rt
3a1a31d70660...d58c595b013f rpi-4.18.y -> up/rpi-4.18.y (forced update)
48dfbb408fdd...ab8652c03fa0 rpi-4.19.y -> up/rpi-4.19.y (forced update)
[new branch] rpi-4.20.y -> up/rpi-4.20.y
[new branch] rpi-5.0.y -> up/rpi-5.0.y
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
select the rt kernel by adding in local.conf:
PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi-rt"
Signed-off-by: Phong Tran <tranmanphong@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>
Contains the following changes:
7f9c648dad64 drm/vc4: Move IRQ enable to PM path
which fixes an unbalanced IRQ enable warning, which was rapported
in #286
Signed-off-by: Mirza Krak <mirza.krak@northern.tech>
Signed-off-by: Gunnar Andersson <gandersson@genivi.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* 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>
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>
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>
We have a few recipes which only deploy files that go into the boot partition
and do not create packages to be installed into the rootfs. These recipes don't
need to run the usual packaging tasks so we can drop them to speed up the build
a little.
We also have a bunch of recipes that don't need the usual toolchain as they just
copy files or invoke native commands like `mkimage`. So to speed up the build a
little more we can set INHIBIT_DEFAULT_DEPS to avoid an unnecessary dependency
on the toolchain.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
From patch message:
In some cross build environments such as the Yocto Project build environment
it provides an ncurses library that is compiled differently than the host's
version. This causes display corruption problems when the host's curses
includes are used instead of the includes from the provided compiler are
overridden. There is a second case where there is no curses libraries at
all on the host system and menuconfig will just fail entirely.
The solution is simply to allow an override variable in check-lxdialog.sh
for environments such as the Yocto Project. Adding a CROSS_CURSES_LIB and
CROSS_CURSES_INC solves the issue and allowing compiling and linking against
the right headers and libraries.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
This packages only the firmware needed for the RaspberryPi boards. We use the
RPi-Distro as it's already maintained by the Raspbian guys and we get better
support for the RaspberryPi needed firmwares.
Signed-off-by: Andrei Gherzan <andrei@gherzan.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>
Currently, we are installing the rpi custom txt and fw files whenever
the meta-raspberrypi layer is included in bblayers.conf. This breaks
other machines that need to use the bcm43430 drivers but with alternate
txt or fw files.
Install these files only when "rpi" is in MACHINEOVERRIDES.
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 code to determine if we need to depend on lzop-native will fail as the local
defconfig file no longer exists.
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>