Commit Graph

59 Commits

Author SHA1 Message Date
Jeff Ithier
4869bb1b95 Generalize the naming of the bootfiles deploy directory
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>
2020-08-10 11:10:11 +01:00
Andrei Gherzan
7a2624d5ba Revert "Generalize the naming of the bootfiles deploy directory"
This reverts commit a907c3261e.
2020-08-10 11:10:11 +01:00
Jeff Ithier
a907c3261e Generalize the naming of the bootfiles deploy directory
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>
2020-07-27 18:02:17 +01:00
Ricardo Salveti
12bbdd91b2 linux-raspberrypi: define kbuild defconfig for rpi cm3
Also define a default kbuild defconfig value for rpi cm3.

Signed-off-by: Ricardo Salveti <ricardo@foundries.io>
2020-01-08 11:24:51 +00:00
Michael Baisch
ef6555c09a linux-raspberrypi.inc: no longer set CONFIG_LOCALVERSION to empty string
Fixes: #533

Signed-off-by: Michael Baisch <baisch@tau-tec.com>
2019-12-23 14:13:18 +00:00
Andrei Gherzan
1e329d36c9 linux-raspberrypi: Build dtbs with dtbs make target for all 64bit targets
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>
2019-07-16 13:39:01 +01:00
Andrei Gherzan
f027daf51d linux-raspberrypi.inc: Explicitly set defconfig for raspberrypi4-64
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-07-04 15:47:13 +01:00
Andrei Gherzan
dbe5c91cb2 linux-raspberrypi: Include configuration for RaspberryPi3 defconfig
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2019-06-30 16:14:31 +01:00
Andrei Gherzan
9bfbd7a26a linux-raspberrypi: Build rpi poe fan driver
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2018-09-11 11:36:35 +01:00
Martin Jansa
e8f9a4e8f8 sdcard_image-rpi.bbclass: drop KERNEL_INITRAMFS variable
* 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>
2018-07-16 16:54:32 +01:00
Khem Raj
014408d1ac linux-raspberrypi: Disable serial on kernel cmdline if ENABLE_UART is unset
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-04 22:08:38 +01:00
Paul Barker
693f36dded linux-raspberrypi: Drop CONFIG_OABI_COMPAT completely
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>
2018-04-23 14:08:04 +01:00
Paul Barker
2c7eab2d0d linux-raspberrypi: Drop inappropriate forced settings
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>
2018-04-23 14:08:04 +01:00
Paul Barker
d2ead7c039 linux-raspberrypi: Don't set CONFIG_CMDLINE
We force the command line at runtime via cmdline.txt anyway.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2018-04-23 14:08:04 +01:00
Paul Barker
66103edbb8 linux-raspberrypi: Drop support for CMDLINE_NFSROOT_USB
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>
2018-04-23 14:08:04 +01:00
Paul Barker
be2d9b1bf6 linux-raspberrypi: Drop unnecessary configurations
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>
2018-04-23 14:08:04 +01:00
Martin Jansa
ea35d07b5b recipes: use oe.utils.conditional instead of deprecated base_conditional
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-02-01 13:40:32 +00:00
Martin Kelly
8643e28c3a linux-raspberrypi: fix build with devtool
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>
2018-01-31 20:38:58 +00:00
Martin Kelly
dfa7f00bab linux-raspberrypi: remove custom oldconfig command
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>
2018-01-31 20:38:58 +00:00
Paul Barker
0c41915260 linux-raspberrypi: Don't install empty firmware directory
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-12-04 17:53:26 +01:00
Michael Gloff
1ab83ec30a linux-raspberrypi: Replace /lib with ${nonarch_base_libdir}
Use standard /lib variable name and avoid
QA errors when usermerge DISTRO_FEATURE is enabled.

Signed-off-by: Michael Gloff <mgloff@hotmail.com>
2017-10-27 22:28:31 +02:00
Paul Barker
9d84186870 linux-raspberrypi: Keep framebuffer support when vc4graphics is enabled
Framebuffer support may be required for some monitors and applications.

