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>
This avoids a missing rdep errors seen sometimes when switching
compilers or graphic driver providers
ERROR: userland-20181120-r0 do_package_qa: QA Issue: /usr/lib/libWFC.so contained in package userland requires li bEGL.so.1, but no providers found in RDEPENDS_userland? [file-rdeps]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The userland should only provide egl libraries rather than gl libraries,
or else it will cause conflicts with other libgl providers like mesa.
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
- Drop enabling linuxfb, now we can get eglfs going
- Enable kms and gbm feature when using vc4graphics driver
- No need to set OE_QTBASE_EGLFS_DEVICE_INTEGRATION when using vc4graphics
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Added handy tool which can be used to trace down how gpio on RPI are
configured + add possibility to update.
Signed-off-by: Marek Belisko <marek.belisko@open-nandra.com>
* Rephrased some paragraphs
* Better organised the section itself
* Added guideline and formatting examples for commit log messages
Signed-off-by: Hugo Hromic <hhromic@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>
These names are mapped to mesa equivalent rproviders
when using vc4 rdep should be on libegl1 which is then
mapped to libegl-mesa since thats what provides libegl1
when using mesa. The libegl is not a global name for this
library
Fixes
ERROR: userland-20181120-r0 do_package_qa: QA Issue: /usr/lib/libWFC.so
contained in package userland requires libEGL.so.1, but no providers
found in RDEPENDS_userland? [file-rdeps]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
RPi-Distro has augmented their bluetooth infrastructure to support new
features. It also correctly handles restart, which fixes problems when
faults cause hciattach to exit. Replace brcm43438.service with the
upstream ones.
Resolves: #330
Signed-off-by: Peter A. Bigot <pab@pabigot.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>
- Upgrade to latest omxplayer with ffmpeg 4.x
- drop backported patches which are not needed
- Make vc4 support patch conditionally apply only when vc4graphics is used
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Control the installs via MACHINE_FEATURES and avoid almost duplicate
recipe
Adjust other recipes to depend on userland now
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This provides out of box configuration for QT/eglfs use
when x11/wayland arent used but plain EGLFS is in play
Signed-off-by: Khem Raj <raj.khem@gmail.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>
vc4-fkms-v3d needs dispmanx, its DRM VC4 V3D driver on top of the dispmanx
display stack, this does not work with 4.14 kernel and since we always
use vc4graphics on 64bit, just keep using vc4-kms-v3d dtbo which should
enable right graphics
Tested with core-image-sato, running glxgears with 55.5fps in
raspberrypi3-64
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This causes glamor APIs to be disabled and glxgears run very slow
like 1FPS, without this it speeds up to 55.5fps
Signed-off-by: Khem Raj <raj.khem@gmail.com>
when running -ctestimage target, it fails because of errors it finds in
Xorg logs
| Log:
/mnt/a/yoe/build/tmp/work/raspberrypi3-yoe-linux-gnueabi/core-image-sato/1.0-r0/target_logs/Xorg.0.log
| -----------------------
| Central error: [ 14.760] (EE) AIGLX error: dlopen of /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
Therefore we enable swrast gallium drivers to make xorg happy
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Update to latest from upstream
* Backport OpenSSL 1.1.x related patches for ffmpeg
* Pass --cpu based on machine, instead of hardcoding it to arm1176jzf-s
* Make --cc, --cxx and --ld be used from environment, helps building
with clang
* It requires userland graphics driver to build to encode that in
COMPATIBLE_HOST
Signed-off-by: Khem Raj <raj.khem@gmail.com>
When bitbaking image rpi-hwup-image, a warning message is generated
to inform he user that the image is deprecated. The warning message
contains a suggestion of a non-deprecated image to use instead.
Previous to this commit, core-image-minimal was the suggested alternate
image. This was a subpar suggestion, because rpi-hwup-image packages
the kernel modules in the image, but core-image-minimal does not. This
can lead to confusion for the user, who may not immediately realize that
their kernel modules are no longer in the image. With this commit, the
warning message now suggests core-image-base, which packages the kernel
modules in its image.
This change was suggested by Khem Raj on the Yocto project mailing list.
Signed-off-by: Steve Pavao <stevep@korgrd.com>
Licesnse-Update: Limit the check to license text alone and not until end of file
and point to correct lines otherwise license is unchanged
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update to v2.46 to support the RPi 3 B+.
Patches reworked as follow:
* 0001-Add-initial-cross-compile-support.patch: rebase to current
upstream
Signed-off-by: Daniel Rank <dwrank@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>
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>
[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>
mesa-demos demand libgles1 and userland driver does not have it, therefore make it
conditional on choice of graphics driver, remove it when using userland driver and
keep it when using vc4 graphics driver.
Signed-off-by: Khem Raj <raj.khem@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>
* there is runtime dependency on rpi-u-boot-scr from u-boot itself:
recipes-bsp/u-boot/u-boot_%.bbappend:RDEPENDS_${PN}_append_rpi = " rpi-u-boot-scr"
* but that's not enough to ensure that rpi-u-boot-scr:do_deploy is
finished before do_image_rpi_sdimg and for
${DEPLOY_DIR_IMAGE}/boot.scr to exist in time
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
* instead of using ${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb use
the entries from KERNEL_DEVICETREE
* basename is still needed because raspberrypi3-64 is using:
broadcom/bcm2710-rpi-3-b.dtb and the ${DEPLOY_DIR_IMAGE} doesn't
contain any directories for DTBs and we cannot remove broadcom/
prefix, because then "make bcm2710-rpi-3-b.dtb" from
kernel-devicetree.bbclass will fail with:
make[3]: *** No rule to make target 'arch/arm64/boot/dts/bcm2710-rpi-3-b.dtb'. Stop.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
The patch introduced in 237e0c7 is now fixed upstream in gstreamer-base-1.14.1, hence drop it.
See: <2f3ff84f40>
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
The patch in 237e0c7 used a define guard that clashes with an actual feature of Khronos (EGL_KHR_stream).
This makes some packages such as `qtbase` to think that the outdated Krhonos in userland has newer features.
This fix uses a more specific name for the relevant define guard (EGL_KHR_uint64_typedef).
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
The `gstreamer1.0-plugins-base` package version `1.14` uses `EGL_EXT_image_dma_buf_import`, which
expects the `EGLuint64KHR` typedef that is present in recent versions of Khronos.
However, the older version included in userland does not provide it.
This patch backports the missing typedef from recent Khronos into userland.
See: <https://www.khronos.org/registry/EGL/api/EGL/eglext.h>
Submitted to userland in <https://github.com/raspberrypi/userland/pull/467>
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
1.14 does not support this option
Fixes
QA Issue: gstreamer1.0-plugins-bad: configure was passed unrecognised options: --disable-dispmanx [unknown-configure-option]
Signed-off-by: Khem Raj <raj.khem@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>
Wayland was updated recently in Poky, and now includes `libwayland-egl`:
commit 8097bf7012a0d97d3b8b48eceb5dc20cc4ae7ca9
Author: Denys Dmytriyenko <denys@ti.com>
Date: Tue Apr 10 15:06:09 2018 -0400
wayland: upgrade to 1.15.0
Official announcement:
https://lists.freedesktop.org/archives/wayland-devel/2018-April/037767.html
| libwayland-egl is now part of libwayland, and will presumably be removed
| from mesa in the not too distant future.
Update mesa recipe by removing corresponding libwayland-egl entries.
(From OE-Core rev: 6e5952fcfc13ff4b63c9376bd41a1dbba957f425)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
However, the `userland` ships its own version of the library (see issue #243).
Until further testing, for now discard the version in `wayland` in favour of the version in `userland`.
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
Unique bluetooth device addresses are not assigned correctly with some
firmware, resulting in a fixed default address. Use the same utility as
raspbian does to initialize the device.
Closes#236
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Remove the material covered by the Cypress license from the bluez5
package and move it to its own package, derived directly from the
upstream sources.
Closes#224
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Type=simple is wrong: it allows bluetooth.service to start before the
uart is configured, resulting in hci0 command tx timeout errors.
Type=oneshot blocks follow-up units until the ExecStart completes.
Add RemainAfterExit since system state has changed as a result of the
unit.
Also add a BindsTo for the device that we're going to use.
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
[Issue #239] -- https://github.com/agherzan/meta-raspberrypi/issues/239
The patch 0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch has been
applied to the upstream U-Boot repo and is now in the release that
openembedded-core uses so remove it from meta-raspberrypi's U-Boot
bbappend.
Signed-off-by: Jonathan Haigh <jonathan.haigh@arm.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>
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>
RDEPENDS is fairly meaningless for recipes which don't create a package to be
installed into the rootfs. Instead we should be using DEPENDS to guarantee
correct ordering of build tasks.
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>
Added support for and documented the following new extra build options:
* gpu_freq overclocking option
* disable boot rainbow splash screen
* configure the boot delay after GPU firmware loading
* configure common HDMI and composite video options
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
Updated BCM43430A1.hcd to bluez-firmware_1.2-3+rpt4.1.debian.tar.xz
Added BCM4345C0.hcd for RasperryPi 3B+ support
Files from https://github.com/RPi-Distro/bluez-firmware at commit
50fa5628b5c2fd6c59090fb18f02af9fd98c3170
Closes Issue #222
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
If I am not mistaken, many desktops (kde/lxqt/xfce..) use udisks2 to ask for
devices which can be mounted. Without this patch the initial boot partition
can be mounted by a single click on folder displayed on desktop or file manager.
Why it is suggested to add this recipe to an image:
* It removes annoying icon in desktop/file manager.
* The initial boot partition is vfat. Unpriviledged users can modify
content. E.g by removing files accidently, images can be turned into
non-booting condition easily. And from security point of view, it is a
disaster.
FWIW: Have similar in all my BSPs vor very long time.
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Currently oe-core enables dri3 only for x11 AND vulcan. Although patch enabling
dri3 by default in oe-core was sent out, make sure here dri3 is enabled -
whatever oe-core suggest in the future.
Signed-off-by: Andreas Müller <schnitzeltony@gmail.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>
fixes:
WARNING: gstreamer1.0-omx-1.12.4-r0 do_patch:
Some of the context lines in patches were ignored. This can lead to incorrectly applied patches.
The context lines in the patches can be updated with devtool:
devtool modify <recipe>
devtool finish --force-patch-refresh <recipe> <layer_path>
Then the updated patches and the source tree (in devtool's workspace)
should be reviewed to make sure the patches apply in the correct place
and don't introduce duplicate lines (which can, and does happen
when some of the context is ignored). Further information:
http://lists.openembedded.org/pipermail/openembedded-core/2018-March/148675.htmlhttps://bugzilla.yoctoproject.org/show_bug.cgi?id=10450
Details:
Applying patch 0001-config-files-path.patch
patching file config/bellagio/gstomx.conf
Hunk #1 succeeded at 1 with fuzz 2.
Hunk #2 succeeded at 9 with fuzz 2.
patching file config/rpi/gstomx.conf
Hunk #8 succeeded at 63 with fuzz 2.
Hunk #10 succeeded at 82 with fuzz 2.
Hunk #11 succeeded at 92 with fuzz 2.
Now at patch 0001-config-files-path.patch
deleted obsolete `gstreamer1.0-omx` directory with duplicated patches that are also in `gstreamer1.0-omx-1.12`.
made file naming for `gstreamer1.0-omx_%.bbappend` consistent with the rest of the layer recipes.
Signed-off-by: Hugo Hromic <hhromic@gmail.com>
These renames are recently added
dd98890106
Some packages e.g. libSDL2 has started using the new names
and are resulting in undefined symbols e.g.
| /mnt/a/oe/build/tmp/work/cortexa7t2hf-neon-vfpv4-bec-linux-gnueabi/libsdl2-mixer/2.0.2-r0/recipe-sysroot/usr/lib/libb
rcmEGL.so: undefined reference to `wl_resource_post_error'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Remove the following unused patches:
1. 0002-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
2. 0003-fix-decoder-flushing.patch
Signed-off-by: Maxin B. John <maxin.john@intel.com>
A previous patch changed the BT serial device to the alias, but did not
update the device dependency resulting in the service failing to start
on boot.
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>
Recently wic was modified to no longer exclude /boot from partitions
added to fstab. The --on parameter in many kickstart specifications
insufficiently resolved the MMC device, resulting in attempts to mount
/dev/mmcblkp1 as boot when the device should be /dev/mmcblk0p1.
With systemd the mount failure is an error and the system drops into
emergency mode.
Signed-off-by: Peter A. Bigot <pab@pabigot.com>
If rpi-basic-image is based on rpi-hwup-image, both deprecation warnings are
printed which may be confusing. Therefore let's just copy over the relevant bits
of rpi-hwup-image for now.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
There hasn't been a tagged version of the firmware lately, but there have been
several bugfixes listed in the commit history and we're about to move to v4.14.y
as the default kernel so let's get up-to-date.
The actual commit used is the most recent change to the firmware files as of
2018-02-26, the most recent commits which only change the kernel image and other
files we don't use are ignored.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
As discussed on the issue tracker, it's confusing for meta-raspberrypi to have
its own set of image names filling the same jobs as the core images. Therefore
we are marking these images as deprecated and will be removing them in the
future. The recommended replacement images are as follows:
rpi-hwup-image -> core-image-minimal
rpi-basic-image -> core-image-base
The image 'rpi-test-image' will be kept and is not marked as deprecated, it is
still useful for testing. It it updated to be based on 'core-image-base'.
Signed-off-by: Paul Barker <pbarker@toganlabs.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>
This makes the defconfig more consistent with the RPi 3 and
CONFIG_OF_EMBED is needed to get the RPi firmware provided
DTB to function.
Recently removed by:
a50e19695f u-boot: drop upstreamed patches in v2018.01
however this change missed the cutoff for v2018.01
Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
Add patch to allow multiple wayland clients per process
userland has limit of one wayland client per process and thereby allow compositors
to launch multiple wayland client apps
Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* samba depends on libpam and it might be useful to disable support
for it in DISTROs without pam in DISTRO_FEATURES
* disable it by default
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.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>
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>
This makes the defconfig more consistent with the RPi 3 and
CONFIG_OF_EMBED is needed to get the RPi firmware provided
DTB to function.
Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
Added patch status information in patch header, and re-word of commit
message
Signed-off-by: Mirza Krak <mirza.krak@endian.se>
Sphinx will use the 'alabaster' theme by default when building locally. However,
Read the Docs will use their own theme by default which suits their site better.
By not specifying html_theme we allow both targets to use the appropriate
default theme.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
The variable RPI_EXTRA_CONFIG can be set in local.conf to append text to the
Raspberry Pi config.txt file as described in the documentation.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
* As we now use GitHub for development we should point users at this repo.
* Layer documentation is now published on Read the Docs.
Signed-off-by: Paul Barker <pbarker@toganlabs.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 used to work in the past because this machine was based on raspberrypi
one. Now that they are separate, we need a configuration for it too otherwise:
| common/arm/quant-a.S: Assembler messages:
| common/arm/quant-a.S:362: Error: selected processor does not support `rbit
r1,r1' in ARM mode
| common/arm/quant-a.S:363: Error: selected processor does not support `rbit
r1,r1' in ARM mode
Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
userland package is the Raspberry Pi provider for the openGL stack.
If selected, it shall provide the gles2 and egl stacks in conjunction
with mesa-gl.
libegl was missing in the RPROVIDES variable, thus some run-time
dependencies were not met when using userland as provider.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
rpi-backend.so was an attempt to create a specialized
weston backend to be used on raspberry pi like platforms.
At the moment, this backend's support has been dropped in favor
of using the standard drm backend, as the vc4 driver is now mainline
in mesa and in kernel (for kernel support).
As a result, weston on raspberry pi does not require the rpi-backend.so
anymore, nor it is buildable (weston's configure complains about
unrecognized configuration switch).
This patch enables weston to natively run on the DRM backend.
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
* this reverts commit 04b37dbdb7.
* this makes qtbase and everything which depends on some qt* recipe to
be effectivelly MACHINE_ARCH
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.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>
The timestamp in the rootfs partition image filename may not match the current
timestamp if the do_image_rpi_sdimg step is repeated without repeating the
previous do_image_ext3 (or similar) step.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
These commands are unnecessary and seem to mask failures to find the rootfs.ext3
file when re-running the do_image_rpi_sdimg stage without re-running the
preceeding do_image_ext3 stage.
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>
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>
* Update the recipe and patch the Makefile to not require internet access during
do_compile. Unfortunately, the upstream Makefile wants to access a web service
hosted on Heroku and to "git clone" ffmpeg with no fixed commit hash.
* Patch Makefile.ffmpeg to avoid a potential race condition between the
configure & compile stages.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
The version of this firmware provided by linux-firmware is 7.45.41.26. This
version seems to have connectivity issues when bonding interfaces. Raspbian
included an updated version (7.45.41.46) which tested, proved to fix this
problem (see https://github.com/resin-os/meta-resin/issues/812).
The version Raspbian is providing is not yet in linux-firmware as they have it
directly from Cypress (see https://github.com/RPi-Distro/repo/issues/88).
Besides the issue described above, it fixes various other issues including a
broadpwn fix.
Hopefully this version, or a newer one, will end up in upstream soon. In order
to catch when that happens and stop overwriting this firmware, a check is added
in the racipe based on the md5sum of the current shipped firmware.
In terms of ditribution license, we got an informal one in the github thread
mentioned above.
Signed-off-by: Andrei Gherzan <andrei@gherzan.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>
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>
oe-core now provides v2017.09 of u-boot which already merged both patches
introduced by commit 94e2929f74 so we can
drop them from meta-raspberrypi.
Signed-off-by: Andrea Galbusera <gizero@gmail.com>
functions/variables in this bbappend implemented for only raspberrypi3.
But these must be able to used to enabling bluetooth on another raspberrypi that has bluetooth feature such as raspberrypi0-wifi.
The simple solution is a duplicating these but it is not good ideas for maintainance.
Add functions/variables follows to simplify to enabling bluetooth on another raspberrypi that has bluetooth.
- BCM_BT_SOURCES
- enable_bcm_bluetooth()
- BCM_BT_FIRMWARE
- BCM_BT_SERVICE
Signed-off-by: Yusuke Mitsuki <mickey.happygolucky@gmail.com>
[github issue #105: wiringpi library is not linked correctly]
Incorrect order of compiler flags causing the libwiringpi.so library
to not have the required linking dependencies. The cross-compilation
patch needed to be reworked in order to fix this problem.
Fixes#105
Signed-off-by: Aurelian Zanoschi <aurelian17@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>
Fix bitbake complaining with:
ERROR: core-image-minimal-1.0-r0 do_image_complete: sstate found an absolute
path symlink [...].vfat pointing at [...].vfat. Please replace this with a
relative link.
This patch redefines SDIMG_VFAT as a file name instead of a full absolute path,
then fixing the symlink creation by pointing to a relative target. The cp
command that deploys the artifact is changed accordingly to include the
destination path.
Signed-off-by: Andrea Galbusera <gizero@gmail.com>
u-boot v2017.07 was not able to boot a Linux kernel or handle keyboard input.
This is fixed by reverting a config change to re-enable CONFIG_OF_EMBED and
backporting another config change to enable CONFIG_DM_KEYBOARD.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
* omxplayer has:
COMPATIBLE_MACHINE_rpi_aarch64 = null
so it cannot be inclued for raspberrypi3-64
* components used by this packagegroup are also restricted to ^rpi$ so
the packagegroup and the image using it cannot be built for anything else
* fixes couple errors when trying to build world with meta-raspberrypi included
Signed-off-by: Martin Jansa <Martin.Jansa@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>
* drop duplicated --enable-rpi-compositor and WESTON_NATIVE_BACKEND=rpi-backend.so
* use rpi override, adding --enable-rpi-compositor unconditionally breaks other MACHINEs with:
configure: WARNING: unrecognized options: --enable-rpi-compositor
* use just one append and one bb.utils.contains to save some bitbake cycles while parsing
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
[GitHub Ticket #98 - rpio requires the logging and threading Python
packages but does not RDEPENDS them in recipie]
The rpio tool needs the Python logging and threading pacakges installed
on the target system for it to work. The pacakges are not included when
doing a rpi-basci-image. This change updates the recipe so that all the
required dependencies of the prio script are identified by the recipie.
Fixes#98
Signed-off-by: Thomas A F Thorne <TafThorne@GoogleMail.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>
* oe-core removed IMAGE_DEPENDS -> parsing fails with hint how to fix
* add required task for each recipe
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Update to latest available revision, in order to include proper rpi3
support as well as latest fixes.
LIC_FILES_CHKSUM for the license text in README.md is changed to handle
fixes of whitespace and newlines in the license text, introduced by the
pi-blaster commit: '0e1a1df Cleaning up the README'.
Signed-off-by: Petter Mabäcker <petter@technux.se>
This should avoid network traffic to resolve ${AUTOREV} unless this
recipe is explicitly selected as the preferred provider of
virtual/kernel.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
By default, the ${PN}-dev package of a recipe depends on the ${PN}
package. However, since the bcm2835 package contains no file, it is not
generated. As a result, when trying to include bcm2835-dev in an image
(or another package that depends on bcm2835-dev, such as
bcm2835-staticdev), we receive an error message saying that the bcm2835
package is not found.
A solution would be to define ALLOW_EMPTY for bcm2835, so that an empty
package is generated. However, that would causes a useless package to
be installed on the target. This patch uses another solution, which is
to empty the RDEPENDS variable of bcm2835-dev, so that it doesn't pull
in bcm2835.
Fixes#22
Signed-off-by: Simon Marchi <simon.marchi@polymtl.ca>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
We no longer provide any Linux kernel which do not have device-tree
support and all machines setup KERNEL_DEVICETREE correctly.
Signed-off-by: Mirza Krak <mirza.krak@endian.se>
We provide a lot of variable examples as code blocks in the following
format:
some text: `Variable`
or
some test:
`Variable`
Which is not as pretty as (when converted to html/pdf):
some text:
Variable
Converted all and hoppefully this will improve readability a bit.
Signed-off-by: Mirza Krak <mirza.krak@endian.se>
Sadly sphinx doesn't support pipe tables in markdown at the minute.
Let's use a bullet-point list instead.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
This allows us to avoid having to duplicate any information in the
readme into another documentation file.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
This allows us to create documentation by running 'make html' or 'make
latexpdf' in the docs directory. It depends on sphinx and the
recommonmark python module (for parsing markdown files in sphinx).
Creation of the PDF document requires a full LaTeX toolchain to be
installed.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
The top-level README document has got pretty unwieldy and so we need to
switch to add some more structure to our documentation. The first step
is to split out sub-sections of the README document into separate files
in a new 'docs' directory.
Whilst splitting up the README, we can also take the opportunity to tidy
things up and fix a couple of typos.
Signed-off-by: Paul Barker <pbarker@toganlabs.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>
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>
The rpi-4.4.y branch has been unmaintained for a couple of months now.
Let's drop it before branching for pyro.
Signed-off-by: Paul Barker <pbarker@toganlabs.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>
The support for the PiTFT 3.5 inch resistive touchscreen is optional.
It may be enabled by adding the following line in local.conf:
MACHINE_FEATURES += "pitft pitft35r"
Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
This MACHINE_FEATURE will automatically add the recommended
Adafruit configuration line to the Raspberry Pi config.txt.
Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
BSPs should not be overriding the distro splash images, here we
reduce the priority of psplash-raspberrypi below 100 so the defaults
from distros can kick in.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
quant-a.S uses rbit thumb instruction unconditionally even though only
from ARMV6T2 this is available (which is not the case for RPI1, RPI0
etc). Avoid this by disabling asm.
Signed-off-by: Andrei Gherzan <andrei@resin.io>
This upgrade is required to solve the following runtime hardware detection
issue when calling wiringPiSetup() on the Pi3:
Unable to determine hardware version. I see: Hardware : BCM2835
,
- expecting BCM2708 or BCM2709.
This was triggered by the recent kernel upgrade to 4.9 that introduced
"BCM2835" as the hardware signature in /proc/cpuinfo.
Patches reworked as follow:
* 0001-Add-initial-cross-compile-support.patch: rebase to current upstream
* 0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch: drop since is now
upstream
Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Commit da32aac introduced an invalid shell variable name in do_deploy():
according to bash manpage variable names cannot contain dots. Replace
dot with underscore to fix it.
Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Add support for the Waveshare 1024x600 "C" Rev2.1 7" IPS Capacitive Touch
Screen LCD with HDMI interface:
http://www.waveshare.com/7inch-HDMI-LCD-C.htmhttp://www.waveshare.com/wiki/7inch_HDMI_LCD_(C)
This product works "out of the box" with the Raspberry Pi. Simply connect
the provided HDMI and USB cables between the two devices. The touch<=>mouse
integration works automatically.
Tested with a Raspberry Pi 3, with a 32-bit raspberrypi3 build.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Internal ffmpeg configure uses pr which is provided by coreutils-native:
| ./configure: line 471: pr: command not found
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
libgl is actually provided by mesa-gl and this
casued unneeded conflict between these two
packages resulting in sato image reporting missing
libGL.so.1
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This makes the linux-raspberrypi_dev recipe more flexible by allowing
the kernel branch to be overridden in local.conf.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
The development branches of linux-raspberrypi are rebased frequently. To
avoid fetch failures caused by out-of-date git hashes we need to use
AUTOREV.
LINUX_VERSION may need to be overridden in local.conf to match the
upstream version.
Signed-off-by: Paul Barker <pbarker@toganlabs.com>
xorg-xserver recommends xf86-input-libinput since oe-core's commit
| commit 2d005faff6341a81a2afae28860101ba9db51ae8
| Author: Jussi Kukkonen <jussi.kukkonen@intel.com>
| Date: Wed Oct 26 11:37:38 2016 +0300
|
| conf: Use xf86-input-libinput by default
| ...
As nice side effect warnings for missing evdev in Xorg.0.log are gone.
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
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>
Wic supports picking up image files from toplevel LAYERDIR/wic directory. Using
this location has the benefit that image files are easier to find (compare that
to previously used scripts/lib/image/canned-wks/ location).
Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
OE-Core rev: aa06a18d59eb391d1a7ace9daa0681bdf8daf17f
removed gstreamer1.0-omx_1.2.0 recipe.
OE-Core removed all gst git recipes as well
Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Currently the firmware is installed but kernel fails to load it
due this .txt file missing in the firmware directory and it ends
up with wifi/bluetooth i/f not being initialized. The error is
also in dmesg
[ 3.120991] usbcore: registered new interface driver brcmfmac
[ 3.148240] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.txt failed with error -2
After applying this patch now ifconfig -a can list wlan0 interface
successfully.
Signed-off-by: Khem Raj <raj.khem@gmail.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>
Restructure the bbappends such that common portions
can be put in a common bbappend and version specific
bbappend then only do the patching
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The linux-raspberrypi 4.1 recipe has been broken for a while, probably since
09b76a43f6. It should now be safe to drop this
version.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
The patch 0003-Include-lowlevel_init.o-for-rpi2.patch does not apply on
2016.11 and causes an build error.
Patch 0002-rpi-passthrough-of-the-firmware-provided-FDT-blob.patch
provides the inclusion of lowlever_init.o.
Signed-off-by: Mirza Krak <mirza.krak@gmail.com>
DISTRO_TYPE doesn't seem to be set anywhere in OE/poky. This causes
CMDLINE_DEBUG to default to "debug" which is very noisy. This is
especially true when building a systemd based system, as systemd
also looks at the kernel commandline to set the debug level.
Such a system is nearly unuseable from the serial console due
to the amount of data logged by systemd.
Signed-off-by: Frank Meerkoetter <meerkoetter@googlemail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
A patch is backported to check if the firmware loaded a device tree blob
into memory and set the fdt_addr variable if it is found. The U-Boot
script will then read the command line arguments generated by the
firmware from the device tree and boot the kernel with the command
line arguments and the loaded device tree.
This allows things like MAC address, board revision and serial number
to be correctly configured and options in config.txt to be used.
An additional patch is backported and further changes are made to support
this.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
The rpi-4.8.y branch of git://github.com/raspberrypi/linux.git was rebased,
losing any previous commit hashes. This latest update doesn't include the
raspberry pi patches for 4.8.6, but the upstream patches are included starting
with 4.8.11.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The += operator should not be used in combination with overrides as it
will clear any existing values in the variable.
Example:
FOO = "bar"
FOO_rpi += "baz"
The above example would result in FOO being equal to " baz" instead of
"bar baz".
The bbappend is changed to use a wildcard instead of a specific version
to simplify updating U-Boot.
Signed-off-by: Jonathan Liu <net147@gmail.com>
OE-core already bumped the base rev on linux-firmware package
to include the upstreamed version of brcmfmac43430 firmware in
september via OE-Core commit a0bc732976670810505286ba43feee70e2c812ce
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This is a binary repo and its quite large in size
we do not need the whole history of this repo since
most of stuff needed is binaries, therefore switch
to release tarballs
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The NO_GENERIC_LICENSE map value for Firmware-broadcom_brcm80211 needs
to have the full path to LICENSE.broadcom_brcm80211 from the URL
instead of just the filename.
Fixes the following warning building the linux-firmware recipe:
WARNING: linux-firmware-1_0.0+gitAUTOINC+42ad5367dd-r0 do_populate_lic: linux-firmware: No generic license file exists for: Firmware-broadcom_brcm80211 in any provider
Signed-off-by: Jonathan Liu <net147@gmail.com>
The license for brcm43430-license should be the license it contains
instead of all the licenses of the linux-firmware packages.
[YOCTO #10251]
Signed-off-by: Jonathan Liu <net147@gmail.com>
The boot.cmd file created by rpi-u-boot-scr is needed for u-boot to
automatically boot a RaspberryPi.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Upstream u-boot searches the boot partition for a script named 'boot.scr'. If
this file exists it is executed as a sequence of u-boot commands in order to
boot the system. This script must be compiled using the mkimage command to
ensure that it is understood by u-boot.
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>
The value of the RPI_KERNEL_VERSION can change between None and the
kernel version which can result in taskhash mismatch errors while
building images.
The taskhash mismatch errors can be reproduced using:
bitbake -c cleansstate virtual/kernel core-image-minimal && bitbake core-image-minimal
The get_dts() and split_overlays() functions are modified so that the
kernel version argument is optional. If the version is not supplied to
these functions, they will fallback to the Python equivalent of the
expression used for RPI_KERNEL_VERSION.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
oe-core's commit d54339d4b1a7e884de636f6325ca60409ebd95ff creates image in
IMGDEPLOYDIR and copies through sstate to DEPLOY_DIR_IMAGE. That causes
DEPLOY_DIR_IMAGE not valid when calling IMAGE_CMD. Therefore use
IMGDEPLOYDIR for sdcard creation too.
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
* 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 both extensions for overlays (".dtb" and ".dtbo")
CAUTION: in IMAGE_CMD_rpi-sdimg, 'TMPDIR' is not set, causing 'STAGING_KERNEL_BUILDDIR' to not be expanded, causing get_dts() to not being able to get the kernel version!
To avoid this problem, the kernel version is added in a new variable outside the scope of IMAGE_CMD_rpi-sdimg, and its value passed to get_dts() and split_overlays()!
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Add support for both variants of overlays ("-overlay.dtb" and ".dtbo")
Change which variant needs to be supported based on the kernel version
CAUTION: when called from IMAGE_CMD_rpi-sdimg, 'TMPDIR' is not set, causing 'STAGING_KERNEL_BUILDDIR' to not be expanded, causing get_kernelversion_file() to fail!
To avoid this problem, get_dts() and split_overlays() MUST be called with the kernel version parameter set, when called from IMAGE_CMD_rpi-sdimg!
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
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>
Kernel 4.4.6+ on RaspberryPi support .dtbo files for overlays, instead of .dtb.
Patch the kernel, which has faulty rules to generate .dtbo the way yocto does
Signed-off-by: Herve Jourdain <herve.jourdain@neuf.fr>
ERROR: bcm2835-1.50-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/spi'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/event'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/gpio'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/i2c'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/blink'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/spin'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/input'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/bcm2835/1.50-r0/packages-split/bcm2835-tests/usr/lib/bcm2835/pwm'
[ldflags]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Not using the yocto LDFLAGS will make some qa tests fail:
ERROR: wiringpi-git-r0 do_package_qa: QA Issue: No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/wiringpi/git-r0/packages-split/wiringpi/usr/lib/libwiringPi.so.2.32'
No GNU_HASH in the elf binary:
'build-rpi-master/tmp/work/cortexa7hf-neon-vfpv4-poky-linux-gnueabi/wiringpi/git-r0/packages-split/wiringpi/usr/lib/libwiringPiDev.so.2.32'
[ldflags]
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Not having this correctly will get you into troubles like:
| gpio.c:40:23: fatal error: gertboard.h: No such file or directory
| #include <gertboard.h>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The IMAGE_NAME variable already contains the date and time so it is
redundant to also include the date again with IMAGEDATESTAMP
when writing to image-version-info in the boot partition.
Signed-off-by: Jonathan Liu <net147@gmail.com>
WARNING: userland-git-r5 do_package_qa: QA Issue: /usr/bin/dtoverlay-post
contained in package userland requires /bin/bash, but no providers found
in RDEPENDS_userland? [file-rdeps]
Signed-off-by: Scott Ellis <scott@jumpnowtek.com>
The rpi-mkimage tools are no longer used. Recent Raspberry Pi firmware can
directly boot a Linux kernel image using device tree and mainline u-boot
supports Raspberry Pi without the use of these tools.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
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>
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>
Specifying -isystem${STAGING_DIR_HOST}/usr/include in INCLUDES gives:
In file included from utils/PCMRemap.cpp:26:0:
.../build/tmp/sysroots/raspberrypi2/usr/include/c++/6.1.1/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
#include_next <stdlib.h>
^
compilation terminated.
Makefile:44: recipe for target 'utils/PCMRemap.o' failed
To resolve this, /usr/include shouldn't be specified as it is already a
default include path relative to the sysroot.
See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129.
Signed-off-by: Jonathan Liu <net147@gmail.com>
Avoids warnings like this with python3:
WARNING: .../meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_3.18.bb:
<string>:16: ResourceWarning: unclosed file <_io.TextIOWrapper
name='.../meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/defconfig'
mode='r' encoding='UTF-8'>
Signed-off-by: Jonathan Liu <net147@gmail.com>
Additionally add few few file systems e.g. squashfs, overlayfs
to support booting with initramfs
Drop checking for target triplet to set EABI, rpi probaly should
not have any legacy into OABI world.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
IMAGE_CMD_rpi-sdimg() uses the IMAGEDATESTAMP variable, so the taskhash
of the function keeps changing. This results in a taskhash mismatch
error.
Fix this by excluding the IMAGEDATESTAMP variable from the checksum.
Change-Id: Ie6f30ad29e279d5312ec655ac4a3bf246c8a04de
Signed-off-by: Jonathan Liu <net147@gmail.com>
This patch adds the bluetooth support for the brcm43438 module on the raspberrypi3 by
deploying the modules firmware and changing the targeting firmware path. In addition
the brcm43438.service adds the automatically attaching (hciattach) for systemd environments.
The following steps can be used to manually configure the brcm43438:
root@raspberrypi3:~# hciattach /dev/ttyAMA0 bcm43xx-3wire
bcm43xx_init
Flash firmware /lib/firmware/brcm/BCM43430A1.hcd
Set Controller UART speed to 3000000 bit/s
Device setup complete
root@raspberrypi3:~# hciconfig
hci0: Type: BR/EDR Bus: UART
BD Address: B8:27:EB:6C:85:BE ACL MTU: 1021:8 SCO MTU: 64:1
DOWN
RX bytes:983 acl:0 sco:0 events:33 errors:0
TX bytes:887 acl:0 sco:0 commands:33 errors:0
root@raspberrypi3:~# /usr/lib/bluez5/bluetooth/bluetoothd -e -n -E
root@raspberrypi3:~# bluetoothctl
[NEW] Controller B8:27:EB:6C:85:BE raspberrypi3 [default]
[bluetooth]# power on
[CHG] Controller B8:27:EB:6C:85:BE Class: 0x400000
Changing power on succeeded
[CHG] Controller B8:27:EB:6C:85:BE Powered: yes
[bluetooth]# scan on
Discovery started
[CHG] Controller B8:27:EB:6C:85:BE Discovering: yes
[NEW] Device 00:1C:05:FF:F9:F8 Nonin3230_501585326
NOTE: SERIAL_CONSOLE must configured to ttyS0 instead of ttyAMA0 (used by the brcm43438). See pending patch from Martin Bergek
Signed-off-by: Tom Doehring <toolmmy@gmail.com>
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>
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>
Fixes linking error due to missing vchostif library dependency.
Rebased patches and removed patches already merged upstream.
Signed-off-by: Jonathan Liu <net147@gmail.com>
While having 'wayland' set DISTRO_FEATURES 'wayland-native' is handled as a cmake parameter which breaks the do_configure:
$ cat /data/builds/rpi3-sandbox/tmp/work/raspberrypi2-poky-linux-gnueab i/userland/git-r5/temp/run.do_configure
cmake \
${OECMAKE_SITEFILE} \
[...]
-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' wayland-native \
-Wno-dev
$ CMake Error: The source directory "/data/builds/rpi3-sandbox/tmp/work/raspberrypi2-poky-linux-gnueabi/userland/git-r5/build/wayland-native" does not exist.
| Specify --help for usage, or press the help button on the CMake GUI.
Assuming that wayland-native should only be defined as a DEPENDS package this patch moves it to the correct PACKAGECONFIG position.
Signed-off-by: Tom Doehring <toolmmy@gmail.com>
Signed-off-by: toolmmy <toolmmy@gmail.com>
Building wayland support requires availability of wayland-scanner to avoid
build errors like:
| /bin/sh:
| /home/andrei/work/yocto/build-rpi-master/tmp/sysroots/x86_64-linux/usr/bin/wayland-scanner:
| No such file or directory
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The current version of the recipe produces the following warnings while createing an image:
WARNING: The license listed Firmware-broadcom_brcm80211 was not in the licenses collected for recipe linux-firmwa
re
WARNING: [log_check] td-core-image: found a warning message in the logfile (keyword 'WARNING:'):
[log_check] WARNING: The license listed Firmware-broadcom_brcm80211 was not in the licenses collected for recipe
linux-firmware
This commit contains a rework of the brcm80211 firmware handling and deploys the firmware and the LICENSE files that fixes the warning messages.
Signed-off-by: Tom Doehring <toolmmy@gmail.com>
General policy is to support three kernel versions; latest stable + two
longterm versions. These are currently 4.4, 4.1, and 3.18.
Signed-off-by: Petter Mabäcker <petter@technux.se>
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>
--as-needed exposes a dependency problem where libegl needs some symbols
from libgles2 but the order that waf uses on linker cmdline for these
libs is reversed so we end up with link time failures e.g.
libEGL.so: undefined reference to `glxx_client_GetRenderbufferParameteriv'
Signed-off-by: Khem Raj <raj.khem@gmail.com>
SD image is expecting dtb files to be deployed in deploy area, this step
however is done when do_deploy of kernel is finished and we need to pin that in
dependency list, otherwise there are build race conditions during builds
especially visible when building with initramfs enabled.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
These are needed for pkgconfig to have correct version number which is
checked by many configure systems e.g. cogl to decide on support for
wayland-egl
rprovides are expected by cogl as well to define runtime deps on
libgles2 and libgl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
backport and fix needed patches for supporting wayland-egl
use PACKAGECONFIG for wayland so we can add proper DEPENDS on wayland
Fix QA warnings about dev-so
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop upstreamed patches
0002-fix-musl-build.patch was partially upstreamed
git'ify the remaining patches
Change license field to BSD 3 clause, since thats what
the licence it with BCM and RPI Copyrights
Licence changed from Broadcom to Raspberry Pi Ltd
see commit 0863709b9fb90ee1204b7fe52f69535830d3c111
Author: popcornmix <popcornmix@gmail.com>
Date: Mon Feb 1 21:07:02 2016 +0000
Update copyright
diff --git a/LICENCE b/LICENCE
index 2582681..dea4c26 100644
--- a/LICENCE
+++ b/LICENCE
@@ -1,4 +1,5 @@
Copyright (c) 2012, Broadcom Europe Ltd
+Copyright (c) 2015, Raspberry Pi (Trading) Ltd
All rights reserved.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
- 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>
On fido and earlier branches, ${libexecdir} depends on ${BPN} so it
is not a good choice as ${libexecdir} is different depending on the
recipe name.
For example, rpi-mkimage would install mkknlimg to:
[...]/sysroots/x86_64-linux/usr/lib/rpi-mkimage
but linux-raspberrypi would look for mkknlimg in the path:
[...]/sysroots/x86_64-linux/usr/lib/linux-raspberrypi
To resolve this, we use ${bindir} instead as it doesn't depend on
${BPN} in fido and earlier branches as well as in the master branch.
Signed-off-by: Jonathan Liu <net147@gmail.com>
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>
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>
With newer kernels (>=3.18) that supports device-trees I2C
should be enabled with device-trees.
This is now support by adding:
ENABLE_I2C = "1"
in local.conf
This will enable the dtparams:
i2c1
i2c_arm
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
It doesn't make sense to install to ${libexecdir}/rpi-mkimage as it
changes the path on fido and earlier branches from:
[...]/sysroots/x86_64-linux/usr/lib/rpi-mkimage
to:
[...]/sysroots/x86_64-linux/usr/lib/rpi-mkimage/rpi-mkimage
Using ${libexecdir} instead of ${libexecdir}/rpi-mkimage preserves
the path for fido and earlier.
Signed-off-by: Jonathan Liu <net147@gmail.com>
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>
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>
For consistency with other recipes that look for mkimage
tools (u-boot-rpi, linux-raspberrypi) under ${libexecdir}/rpi-mkimage,
make sure that the tools are installed at the proper location.
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl>
RTIMULib is a C++ and Python library that makes it easy to use
9-dof and 10-dof IMUs with embedded Linux systems. Python
module for Raspberry Pi Sense HAT depends on it.
Python module python-rtimu uses the source code from the
GitHub repository of RPi-Distro.
Signed-off-by: Leon Anavi <leon@anavi.org>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Python module to control the Raspberry Pi Sense HAT used in
the Astro Pi mission. This recipe provides the officially
supported library for the Sense HAT with access to all of the
on-board sensors and the LED matrix.
Signed-off-by: Leon Anavi <leon@anavi.org>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
With the newer kernels that use device tree, the SPI bus is only
enabled by a device tree setting. This is now supported by adding
ENABLE_SPI_BUS = "1"
in local.conf
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
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>
vcos headers include headers like "vcos_platform.h" "vcos_futex_mutex.h"
"vcos_platform_types.h" and these headers are different based on
platform/OSes. e.g. OS targets that support pthreads these headers
should come from pthreads/ folder but not for others. So one would add
right -I option for every package that accesses them directly or
indirectly. so if a software does #include <EGL/egl.h> then it will
break
| In file included from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_assert.h:149:0,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos.h:114,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vmcs_host/vc_dispmanx.h:33,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/eglplatform.h:110,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/EGL/egl.h:36,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/../shared/platform.h:29,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/window.h:33,
| from
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/work/armv7at2hf-vfp-neon-angstrom-linux-gnueabi/weston/1.8.0-r0/weston-1.8.0/clients/eventdemo.c:40:
|
/mnt/home/kraj/work/angstrom/build/tmp-angstrom-glibc/sysroots/raspberrypi2/usr/include/interface/vcos/vcos_types.h:38:33:
fatal error: vcos_platform_types.h: No such file or directory
| #include "vcos_platform_types.h"
| ^
| compilation terminated.
This is wrong, it should not happen since doing simple #include
<EGL/egl.h> should not demand manual addition of some internal paths
tobe added to -I flags.
This patch fixes the headers which refer to headers inside pthreads/
folder to prefix them with pthreads/ so we dont have to specify
additional paths
This fixes weston on rpi and I believe there are more patches now to
recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
recipes-multimedia/omxplayer/omxplayer_git.bb
which can be removed as well
Signed-off-by: Khem Raj <raj.khem@gmail.com>
several userspace libraries like libepoxy poke for pkgconfigs ( .pc )
files to detect egl support, and comes out to fail in configure stage,
one of the patches now adds support to generate .pc files for some known
cases. it could be further extended if needed for other libraries too
Secondly, the default CMAKE_INSTALL_PREFIX is /opt/vc but in OE we use
proper /usr so lets make this change as well, it simplifies do_install()
.so are not versioned so we need to grapple with OE's defaults of
expecting versioned .so files.
Adjust packages for -dev package such that it can automatically package
pkgconfig files and inherit pkgconfig because in cmake code we are not
looking for pkgconfig so we need the dependency also put in place for
consistent builds
Signed-off-by: Khem Raj <raj.khem@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>
Building userland source with gcc 5.x causes multiple issues such as:
vcos_thread.h:186:15: warning: inline function 'vcos_thread_get_affinity' declared but never defined
| VCOS_UNSIGNED vcos_thread_get_affinity(VCOS_THREAD_T *thread);
The following patches fixes these issues and allows building userland on the current
poky master branch.
Signed-off-by: Tom Doehring <toolmmy@googlemail.com>
Update to latest revision in order to get rid of the integration patch
'0001-handle-install-data-hook-when-cross-compile.patch' that has been
submitted upstream.
Changes since cd318cd63031a30249a4c08435b97263fa76d7b7:
bce7c1b Merge pull request #45 from Technux/dev/technux
74510ff Display an error message if unable to open mbox
53197ca handle install-data-hook when cross compile
Signed-off-by: Petter Mabäcker <petter@technux.se>
Current instructions could be improvised to help user in creating
properly formatted patches with some command help on git format-patch
and git send-email
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
The boot partition currently has a size of 20 MiB but just the start elf
binaries account almost 12 MiB, which means that only 8 MiB is left for
the kernel image. A recent kernel with many of its options built-in can
easily be more than 4 MiB so let's double the boot partition size to 40
MiB to make sure that it has enough room for the kernel image, the DTBs
and possible even a backup kernel.
Signed-off-by: Derek Foreman <derekf@osg.samsung.com>
[javier: Extended the commit message]
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Recent updates to the MSDOS tools (OE-core is now at 3.0.28) have made
it an error to overwrite an image using mkfs.vfat. This patch fixes
that problem by removing any old/stale images, thus starting from scratch.
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
We have errors like below with glibc 2.22+
net_sockets_common.c:139:20: error: storage size of 'hints' isn't known
struct addrinfo hints, *info, *p;
^
newer glibc has now fixed the definitions of getaddrinfo and ilk to be
enabled with correct posix version.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update wiringpi to latest revision. Due to a refactoring of the build
procedure in wiringpi the integration patch 'makefile-install.patch'
didn't apply anymore. While migrating that patch it was simplified and
generated using 'git format-patch' instead, to make it easier to maintain
the patch in the future.
[Support #60]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Update to latest version of userland for rpi.
[Support #60]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Removed 'enable-autotools-support.patch' since it is included in latest
upstream. Also fix a cross compiling issue.
[Support #60]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
It appears as though the location of this tarball has changed. The current
SRC_URI works but is redirected to this new location.
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
After '6392a63 rpi-base.inc: Use KERNEL_DEVICETREE by default' was
introduced, the default value for 3.18+ kernels was changed. Ensure this
is reflected in the README.
Signed-off-by: Petter Mabäcker <petter@technux.se>
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>
Update linux-raspberrypi_3.12 to latest revision.
Remove sl030raspberrypii2ckernel.patch since it will not apply anymore
and its content seems to be obsolite after
'558d0bf Fix grabbing lock from atomic context in i2c driver' was
merged to 3.12.
[Support #60]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
meta-raspberrypi currently supports too many versions in order to ensure
that all of them are frequently tested and updated. Change to only
support latest stable + 2 long term versions.
[Support #59]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Add basic support for Linux 3.14, cherry-pick changes from 3.18.y in
order to solve some debugfs warnings and get better support
for i2s for BCM2708.
- 3.14 lacks BCM2709 support and will not by default be able to use for
raspberry pi 2.
Below warnings still exists they are harmless and exists due to that
snd_soc_pcm512x is triggered to be loaded twice. The problem is solved
after device tree support for the driver was introduced in 3.18.y and no
easy solution exists to solve this problem on older kernel versions (see
https://github.com/raspberrypi/linux/issues/662 for more info).
pcm512x 1-004c: Failed to reset device: -5
pcm512x: probe of 1-004c failed with error
Remove sl030raspberrypii2ckernel.patch since it will not apply anymore
and its content seems to be obsolite after cherry-picking
'558d0bf Fix grabbing lock from atomic context in i2c driver'.
[Support #57]
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Update linux-raspberrypi_3.18 to latest version.
Remove sl030raspberrypii2ckernel.patch since it will not apply anymore
and its content seems to be obsolite in later kernel versions.
[Support #56]
Change-Id: I91e57f4e65d9c1c9d12014f5d11b0acd950e2d1d
Signed-off-by: Petter Mabäcker <petter@technux.se>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
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>
We use this to simplify the update process. Updating a kernel version will not
require renaming the recipe but only tweaking LINUX_VERSION.
Update kernel version:
- bump SRCREV
- bump LINUX_VERSION if needed
[Support #26]
Change-Id: I7565ddd1f03cc34c34aa5da92664a0057b415c9a
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Add a patch to fix the pkg-config mechanism in ffmpeg.
Change-Id: Ib506bb4e26a8a0c5c294ed55da0a0da8dc67a2d7
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>
This is already a raspberrypi specific recipe. So this is useless and would
break other machines.
Change-Id: Ie1d627384255660d7e213833fd4433f47c0edc1d
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>
Add basic info about device tree support for RPi and how to use
KERNEL_DEVICETREE.
Also fix minor typo in the section about redmine.
Change-Id: Ibfee31e319c421c09d6e9cbfbe83364e8d055b95
Signed-off-by: Petter Mabäcker <petter@technux.se>
[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>
Replace the ASCI graphics by some useful quick links.
Some minor other changes.
Change-Id: I7e1f118f22c60a5218751323c6cbebdc86e8e119
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Yocto style recipes provide support for application of kernel
configuration fragments which is achieved with this change.
For further details see the Yocto Linux Kernel Development Manual
ref: http://www.yoctoproject.org/docs/1.6/kernel-dev/kernel-dev.html
In addition .bb files are simplified to take a SRCBRANCH which is
used by the SRC_URI set in linux-raspberrypi.inc and together with
the existing SRCREV define a checkout from the linux-raspberrypi
git repository.
A default configuration, defconfig, is provided as a baseline.
This is generated from bcmrpi_defconfig, as used in the existing
recipes, and so configuration options should be the same.
To change the kernel configuration a new configuration fragment
may be generated, as explained in the kernel development documentation
above, and this file then added to the SRC_URI via a .bbappend.
Added some minor refactoring and removed some useless code.
Change-Id: Ic72e14ec14ec3f042aeda0c6820f896be9c02e69
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
linux-raspberrypi_3.16 used wrong branch (rpi-3.14.y instead of
rpi-3.16.y). Use latest SRCREV for 3.16 and bump version to 3.16.5.
Change-Id: Ic81eeddb0c8a4df1f11948f00491f83ab877d040
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
When building against newer yocto project releases below failure
occurs.
| DEBUG: Executing shell function do_configure
| NOTE: make oldconfig
| make: *** No rule to make target `oldconfig'. Stop.
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure
Fix this by trying to adapt more of the standard mechanism
that exists in yocto, in order to build "custom kernels".
Change-Id: I0598c0c16d84295a454976f60b56f9d35c36a4ba
Signed-off-by: Petter Mabäcker <petter@technux.se>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Although the sdimage-bootpart.wks kickstrt file in Poky works
fine with Raspberry Pi, this patch adds a kickstart file that
mirrors sdcard_image-rpi.bbclass layout.
Change-Id: I34e60a9c89c9074ea9e114951165cb4fbffcb5c4
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>
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>
This patch fixes the following package build break:
| arm-poky-linux-gnueabi-gcc is unable to create an executable file.
| C compiler test failed.
Change-Id: I9f0bf47e4bf969a793718e915fc6c5f4eab012bb
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Making the bbappend file gstreamer1.0-plugins-bad into version independent
Change-Id: I1ed1fb91e23aa58e9b1a02429ca60a4484eaad93
Signed-off-by: Parthiban N <parthitce@gmail.com>
Set this variable to enable support for dispmanx offline compositing
DISMANX_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
Change-Id: I722b20ff5bdba1bdd0683d30bee07c3934c95a1f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
The eglglessink needs to be built to target the Raspberry Pi or it will
seg-fault in use.
Autoconf attempts to detect whether to build for RPi but there are some
include files needed, the search path to which must be specified.
ref: https://github.com/raspberrypi/firmware/issues/34
ref: https://github.com/raspberrypi/firmware/issues/99
This patch adds the needed include paths and forces the plugin to be
built for Raspberry Pi.
With this patch the following pipeline works on RPi,
modprobe bcm2835-v4l2 gst_v4l2src_is_broken=1
gst-launch-1.0 --gst-debug-no-color v4l2src \
! 'video/x-raw,format=RGB,width=1280,height=720,framerate=(fraction)30/1' \
! eglglessink max-lateness=-1
Change-Id: Iabd93c0601c2ab898de3352a7d30423ef9cfce43
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
This project enables PWM on the GPIO pins you request of a Raspberry Pi.
The technique used is extremely efficient: does not use the CPU and gives
very stable pulses
Patches have been provided to build pi-blaster using autotools, and to
remove startup script dependencies on the lsb.
Change-Id: Ie1bec0702e4520d24e4f024aafff14ddef825589
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Amongst other patches, this release includes a fix to an issue with
gstreamer1.0 and v4l2src blocking
ref: https://bugzilla.gnome.org/show_bug.cgi?id=726521
ref: http://tinyurl.com/mkqooeg
To make use of the optional fix the module parameter gst_v4l2src_is_broken
needs to be set when loading bcm2835-v4l2.ko
With this in place, and with userland and gstreamer1.0-omx patches,
gstreamer1.0 can be used with PiCam via v4l2src instead of raspivid.
(There may still be performance issues to be addressed for v4l2src vs
raspivid pipe & fdsrc).
Change-Id: Ia0ed4e6c8f27df9bb12ae2350526f6314e016d51
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Makes it clearer to manage repo forks, and branches prior to (e.g.) upstream
commits of in tree changes.
Change-Id: I42f8af975c08f84c4ceb9910713eba2da3a87d8b
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
This is done to ensure all specified shared libraries are linked against
applications (e.g. raspivid)i.
libmmal_vc_client.so makes use of __attribute__(constructor) to ensure
that supplier components (e.g. camera) are loaded when the static library is
loaded.
raspivid, and possibly other applications, link against libmmal_vc_client.so,
causing the ctor to execute, but there is no needed dependency.
Some build environments (e.g. Yocto/OpenEmbedded) pass the '--no-as-needed'
linker flag which removes the dependency on libmmal_vc_client and thus
components are not registered.
In this situation raspivid then gives an error of the form
root@raspberrypi:~# raspivid -o test
mmal: mmal_component_create_core: could not find component 'vc.ril.camera'
mmal: Failed to create camera component
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates
For further details see:
https://lists.yoctoproject.org/pipermail/yocto/2014-June/019933.html
Change-Id: I9d787fd83379e8b6428dde3827395c8b96be1f7f
Signed-off-by: Alex J Lennon <ajlennon@dynamicdevices.co.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Rebase a patch for this version and fix "unsafe for cross-compilation"
warnings.
Change-Id: Idcc9f188bc716982ede9dfb5f87870d9f5a2f9a3
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
THISDIR and FILESPATH are not supposed to be changed from within
recipes. This was causing troubles with other bbapend.
Change-Id: I7c3c788ddb61b0b790a9fe06f86e4bd93a822c8c
Signed-off-by: Michaël Burtin <mburtin@connected-labs.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
PRINC is now obsolete and the PR Service should be used instead to keep PR
values incrementing on change.
A patch has also been submitted to openembedded-core to bump the appropriate PR
values so that PR doesn't move backwards. This patch should only be applied
after that patch, and only to branches which include that patch (ie. if that
patch doesn't go into daisy in oe-core, this patch shouldn't go into daisy in
meta-raspberrypi).
Change-Id: Ibac9e4e89d12dbd6e94430f47e20b82a67506625
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
The rootfs may be using a filesystem type other than ext3 so it should
not be hardcoded.
Change-Id: I71c1a96831ce4617b24de7743fe3b70ec5822a33
Signed-off-by: Jonathan Liu <net147@gmail.com>
Use instead, the special created recipe mesa-gl which provides on libgl.
Change-Id: I5ed3c50a0a794f8ea63cc1906f0139ec47459fa6
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* changes:
omxplayer: Update to current remote HEAD
userland: Update to current remote HEAD
firmware: Update to current remote HEAD
linux-raspberrypi: Add v3.13.3
linux-raspberrypi: Update v3.12.7 to v3.12.11
linux-raspberrypi: Update v3.10.26 to v3.10.30
linux-raspberrypi: Update v3.11.10 to current remote HEAD
No need for mktemp-compatible-with-busybox.patch as the issue was
fixed in current revision.
omxplayer startup bash script needs pgrep so add procps to RDEPENDS.
Change-Id: I1eecd332e8e51dbbf97e25ec6ed133077f137d7b
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
It is strongly discouraged to use wildcards in SRC_URI since it breaks
when using multiple bbappends and immediate expansion of FILESDIR.
This fixes a do_install failure when building with multiple BSPs
enabled.
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Permit to build an image with initramfs.
Add information in README to build with initramfs.
Change-Id: Icb812151a22771717805ec0a82feb7993f462b47
Signed-off-by: Sébastien Mennetrier <s.mennetrier@innotis.org>
Tool needed to convert bootable images in kernel.img files which can be loaded
by rpi bootloader.
Change-Id: I0088707be5d31d77def1087f51e3f8cc886d19db
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
If KERNEL_IMAGETYPE is uImage, use u-boot image as kernel.img and copy uImage
too. Otherwise, use kernel image as kernel.img (as we did until now
unconditionally).
Change-Id: Iac46a57e4266299f2fe5746cb6957dcfc0e90443
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
* Rebase 0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch
to apply on HEAD.
* Add fix-tar-command-with-DIST.patch which reverts a change in tar command
which breaks compilation if DIST is an absolute path.
* Avoid stripping omxplayer binary (let build system take care of strpping).
Change-Id: I95d70094b0069ad19f7d445abaf421756776c4c7
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
bcm2835 is an empty package because this recipe provides a static library.
Install on target only bcm2835-tests package in which files are statically
linked to that library.
Add forgotten GPIO packages: rpi-gpio and rpio.
Change-Id: I498d2a3948ad5faf963d492bc496d4725a79e136
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* Update to current git HEAD commit which includes fix for boost 1.55.
* Replace tabs by spaces
* Tweak SUMMARY and DESCRIPTION
* Add bash to PN RDEPENDS as omxplayer is actually a bash script.
* omxplayer is a bash script - add RDEPENDS and fix mktemp inside
Change-Id: I5c8a4cf1005ba49f9b01821e3f832d1da49869bc
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
This kernel enables camera video via the new 'bcm2835-v4l2' module.
Just add 'start_x=1' to your boot config.txt
Change-Id: I19f72708b854291314691944a58fa16451e2677b
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Add video camera enable 'VIDEO_CAMERA' for config.txt
Change-Id: I547004eebfba204ba683365bbdbad143f2cdfe6e
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
Add optional 'VIDEO_CAMERA' setting to enable video
camera at boot time.
Change-Id: I8b2509aee1ff8ec94b7a3a3b5066d0411a957f43
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Acked-by: Andrei Gherzan <andrei@gherzan.ro>
The remote SHA used is no longer available in github. Move to a
usable one.
Fixies this build error:
fatal: reference is not a tree: ae937f99fee8a37f2ddd7270f6bcc0e497e8c903
on raspberry 3.10 kernel:
raspberrypi-poky-linux-gnueabi/linux-raspberrypi/3.10.18+gitae937f99fee8a37f2ddd7270f6bcc0e497e8c903-r0
More info: https://trello.com/c/tQ7l8ftd
Change-Id: I9fcc571622cbe4adb8ed99b11e5d6889e791d555
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Changed the active development repository to git://github.com/popcornmix/omxplayer.git
Added dbus package as a dependency.
Installed fonts directory in the default location needed by omxplayer
Change-Id: Ie2e1ae73656d3c9a5cbefbf87d0792b10fcd9430
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
Update 3.11.0 to 3.11.7 HEAD.
Update 3.6.11 to HEAD.
Change-Id: Iacd8f78b418b0bd6d8513b97ce57ce0108057850
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* Add some other minor formatting changes.
* Add info about Trello board.
* Add info about Gerrit server.
* Split source code info in a separate section.
Change-Id: Ib8fe5e11c1d95d14ff825a26d356b5ae432f2f93
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Commit created from merging:
c8046050dbfe2467c0e872f7705cba
Added some minor changes:
* remove PR
* remove tabs
Change-Id: Ia430db732e6c9662f71eca2433d03cce738ca23f
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
From: Philipp Wagner <mail@philipp-wagner.com>
Kernel 3.6 is also the default for Raspbian and thus should be the
most tested version right now.
Change-Id: I03a75fa1be3ab0f8f43fb09a8fff779c6d9100e7
Signed-off-by: Philipp Wagner <mail@philipp-wagner.com>
Signed-off-by: Alexandru Niculita <alexnick87@gmail.com>
The SD image is always created with the extension "rpi-sdimg" and this cannot be
changed by editing IMAGE_FSTYPES.
Change-Id: I7336e8c698f13fba14ef9cc9bf6c0b262bf261e5
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Image files will typically contain lots of null blocks and should compress well.
This will help with distribution of images over slow network links.
Change-Id: Icec7454ff61cd81a2872037037a93ce01191ece5
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Remove these files as the default ones work just OK.
Moreover, not having /run mounted as tmpfs, would break mounting root as
read only. This is done in the default fstab so use that one.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* Use DIST for install path as used in package's makefile.
* Set FLOAT based on callconvention-hard TUNE_FEATURE.
* Add an include path to avoid a header error.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
The graphics libraries provided by userland does not include libgl. So compile
mesa with libgl support and remove gles and egl from it as these are provided
by userland.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
I was having intermittent i2c issues on the device until I applied this kernel patch
which I found online.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we have this recipe, it means the whole armv6 (or whichever tune) is chosen depends
on a machine specific recipe. This makes no sense as armX packages are meant to be
machine independent.
We've had this problem in other layers and it causes needed rebuilds of packages
when you switch machines since the sstate checksums change. These headers are just part
of the toolchain bootstrap process so "standard" kernel headers are fine. The kernel
header version does need to be later of equal to the kernel version but we're fine in
that regard since the core is on 3.8, the latest pi kernel is 3.6.
There is nothing special about these headers so lets remove them and use the standard
system provided recipe, avoding any rebuilds. I tested the various other recipes in
the layer and there doesn't seem to be any dependency on these headers.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of overriding the default psplash image, the raspberrypi image is added
as an additional image. It is then set as the default in the raspberrypi machine
config file so that other targets do not pick up our splash image.
Tested on raspberrpi and qemuarm: on raspberrypi I see to Raspberry Pi logo, on
qemuarm I see the Yocto Project logo.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
The variables RPIFW_SRC_URI and RPIFW_S are created in the common firmware
include file so that it is easier to override the firmware source in a local or
distro config file. RPIFW_SRC_URI is used to set SRC_URI in firmware.inc as it
is common to both bootfiles and vc-graphics. RPIFW_S is used as a prefix for S
in bcm2835-bootfiles.bb and vc-graphics.inc as different subdirectories are
referenced in each recipe.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
The existing first run script is inappropriate for a board support layer. It is
also full of references to OpenPandora and is not portable across all distros
which may use meta-raspberrypi.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
When the shell tests for rootfs type I was seeing "[[: not found". I
use echo and egrep to test for the xz rootfs type to work around this
error.
Signed-off-by: Seth Bollinger <seth.boll@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
When constructing the SD card image, the code was using
the inherited ROOTFS_SIZE, which is the size of the
rootfs contents. When building (for example) a compressed
rootfs, this allocates a partition much larger than necessary.
Instead, take the size of the generated rootfs file that is
about to be written into the generated image, and round it
up to the IMAGE_ROOTFS_ALIGNMENT size.
Fix some comments - the alignment is 4MiB, not 4KiB.
Signed-off-by: Jan Schmidt <thaytan@noraisin.net>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
This patch fixes the license name for bcm2835 and rpi-first-run-wizard.
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
start_cd.elf and fixup_cd.dat are required when running the system with
a 16MB GPU memory configuration. This change copies all files contained
in bcm2835-bootfiles instead of cherry picking.
Signed-off-by: Seth Bollinger <seth.boll@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Dropped raspberrypi modifications to hosts and interfaces files as they are
unnecessary.
Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
WARNING: QA Issue: [...]/rpi-first-run-wizard.bb:
Variable RDEPENDS is set as not being package specific, please fix this.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* install_vmcs not needed anymore
* By default package is installed in /opt/vc. Move everything in ${prefix}.
* Move recipe in recipes-graphics
* Add PACKAGE_ARCH = MACHINE_ARCH
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* without this tune-xscale and tune-arm926ejs were both creating
packages in armv5te feed, but each with different -mtune, with
OEBasicHash enabled it was causing each package to rebuild with new
-mtune after MACHINE switch, but that doesn't make sense with output
stored in the same armv5te feed
* this makes different feed for each -mtune, but more generic one to be
selected with DEFAULTTUNE
* tune-iwmmxt and tune-ep9312 were already using this, just move it
bellow AVAILTUNES and use ARMPKGARCH_tune-foo syntax
* tune-cortexr4 and tune-cortexm3 are using armv7r/armv7m as ARMPKGARCH
because there isn't another tune to use the same -march
(From OE-Core rev: cffda9a821a3b83a8529d643c567859e091c6846)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
* this is mostly for backwards compatibility and to share binary feed
like it was before, but now without missing different -mtune in it
* if you want to build some package with -mtune add something like this
to your distro config
DEFAULTTUNE_qemuarm_pn-openssl = "arm926ejs"
DEFAULTTUNE_qemuarmx_pn-openssl = "xscale"
be aware that if you do this you should do it also for all packages
which depends on openssl because if you dont and you build e.g. dhcp,
then dhcp build for arm926ejs (even with DEFAULTTUNE armv5te) will
depend on openssl with arm926ejs, so dhcp in armv5te feed will be
rebuild after each MACHINE switch.
* cortexm3, cortexr4, iwmmx and ep9312 are using own DEFAULTTUNE because
they define also different -march
* shared feeds are
armv4t: arm920t, arm9tdmi
armv5te: arm926ejs, xscale
armv7a-neon: cortexa8, cortexa9
(From OE-Core rev: a11bdc36a1be18cc5aa14682b2a2c9ee83141f51)
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
GPU_MEM
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_mem_256 -GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by
the 512MB RP. Overrides gpu_mem. Max 192.
GPU_MEM_512
gpu_mem_512 -GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by
the 256MB RP. Overrides gpu_mem. Max 448.
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
if zenity --question --title="Pandoras Box has been opened." --text="Welcome!\n\nPandora's Box has been opened.\n\nThis wizard will help you setting up your new OpenPandora handheld before the first use.\n\nYou will be asked a few simple questions to personalise and configure your device.\n\nDo you want to set up your unit now or shut the unit down and do it later?" --ok-label="Start now" --cancel-label="Shutdown";then
# ----
# Reset ROOT's password to something random
# (I know the image build sets the password to something pusdo-random)
# (ok, urandom is not 100% secure but it's good enough for our needs)
use_swap=$(zenity --title="Enable swap?" --text "Swap partition found on SD card. Would you like to use it?\n\nWarning: This SD must remain in the system to use the swap." --list --radiolist --column " " --column "Answer" TRUE "Use swap on $swap_part" FALSE "Do not use swap")
if["$use_swap"="Use swap on $swap_part"];then
swapon $swap_part
echo"$swap_part none swap sw 0 0" >> /etc/fstab
fi
fi
# ----
# Setup the full name and username.
while ! name=$(zenity --title="Please enter your full name" --entry --text "Please enter your full name.")||["x$name"="x"];do
while ! username=$(zenity --title="Enter your username" --entry --text "Please choose a short username.\n\nIt should be all lowercase and contain only letters and numbers." --entry-text "$username_guess")||["x$username"="x"];do
while ! useradd -c "$name,,," -G adm,audio,video,netdev,wheel,plugdev,users "$username";do
username=$(zenity --title="Please check username" --entry --text "Please ensure that your username consists of only\nletters and numbers and is not already in use on the system." --entry-text "$username")
done
# ----
# Setup the users password.
password=""
while[ x$password= x ];do
password1=$(zenity --title=Password --entry --text="Please choose a new password." --hide-text)
password2=$(zenity --title=Confirm --entry --text="Confirm your new password." --hide-text)
if[$password1 !=$password2];then
zenity --title="Error" --error --text="The passwords do not match.\n\nPlease try again." --timeout 6
while ! hostname=$(zenity --title="Name your Pandora" --entry --text "Please choose a name for your OpenPandora.\n\nIt should only contain letters, numbers and dashes, no spaces." --entry-text "$username-openpandora")||["x$hostname"="x"];do
# Set the correct user for Autologin and enable / disable it.
if zenity --question --title="Autologin" --text="Do you wish to automatically login at startup?\n\nSecurity warning: This skips the password check on startup" --ok-label="Yes" --cancel-label="No";then
sed -i "s/.*default_user.*/default_user $username/g" /etc/slim.conf
sed -i 's/.*auto_login.*/auto_login yes/g' /etc/slim.conf
else
if zenity --question --title="User" --text="Do you wish to have your username automatically populated in the login screen?\n\nNote: This is ideal if you're the only user of the OpenPandora but wish to disable autologin and use a password." --ok-label="Yes" --cancel-label="No";then
sed -i "s/.*default_user.*/default_user $username/g" /etc/slim.conf
sed -i 's/.*auto_login.*/auto_login no/g' /etc/slim.conf
else
sed -i "s/.*default_user.*/default_user/g" /etc/slim.conf
sed -i 's/.*auto_login.*/auto_login no/g' /etc/slim.conf
fi
fi
# ----
# Select the default interface and setup SLiM to pass that as a sesion to ~./.xinitrc
sed -i "s/.*DEFAULT_SESSION=.*/DEFAULT_SESSION=$gui/g" /home/$username/.xinitrc
echo$selection selected as default interface
zenity --info --title="Selected session" --text "You selected $selection as default setting. You can always change your default GUI later." --timeout 6
else
sed -i 's/.*DEFAULT_SESSION=.*/DEFAULT_SESSION=startxfce4/g' /home/$username/.xinitrc
fi
# ----
# Set the timezone and date/time
while ! area=$(zenity --list --title "Select your time zone" --text="Please select your area" --column="Select your area" --print-column=1"Africa""America""Asia""Australia""Europe""Pacific" --width=500 --height=260)||["x$area"="x"];do
zenity --title="Error" --error --text="Please select your area." --timeout=6
done
while ! timezone=$(ls -1 /usr/share/zoneinfo/$area| zenity ---width=500 --height=200 --title="Select your closest location" --list --column "Closest Location" --text "Please select the location closest to you")||["x$timezone"="x"];do
zenity --title="Error" --error --text="Please select your location." --timeout=6
# Make sure we clean up any leading zeros in the day (as Zenity freaks out)
date_d=`date +%d | sed 's/^0//'`
date_m=`date +%m | sed 's/^0//'`
date_y=`date +%Y`
while ! date=$(zenity --calendar --text="Please select the current date" --title "Please select the current date" --day=$date_d --month=$date_m --year=$date_y --date-format="%Y%m%d" --width=500)||["x$date"="x"];do
zenity --title="Error" --error --text="Please select the date." --timeout 6
done
echo$date
time_h=`date +%H`
time_m=`date +%M`
while ! time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM):" --entry-text "$time_h:$time_m")||["x$time"="x"];do
zenity --title="Error" --error --text="Please input the time." --timeout 6
done
while ! date -d $time;do
time=$(zenity --title="Enter actual time" --entry --text "Please enter the time in 24hour format (HH:MM):" --entry-text "$time_h:$time_m")
done
date +%Y%m%d -s $date
date +%H:%M -s $time
# ----
# Finsh up and boot the system.
zenity --info --title="Finished" --text "This concludes the First Boot Wizard.\n\nYour chosen interface will start in a few seconds\n\nThankyou for buying the OpenPandora. Enjoy using the device!" --timeout 6
# ----
# Write the control file so this script is not run on next boot
# (hackish I know but I want the flexability to drop a new script in later esp. in the early firmwares).
touch /etc/rpi/first-boot
# Make the control file writeable by all to allow the user to delete to rerun the wizard on next boot.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.