Signed-off-by: Paul Barker <pbarker@toganlabs.com>
2017-10-09 19:31:28 +01:00
Andrei Gherzan
c716e0d30c linux-raspberrypi.inc: Define KBUILD_DEFCONFIG for rpi0 WiFi
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
2017-10-03 17:09:35 +01:00
Paul Barker
49f1a94512 linux-raspberrypi: Move LOADADDR setting to inc file
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>
2017-09-24 20:39:35 +01:00
Paul Barker
e7bac0bed5 linux-raspberrypi: Merge inc files
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>
2017-09-24 20:39:35 +01:00
Paul Barker
cbd2412fb4 linux-raspberrypi-base.bbclass: Drop
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>
2017-09-24 20:39:35 +01:00
Paul Barker
8311d16e59 linux-raspberrypi: Drop unnecessary code
* 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>
2017-09-24 20:39:35 +01:00
Khem Raj
6c4de0b5fe linux-raspberrypi: Build dtbs with dtbs make target for rpi64
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>
2017-09-20 15:50:20 +01:00
Zdzisław Krajewski
7a7d871cc1 linux-raspberrypi: Add option for disabling rpi boot logo.
Signed-off-by Zdzisław Krajewski <zdzichucb@gmail.com>
2017-09-01 11:14:19 +01:00
Andrea Ghittino
88478c3874 linux-raspberrypi: fix kernel configuration using cfg files
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>
2017-08-31 15:12:11 +01:00
Martin Jansa
56d0bdb5fe recipe: anchor regexps in COMPATIBLE_MACHINE
* 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>
2017-07-27 10:56:34 +02:00
Gianfranco Costamagna
4a2e37f96e linux-raspberrypi: Make CMDLINE overridable from outside
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>
2017-05-16 12:53:47 +02:00
Khem Raj
8990caf8b7 linux-raspberrypi: Add defconfig for raspberrypi3-64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2017-02-16 20:53:07 +01:00
Paul Barker
3ad29d11e7 Remove True option to getVar calls
getVar() now defaults to expanding by default.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
2017-01-18 16:42:59 +01:00
piotr.lewicki
6bd1bfe472 linux-raspberrypi: remove not needed bundle_initramfs_append() 2016-11-12 19:50:02 +01:00
Paul Barker
b34b4fe8fc linux-raspberrypi: rpi-mkimage is no longer needed
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>
2016-07-08 12:17:39 +01:00
Herve Jourdain
8a21c1dda6 linux-raspberrypi.inc: KERNEL_OUTPUT has been removed in kernel.bbclass
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
2016-06-15 00:50:57 +01:00
Andrei Gherzan
37c2366724 linux-raspberrypi: Set baudrate and use serial0 for kgdboc
The driver for 8250 defaults to 9600. We setup it on 115200 to be consistent
with getty configuration.

The firmware can do its magic with kgdboc too as it searches and replaces
=serial0 and =serial1. So, use serial0 for kgdboc too.

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-04-22 16:39:52 +02:00
Theodor Gherzan
3fe96d9212 linux-raspberrypi: Make use of serial aliases
The firmware will parse cmdline and replace serial aliases with the
actual serial console port.

Signed-off-by: Theodor Gherzan <theodor@resin.io>
2016-04-21 22:25:53 +02:00
Alan Stice
54ecd3402d linux-raspberrypi: Rename linux.inc to linux-rpi.inc Rename linux.inc to prevent it from impacting other machines
Signed-off-by: Alan Stice <alan@alanstice.com>
2016-04-13 04:17:22 +02:00
Petter Mabäcker
9797874a23 pitft: Add support for pitft28r
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>
2016-04-13 03:16:02 +02:00
Jonathan Liu
807cff5e5b linux-raspberrypi: update path to mkknlimg
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-03-01 15:04:03 +01:00
Petter Mabäcker
0d5aff5161 pitft: Add basic support for PiTFT
Add basic support for PiTFT display by using device-trees.

In order get it working below configurations must be active 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.

[Support #70]

Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-03-01 14:38:03 +01:00
Andrei Gherzan
e9de6d816d linux-raspberrypi: Make sure we have initramfs image before running mkknlimg
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-02-28 12:48:20 +01:00
Stéphane Cerveau
9675f8f09a linux-raspberry.inc: add initramfs support
append initramfs creation to install RPi bootloader trailer

Signed-off-by: Stéphane Cerveau <voxtok@voxtok.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
2016-02-28 12:48:20 +01:00
Jonathan Liu
c25a43a3b4 linux-raspberrypi: update path to mkknlimg
Signed-off-by: Jonathan Liu <net147@gmail.com>
2016-02-28 10:48:55 +01:00
Maciej Borzecki
053cb6ea0d linux-raspberrypi: use STAGING_LIBEXECDIR_NATIVE for rpi-mkimage tools
The rpi-mkimage tools are installed ${libexecdir}/rpi-mkimage within
native sysroot, where ${libexecdir} resolves to /usr/libexec. This caused
the build to fail due to recipe trying to access ${libdir}/mkimage. Fix
the paths to use an unambiguous STAGING_LIBEXECDIR_NATIVE so that a
proper location is used.

Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
2016-02-26 20:42:19 +01:00
Jonathan Liu
f22ecc425c linux-raspberrypi.inc: use SRCPV instead of SRCREV for PV
SRCPV is intended to be used by PV. Using SRCREV for PV is incorrect.

Signed-off-by: Jonathan Liu <net147@gmail.com>
2015-10-13 19:33:03 +02:00
Mauro Carvalho Chehab
b47cbb6996 linux-raspberrypi.inc: Make kgdboc kernel param optional
The kernel debugger over console (kgdboc) parameter is being added
unconditionally to the kernel command line but this means that the
kernel will stop and wait for gdb to attach in case of a exception
or when sending a sysrq-g key. This behaviour may not be what most
users wants that are not remotely debugging the kernel over serial
console so make it optional by adding a ENABLE_KGDB config option.

Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
[javier: Extended commit message and made it conditional]
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
2015-08-10 00:36:20 +02:00
Petter Mabäcker
4a4373c02d devicetree: auto-disable dts for old kernels
After '6392a63 rpi-base.inc: Use KERNEL_DEVICETREE by default' was
introduced, kernel versions < 3.18 might not be buildable. Since full
device tree support was introduced in 3.18 this change ensures that all
kernel < 3.18 will automatically disable device tree.

Signed-off-by: Petter Mabäcker <petter@technux.se>
2015-06-05 14:49:46 +02:00